記事一覧
.envに環境変数名を書きたかった話
python-dotenvPythonには外部定義された環境変数をプロセスの実行時に設定するパッケージ「python-dotenv」があります。一般的にはPythonのソース・コードと同じディレクトリに.envファイルを用意し、そこへ環境変数の定義を列挙していくことができる便利なパッケージです。
たとえば次のように環境変数を.envファイルへ定義できます。
HOGE=C:\temp\hogeP
アーマチュアを調べる
Blenderにはアーマチュア(Armature、骨組み)という仕組みがあって、このアーマチュアをメッシュ・オブジェクトへ紐づけることで、メッシュ・オブジェクトにポーズ(Pose、姿勢)を取らせることができるようだ。
アーマチュア・オブジェクトは、ボーン(Bone、骨)を繋げていって構成されるスケルトン(Skeleton、骨格)と、姿勢を包含している。
もちろんオブジェクト・データなので、メッ
ノード・リンクを調べる
ノード・データにはソケットがあって、ソケット同士をリンク(Link、あるものと別のものを繋ぐこと)すれば、ノード内で加工した結果を次のノードへ引き継ぐことができる。
ノードを繋いでいって、加工を加え、最終的な結果をメッシュ・データの表面へ反映できるようにする、というのが、マテリアルの役目なのだろうと思う。
ノード・リンクへのアクセスノード・リンクへのアクセス方法は2種類あるようだ。ひとつはノー
ノード・データを調べる
Shading画面へ切り替えてマテリアル・ノードを編集しながら、各ノードへアクセスしてデータ構造を調べてみた。
Addドロップ・ダウン・リストをクリックすると、ノード・データのカテゴリが一覧表示される。表示されるカテゴリは次の通り。
細かい一覧をここに記載するのは省くけど、数えてみると100種類のノード・データが存在している、ということがわかった。これはとてつもない数で、ひと通り憶えるだけで
マテリアル・ノードを調べる
マテリアルは、デフォルトではノードを繋げて利用するけど、ノードを繋がなくても利用できる。
ノードを繋がない場合でも色などをつけることができる。これをマテリアル・カラーと呼ぶ人もいるようだ。
マテリアル・カラーは、マテリアル自身が保持しているパラメータによって、フェイスに色をつけたりすることができるようになっている。
まずは、このマテリアル・カラーから調べてみた。
マテリアル・カラーへのアク
シェイプ・キーを調べる
シェイプ・キーを設定すると、頂点移動によりメッシュを段階的に変形することができるので、キャラクタに表情をつけたりするようなこともできる。
シェイプ・キーは別名をメッシュ・モーフィングの呼ぶことがあるらしい。画像処理では、ある形状から別の形状へ、連続的に、滑らかに変形させることをモーフィングと呼ぶけれど、これをメッシュで行うためのようだ。
シェイプ・キーへのアクセスまずは適当にシェイプ・キーを設
頂点グループを調べる
オブジェクト・プロパティ画面でVertex ColorsコレクションとUV Mapsコレクションをいじってみたので、この流れでVertex Groupsコレクションを調査してみた。
頂点グループBlenderでは任意の頂点に名前をつけて管理することができる。この頂点の集まりをひとつのグループと見なして、頂点グループと呼んでいるようだ。
頂点グループはエディット・モードで頂点を選択し、オブジェク
Blenderの便利な機能(追加分)
Blenderをいじっていたら、データ構造を調べるのに役立つ画面を見つけることができたのでメモ。
Data APIすべてのオブジェクトにどんなプロパティ値が設定されているのかを俯瞰することができるData APIサブ画面というものを見つけた。
まずはアウトライナー画面へ切り替える。
次にサブ画面のData APIを選択する。
そうすると、すべてのプロパティがツリー表示されるようになるので、
テクスチャUVを調べる
メッシュに色をつける方法は、頂点カラーのほか、テクスチャを貼りつけるという方法がある。テクスチャの実体はピクセル・アレイ(Array、配列)で、普段扱っている画像ファイルの中身とほぼイコールだと考えて差し支えはないと思う。
フェイスごとにテクスチャの領域を指定すると、テクスチャに描かれている絵がフェイスへ貼りつけられてメッシュが描画される。テクスチャのどの領域をどのフェイスに割り当てていくのかを
メッシュ・データを調べる
メッシュのデータ構造メッシュは突き詰めれば点の集まりで、点と点を結んで線を作り、線と線を結んで面を作る。点は頂点、線はエッジ、面はフェイスと呼ばれる。呼び名が和洋でちゃんぽんなのが日本らしいけど、慣例にしたがってその様に呼ぶ。
Blenderでは頂点の集まりをverticesプロパティで表現し、エッジの集まりをedgesプロパティ、フェイスの集まりをpolygonsプロパティで表現している。Po