fc2ブログ

子に親のマテリアルを設定 ~簡単なpythonの活用~

 Blender2.55, python3.1使用

 オブジェクト同士にParent設定をした際に、マテリアルが同じであることは多くあると思います。
の数が多かったりすると後からマテリアル設定をするのは少し大変です。
 今回は簡単なpythonを使ってオブジェクトにオブジェクトのマテリアルを設定する方法を説明します。

python002.jpg

画像の様に適当なオブジェクトにParent設定をします。ちなみに、オブジェクトを複数選択して、Ctrl+Pを押すと最後に選択したオブジェクトをとしてParent設定が適用されます。

一番上の階層のCubeと二番目のSphere三番目のMonkeyに違うマテリアルを設定しておきました。

今回のpythonのスクリプトを下に示します。


import bpy

bpy.ops.object.select_grouped(extend=True, type='CHILDREN_RECURSIVE')
bpy.ops.object.material_slot_copy()


これだけです。
Blenderのテキストエディタに張り付けてください。
青いCubeを選択して Run Scriptを押すとオブジェクトが全て青色になります。
python003.jpg

Ctrl+Zで元に戻して、赤いSphereを選択して実行するとMonkeyとCubeだけが赤色になります。
python004.jpg

さてスクリプトの説明です。
一行目はBlender用のモジュールの読み込みです。

二行目は現在の選択オブジェクト(アクティブなオブジェクト)のオブジェクトをすべて選択します。
bpy.ops.object.select_groupedはアクティブなオブジェクトに対して、あるグループに属する全ての可視オブジェクトを選択します。
typeを変えることで色々な選択の仕方ができます。

type='CHILDREN':一つ下の階層のを選択
type='PARENT':を選択
type='SIBLINGS':兄弟(同じ階層)を選択
type='GROUP':グル―プが同じオブジェクトを選択
type='LAYER':同じレイヤーのオブジェクトを選択
type=’TYPE':同じタイプ(カメラなど)のオブジェクトを選択

他にも'HOOK’‘PASS’‘COLOR’‘PROPERTIES’等が使えます。

 Extendは選択を広げるか、つまり前もって選択していたオブジェクトを選択に含めるか除外するかどうかを決定します。Trueで選択に含めます。
 選択していたオブジェクトがtypeで示される選択範囲に含まれている場合はFalseにしていようとも選択に含められるようです。


三行目は選択しているオブジェクトに現在のアクティブオブジェクトのマテリアルを設定します。

以上で簡単にオブジェクトにオブジェクトの材質を設定する事が出来ました。


関連記事
関連するタグ Blender 2.55 python マテリアル 親 子 

コメントの投稿

非公開コメント

プロフィール

SilverspireCG

Author:SilverspireCG

最新記事
カテゴリ
【全記事一覧】

スポンサードリンク
最新コメント
最新トラックバック
月別アーカイブ
検索フォーム
スポンサードリンク
タグ一覧と検索
【全記事一覧】

LINEスタンプ発売中
Twitter
RSSリンクの表示
リンク
カウンター
累計訪問者人数:
現在の閲覧者数: