夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

2024-01-01から1年間の記事一覧

WindowsPCにGitをインストールする

本日は昨日に引き続きPCのセットアップです。 私事ですが本日は引っ越し作業があり、また普段から使用しているデスクトップPCが引っ越しの影響か不調で、大変な一日でした。 ということで、今回は基礎的な内容でGitの導入についての内容になります。 〇Gitと…

Windows11でファイルエクスプローラーからファイルの拡張子を表示する設定を行う

本日はWindows枠です。 筆者は新生活に際してPCを新調しました。 またIT系で教える側としてのキャリアを進むこととなり、今回は基礎的な内容としてファイル拡張子を表示する設定を残します。 〇環境 Windows11 PC WindowsのバージョンによってはUIなどのレイ…

NVIDIA製のグラフィックボードのドライバーを更新する

本日はWindows枠です。 新生活に向けてPCを新調したのですが今回はGPUのグラフィックドライバーを更新します。 ゲーミングPCなどGPUを搭載したデバイスではゲームや3DCGなどのクリエイティブな作業やVR、AIなどの最新技術を使用するうえで欠かせないものと…

Realusion iCloneを試す その② CharactorCreatorからモデルをロードする + AccuLips

本日はRealusionのiCloneを触っていきます。 iCloneではキャラクターのアニメーションに特化したソフトウェアですが、今回はそのキャラクターをChacatorCreatorからインポートしていきます。 CharactorCreatorとiCloneは同じRealusionが開発しており、最初か…

レイトレーシングについて歴史を交えまとめる その3 アリゴリズム2 レイとオブジェクトの交差

今回はオブジェクトとの交差についてのアルゴリズムについてみていきます。 〇レイとオブジェクトの交差 レイとオブジェクトの交差とは視点から発射されたレイが3D空間内のどの物体と交差するかを判定するプロセスです。 レイが物体の表面に当たるかどうか…

レイトレーシングについて歴史を交えまとめる その2 アルゴリズム1 カメラ座標の定義とレイの生成

本日はグラフィック枠です 前回はレイトレーシングの歴史についてみていきました。 redhologerbera.hatenablog.com レイトレーシング自体は1986年のレイキャスティングのアイデアをベースとして1979年に初めての論文が登場しました。 レイトレーシング自体は…

Realusion iCloneを試す その① 概要と導入

本日は3Dモデリング枠です。 筆者は以前よりRealusionのCharactor Creator4を使用しています。 www.reallusion.com このソフトウェアは人物のモデリングに特化したソフトウェアであり、ベースモデルからモーフを弄ることで様々な人物を構築できるだけでなく…

BlenderPythonでメッシュをフォーマットを指定してエクスポートする

本日はBlender Python枠です。 BlenderではワールドメニューからGUIを使用してオブジェクトを他ツールで使用できるフォーマットでエクスポートすることができます。 今回はGLFT,OBJ,USDZの拡張子について、それぞれPythonスクリプトでのエクスポート方法を見…

レイトレーシングについて歴史を交えまとめる。 その①概要

本日はShader枠(どちらかというと)です。 本日は論文などを読みながらレイトレーシングについての理解を深めながら書置きの記事になります。 〇レイトレーシングとは? レイトレーシングはコンピュータグラフィックスのレンダリング技術の一つで、非常にリア…

Blenderでスラスターエフェクトを実装する

本日はBlender枠です。 筆者の個人的プロジェクトの中でオリジナルのガンダムアニメを作成するというのがありますが、今回はスラスターエフェクトを実装します。 今回は筆者がファンアートとして作成しているオリジナルの機体を使用します。 スラスターとは…

Pythonで現在のプロジェクトにあるライブラリがインストールされているかどうかを調べるPythonコード

本日はPython枠です。 現在少しづつblenderアドオンを開発していますが、外部ライブラリの扱いで難航しており、ソースコードを含め配付する形を検討しています。 対象のライブラリをバインドすることはできましたが、配付されているライブラリの依存関係も同…

Pythonで指定したパスに存在するファイルを一覧で返す

本日はPython枠です。 Pythonにかかわらず、プログラミングで他のディレクトリを参照する場合はパスのタイポなどにより正しくパスが参照できていないことがあります。 今回は指定したパスに存在するファイルを一覧でコンソールに返す簡単な実装を行います。 …

Blenderアドオン用に外部ライブラリをバンドルする

本日はBlender Python枠です。 BlenderではPythonを使用することでアドオンを作成し、機能を拡張することができます。 またアドオンは配布することも可能です。 配付する際に問題となるのが、外部ライブラリを使用している場合です。 ローカル環境ではpipコ…

Blenderでオブジェクトコンストレイントを使用してオブジェクトに追従する実装を行う

本日はBlender枠です。 Blenderでは非常に多くの機能がありますが、今回はその中でコンストレイントを使用して他のオブジェクトに追従する方法を見ていきます。 〇コンストレイントとは? コンストレイント(constraint)は制限問う意味です。 これはオブジェ…

Blenderのマテリアルでライトが当たっている部分を検出する

本日はBlender枠です。 Blenderのマテリアルでライトが当たっている部分を検出していきます。 〇ライトが当たっている部分を検出する実装 現在のBlender(4.x)ではライトが当たっている部分を検出するノードは存在しません。 しかしいくつかのテクニックを使…

Blendeでリムライトを実装する

本日はBlender枠です。 Blenderでリムライトを実装していきます。 〇リムライトとは? リムライトはあるオブジェクトに対してカメラ方向の背部から光が当たっている場合にオブジェクトのリム(淵)に光があふれる現象をさします。 例えば宇宙空間で撮影され…

MuseScore4で自作のプラグインを実行する

本日は普段と少し種子が異なりますが、Musescoreで自作のプラグインを実行してみます。 〇Musescoreとは? Musescoreは無料で使用できる作譜ソフトウェアです。 GitHubに最新のものを含めたソースコードが公開されており、実際のコードを確認することができ…

Blender公式のアドオン公開共有サイト Blender Extensions Platform を試す

本日はBlender枠です。 先日Blender Foundation(公式)はBlender Extensions Platformを公開しました。 これはBlender公式のアドオン公開共有サイトになりますが、現時点ではα版となっています。 今回はこちらを触っていきます。 〇既存のアドオン共有の方法 …

ゼロから始めるUnityShader開発 第五章 オブジェクトを回転させるシェーダー2 回転軸を変更する

本日はシェーダー枠です。 以前回転するシェーダーを書きました。 redhologerbera.hatenablog.com このシェーダーでは回転行列を使用して頂点シェーダー内でオブジェクトを構成する頂点を回転させました。 今回はこの回転軸を任意に変更可能にしていきます。…

Blenderでオブジェクトの座標で変化するマテリアルを作成する

本日はBlender枠です。 オブジェクトの座標基準で色などが変わるマテリアルを作成します。 Unityで以前ワールド座標の情報を使用したシェーダーを実装しました。 redhologerbera.hatenablog.com このような表現をBlenderのマテリアルでも行っていきます。 〇…

Blenderでマテリアルのパラメータにキーフレームアニメーションをつける

本日はBlender枠です。 Blenderではキーフレームを使用することでタイムライン上にアニメーションを登録することができます。 redhologerbera.hatenablog.com redhologerbera.hatenablog.com 今回はオブジェクトではなく、オブジェクトの持つパラメータとし…

ゼロから始めるUnityShader開発 第九章 シアリング行列

本日はCGを理解するにあたって重要な概念である行列についての勉強です。 コンピュータ内では多くのデータをテンソルであらわします。 テンソルとは、多次元配列を意味し、例えば画像データを見てみると、RGBAの四次元であらわされる色チャンネルの集まり(…

Blender Pythonで指定したオブジェクトを指定した座標に配置する

本日はBlender Python枠です。 本日はオブジェクト生成系のアドオンなどでよくみられるあるオブジェクトをある座標に配置(生成)することをPythonを使用して行っていきます。 〇オブジェクトを生成する UnityのC#などではInstanciate()などを使用して生成し…

USDZの規格について調べる

本日は3DCGのフォーマットについての記事になります。 3Dモデルのファイル拡張子のフォーマットには様々なものがありますが、多種ソフトウェア間で標準的に互換を持ってインポート、エクスポートができるものとしては,fbxや,obj、.glbなどがあります、 今回…

BlenderでPythonスクリプトでNゴンを検知する

本日はBlender Python枠です。 〇Nゴンとは? Nゴンはメッシュの形状を表す概念です。 通常ポリゴンモデルは3つの頂点から構成される面によって構成されます。 3つの頂点の場合はポリゴンと呼ばれますが、Blenderを含む一部のアプリケーションについては3つ…

Blender用のGIFメーカーアドオンを完成させる

本日はBlender枠です。 redhologerbera.hatenablog.com 以前作成したGIFメーカーのツールをアドオンとして登録できるようににします。 redhologerbera.hatenablog.com 〇アドオンとして登録できるようにする BlenderではScriptエディタを使用することでPytho…

行列を理解する その② 行列の回転 回転行列

本日は昨日に引き続きCGを理解するにあたって重要な概念である行列についての勉強です。 コンピュータ内では多くのデータをテンソルであらわします。 テンソルとは、多次元配列を意味し、例えば画像データを見てみると、RGBAの四次元であらわされる色チャン…

行列を理解する その①  ベクトル、行列、テンソルの違い 行列の加算

本日はいつもと趣旨を変えて数学についての記事です。 3Dグラフィックスでは、座標変換の処理で行列が一般的に使用されます。 今まで回転行列、平行移動行列、スケーリング行列についてみていきました。 しかしながら筆者自身が行列についての基礎を完全に…

ゼロから始めるUnityShader開発 第九章 スケーリング行列

本日はシェーダー枠です。 前回は平行移動行列を見ていきました。 平行移動行列は座標変換において使用される行列で、イメージとしてはワールド座標系に位置するあるオブジェクトの子オブジェクトを移動させる際などに使用される行列です。 3Dグラフィック…

ゼロから始めるUnityShader開発 第九章 平行移動行列

今回はシェーダー枠です。 前回は回転行列についてみていきました。 redhologerbera.hatenablog.com 回転行列は座標返還で使用されます。 3DCGの世界ではローカル座標、多くの物体に対してトランスフォームというプロパティが存在します。 ワールド座標とは…