2024-01-01から1年間の記事一覧
本日は昨日に引き続きPCのセットアップです。 私事ですが本日は引っ越し作業があり、また普段から使用しているデスクトップPCが引っ越しの影響か不調で、大変な一日でした。 ということで、今回は基礎的な内容でGitの導入についての内容になります。 〇Gitと…
本日はWindows枠です。 筆者は新生活に際してPCを新調しました。 またIT系で教える側としてのキャリアを進むこととなり、今回は基礎的な内容としてファイル拡張子を表示する設定を残します。 〇環境 Windows11 PC WindowsのバージョンによってはUIなどのレイ…
本日はWindows枠です。 新生活に向けてPCを新調したのですが今回はGPUのグラフィックドライバーを更新します。 ゲーミングPCなどGPUを搭載したデバイスではゲームや3DCGなどのクリエイティブな作業やVR、AIなどの最新技術を使用するうえで欠かせないものと…
本日はRealusionのiCloneを触っていきます。 iCloneではキャラクターのアニメーションに特化したソフトウェアですが、今回はそのキャラクターをChacatorCreatorからインポートしていきます。 CharactorCreatorとiCloneは同じRealusionが開発しており、最初か…
今回はオブジェクトとの交差についてのアルゴリズムについてみていきます。 〇レイとオブジェクトの交差 レイとオブジェクトの交差とは視点から発射されたレイが3D空間内のどの物体と交差するかを判定するプロセスです。 レイが物体の表面に当たるかどうか…
本日はグラフィック枠です 前回はレイトレーシングの歴史についてみていきました。 redhologerbera.hatenablog.com レイトレーシング自体は1986年のレイキャスティングのアイデアをベースとして1979年に初めての論文が登場しました。 レイトレーシング自体は…
本日は3Dモデリング枠です。 筆者は以前よりRealusionのCharactor Creator4を使用しています。 www.reallusion.com このソフトウェアは人物のモデリングに特化したソフトウェアであり、ベースモデルからモーフを弄ることで様々な人物を構築できるだけでなく…
本日はBlender Python枠です。 BlenderではワールドメニューからGUIを使用してオブジェクトを他ツールで使用できるフォーマットでエクスポートすることができます。 今回はGLFT,OBJ,USDZの拡張子について、それぞれPythonスクリプトでのエクスポート方法を見…
本日はShader枠(どちらかというと)です。 本日は論文などを読みながらレイトレーシングについての理解を深めながら書置きの記事になります。 〇レイトレーシングとは? レイトレーシングはコンピュータグラフィックスのレンダリング技術の一つで、非常にリア…
本日はBlender枠です。 筆者の個人的プロジェクトの中でオリジナルのガンダムアニメを作成するというのがありますが、今回はスラスターエフェクトを実装します。 今回は筆者がファンアートとして作成しているオリジナルの機体を使用します。 スラスターとは…
本日はPython枠です。 現在少しづつblenderアドオンを開発していますが、外部ライブラリの扱いで難航しており、ソースコードを含め配付する形を検討しています。 対象のライブラリをバインドすることはできましたが、配付されているライブラリの依存関係も同…
本日はPython枠です。 Pythonにかかわらず、プログラミングで他のディレクトリを参照する場合はパスのタイポなどにより正しくパスが参照できていないことがあります。 今回は指定したパスに存在するファイルを一覧でコンソールに返す簡単な実装を行います。 …
本日はBlender Python枠です。 BlenderではPythonを使用することでアドオンを作成し、機能を拡張することができます。 またアドオンは配布することも可能です。 配付する際に問題となるのが、外部ライブラリを使用している場合です。 ローカル環境ではpipコ…
本日はBlender枠です。 Blenderでは非常に多くの機能がありますが、今回はその中でコンストレイントを使用して他のオブジェクトに追従する方法を見ていきます。 〇コンストレイントとは? コンストレイント(constraint)は制限問う意味です。 これはオブジェ…
本日はBlender枠です。 Blenderのマテリアルでライトが当たっている部分を検出していきます。 〇ライトが当たっている部分を検出する実装 現在のBlender(4.x)ではライトが当たっている部分を検出するノードは存在しません。 しかしいくつかのテクニックを使…
本日はBlender枠です。 Blenderでリムライトを実装していきます。 〇リムライトとは? リムライトはあるオブジェクトに対してカメラ方向の背部から光が当たっている場合にオブジェクトのリム(淵)に光があふれる現象をさします。 例えば宇宙空間で撮影され…
本日は普段と少し種子が異なりますが、Musescoreで自作のプラグインを実行してみます。 〇Musescoreとは? Musescoreは無料で使用できる作譜ソフトウェアです。 GitHubに最新のものを含めたソースコードが公開されており、実際のコードを確認することができ…
本日はBlender枠です。 先日Blender Foundation(公式)はBlender Extensions Platformを公開しました。 これはBlender公式のアドオン公開共有サイトになりますが、現時点ではα版となっています。 今回はこちらを触っていきます。 〇既存のアドオン共有の方法 …
本日はシェーダー枠です。 以前回転するシェーダーを書きました。 redhologerbera.hatenablog.com このシェーダーでは回転行列を使用して頂点シェーダー内でオブジェクトを構成する頂点を回転させました。 今回はこの回転軸を任意に変更可能にしていきます。…
本日はBlender枠です。 オブジェクトの座標基準で色などが変わるマテリアルを作成します。 Unityで以前ワールド座標の情報を使用したシェーダーを実装しました。 redhologerbera.hatenablog.com このような表現をBlenderのマテリアルでも行っていきます。 〇…
本日はBlender枠です。 Blenderではキーフレームを使用することでタイムライン上にアニメーションを登録することができます。 redhologerbera.hatenablog.com redhologerbera.hatenablog.com 今回はオブジェクトではなく、オブジェクトの持つパラメータとし…
本日はCGを理解するにあたって重要な概念である行列についての勉強です。 コンピュータ内では多くのデータをテンソルであらわします。 テンソルとは、多次元配列を意味し、例えば画像データを見てみると、RGBAの四次元であらわされる色チャンネルの集まり(…
本日はBlender Python枠です。 本日はオブジェクト生成系のアドオンなどでよくみられるあるオブジェクトをある座標に配置(生成)することをPythonを使用して行っていきます。 〇オブジェクトを生成する UnityのC#などではInstanciate()などを使用して生成し…
本日は3DCGのフォーマットについての記事になります。 3Dモデルのファイル拡張子のフォーマットには様々なものがありますが、多種ソフトウェア間で標準的に互換を持ってインポート、エクスポートができるものとしては,fbxや,obj、.glbなどがあります、 今回…
本日はBlender Python枠です。 〇Nゴンとは? Nゴンはメッシュの形状を表す概念です。 通常ポリゴンモデルは3つの頂点から構成される面によって構成されます。 3つの頂点の場合はポリゴンと呼ばれますが、Blenderを含む一部のアプリケーションについては3つ…
本日はBlender枠です。 redhologerbera.hatenablog.com 以前作成したGIFメーカーのツールをアドオンとして登録できるようににします。 redhologerbera.hatenablog.com 〇アドオンとして登録できるようにする BlenderではScriptエディタを使用することでPytho…
本日は昨日に引き続きCGを理解するにあたって重要な概念である行列についての勉強です。 コンピュータ内では多くのデータをテンソルであらわします。 テンソルとは、多次元配列を意味し、例えば画像データを見てみると、RGBAの四次元であらわされる色チャン…
本日はいつもと趣旨を変えて数学についての記事です。 3Dグラフィックスでは、座標変換の処理で行列が一般的に使用されます。 今まで回転行列、平行移動行列、スケーリング行列についてみていきました。 しかしながら筆者自身が行列についての基礎を完全に…
本日はシェーダー枠です。 前回は平行移動行列を見ていきました。 平行移動行列は座標変換において使用される行列で、イメージとしてはワールド座標系に位置するあるオブジェクトの子オブジェクトを移動させる際などに使用される行列です。 3Dグラフィック…
今回はシェーダー枠です。 前回は回転行列についてみていきました。 redhologerbera.hatenablog.com 回転行列は座標返還で使用されます。 3DCGの世界ではローカル座標、多くの物体に対してトランスフォームというプロパティが存在します。 ワールド座標とは…