思いつくままを綴る雑記帳

Blender Tips (Texture)

BlenderでMeshにTextureを貼り付ける場合、幾つか方法があるのは知ってるとは思いますが・・・。
猫さんは大抵はMeshのEdgeにSeamを切って、UV Mappingしてますが・・・。
これってデータ管理上は、Mesh>Material管理ということになります。
これとは別の物もあります。
Mesh管理のTextureになるのかな・・・。
あくまでもBlender Pythonのデータ構造の話ですが・・・。
Pythonの構造的には以下のように・・・。
最初の方で言うと
Mesh>Materials>active_texture
後の方は
Mesh>uv_textures

但し、これらを同時には使えないので・・・ご注意を・・。
では、Mesh>uv_texturesの方はどう使うのよという話ですが・・。
簡単な方法としてはEdit modeでそのTextureを割り当てたいFaceのみ選択状態にしたMeshに(Object modeでも可)TextureをD&Dするだけ。
もしくは、そのImage Editor画面でそのTextureにUV展開するだけ。
3DView上はそのTextureが見えると思いますがレンダリングすると描画されないので、幾つか設定します。
まず、Materialを生成してoptionsセクションのFace TexturesのチェックをONにします。
これでレンダリングイメージにも反映されます。
tx1.png
こんな感じ・・・。
tx2.png
これはFace毎に割付されているのでFace毎にUV Ilandを移動/回転/拡大・縮小したり出来ます。
tx3.png
tx4.png
但し、割り当てたのを削除したりする場合Image Editorで行うしか方法はないのかも・・・。
Edit modeで割り当てを削除したいFaceを選択して、該当TextureがImage Editorで表示されている時にTextureをUnlinkすれば割り当ては削除されます。
Textureの名前の右の方の×ね・・・。

あ、ちなみに・・・3DView内にTextureをD&Dすると背景として登録されます。
TextureのD&Dって結構以前の版からサポートされてるんだよね・・・。
スポンサーサイト

Blender Tips (Custom Propertiesについて)

いつもお世話になっている某サイトで今日質問があった事について少し書き残しておこうと思う。
猫さんは今までCustom Propertiesは全然使ってこなかったんだけど・・・。
ObjectタブやMeshタブとかに付いてる奴だよね。
これって、要するにそのPythonオブジェクトに対するユーザー辞書なんだよね・・・。
例えばPlaneというObjectを生成すると、Pythonデータとしてbpy.data.objects['Plane']が生成される。
pl = bpy.data.objects['Plane']
pl['PlaneValue'] = 10
pl['PlaneDescription'] = 'This is Plane.'
と、Python consoleで入力すると・・・・。
PlaneオブジェクトのObjectタブのCustom propertiesに'PlaneValue'と'PlaneDescription'というCustom propertiesが追加されているのが分かります。
BlenderのUIからCustom propertiesに追加すると通常は数値入力形式で表示されるんだけど、property valueの所に文字列を入力してやるとちゃんと文字形式になります。
ちなみに、こんな風に書くと・・・。
pl['array'] = ['aaa', 'bbb', 'ccc']
UI上でも値として3Itemsと表示されていて、EDITすると入力した値が入っています。