データ構造について

Cycles のノードオプションにおいても、オブジェクトの親子関係や複製関係を意識しなければいけないものが出てきましたので、Blender の根本的なデータ構造について簡単に触れてみます。


Cube と Cube ?

Blender でファイルを新規に作成した直後に表示される直方体ですが、RMBで選択すると 3Dビューの左下に「(1) Cube」と表示されます (下図)。
BlendfileData_Cube_3dView.png
上図の「(1) Cube」とは「オブジェクト名 = Cube」と言うことを意味していますが、Blender の画面右上にある Outliner をよく見ると、下図の様に「Cube」の下にもうひとつ「Cube」があります。
BlendfileData_Cube1.png
また、Properties を見ると、Object タブでは下図左のように表示され、Data タブでは下図右の様に「Cube ▶ Cube」と表示されます。
BlendfileData_Cube_Object.pngBlendfileData_Cube_Data.png
この 2 つの「Cube」、同じ名前ですが、データ的にはまったく違うものなのです。Outliner でも、アイコンをよく見ると若干ですが違いがあります。
BlendfileData_Cube_Object_icon.pngBlendfileData_Cube_Data_icon.png
上の Outliner や Properties での表示は、「Cube という名前の Object で、Cube という名前の Mesh をリンク (使用) しています」という意味になります。

同じデータタイプで名前を重複することはできませんが、データタイプが異なれば同じ名前を付けることができます。例えば、ある Object を「Cube」にし、別の Object も「Cube」にしようとすると、自動的にどちらかが「Cube.001」といった感じになり、同じ名前を付けることはできません。しかし、Object と Mesh は、Blender のデータタイプ的には別物なので、同じ名前を付けることができてしまいます。また、オブジェクトを作成したとき、そのオブジェクトのタイプ応じた名前が自動的に付けられ、さらには Object でも Data でも同じ名前になるのでややこしいですが、このような構造をしていることを意識できれば直ぐに慣れてしまうと思います。


Object と Data

上で触れたように、Blender の大抵のオブジェクトが Object ▶ Data といった構成になっていて、どのようなもの (メッシュ/ランプ/カメラ...) がどのような形・値なのかを Data 情報として管理し、それをどこでどの向きに配置するかを Object 情報として管理しています。Data として定義されたデータを Object としてインスタンス配置する、といった感じですね。
また、Data がメッシュの場合は、各メッシュの色等の材質を設定するために Data に対して Material をリンクすることができ、その Data の配置位置を決める Constrains や、見せ方を決める Modifier を Object にリンクすることができます。
下図は、「Cube」に対して、Track To の Constrains と、Subsurf および Particles の Modifier を割り当てた状態の Outliner です。
BlendfileData_Cube2.png
ここを見ると、どの情報がどのデータにリンクされているかが、よく分かると思います。


Object と Data の編集

それぞれの情報を編集するには、やはりそれぞれ編集する場所が異なります。
Object は Properties > Object タブで、Data は Properties > Data タブで編集することができます。
ちなみに、Data タブは、Data のタイプによってアイコンが変わります。下図左から、Camera、Lamp、Mesh の時の Data タブのアイコンです。
BlendfileData_Properties-Camera.pngBlendfileData_Properties-Lamp.pngBlendfileData_Properties-Mesh.png
Object は 3D View の Object Mode でも編集でき、Data タイプが Mesh の場合は 3D View を Edite Mode にすることでメッシュの頂点等を編集することができます。
Cycles の場合、Material は、Properties > Material タブと、Node Editor で編集することができます。


データブロックについて

少し難しくなりますが、話ついでにデータブロックについて触れておきます。
上でも ObjectData はデータタイプが異なることを触れましたが、Blender のデータ構造におけるデータタイプにはその他にも色々あります。
まず、下図は、新規ファイルの「Cube」に対して Track To の Constrains と、Subsurf および Particles の Modifier を割り当て、Curve, Empty, Metaball, Text を追加した Outliner の状態です。
BlendfileData_Outliner.png
この状態のデータ構造を見てみると、下図の様になります。データ構成は、Outliner の Display Mode を Datablocks にすることで表示することができます。
BlendfileData1.pngBlendfileData2.png
左がたたんだ状態で、右が Cameras, Scenes, Objects, Materials, Meshes, Lamps, Curves, Metaballs, Worlds を開いた状態です。
シーン内の各オブジェクトは、すべてこのデータブロック内のどこかで管理されていることになります。




コメントを投稿するには画像の文字を半角数字で入力してください。


画像認証

  • 最終更新:2015-10-28 14:37:46

このWIKIを編集するにはパスワード入力が必要です

認証パスワード