2012年3月1日木曜日

COLLADA (4)シーングラフ

<scene>
 <instance_physics_scene>
 <instance_visual_scene>
 <instance_kinematics_scene>
 <extra>

<instance_visual_scene>
 sid(optional)
 name(optional)
 url
 <extra>
 
<library_visual_scenes>
 id(optional)
 name(optional)
 <asset>
 <visual_scenes>
 <extra>
 
<visual_scene>
 id(optional)
 name(optional)
 <asset>
 <node>
 <evaluate_scene>
 <extra>
 
<node>
 id(optinal)
 name(optinal)
 sid(optinal)
 type(optinal)
 layer
 <asset> 
 transformation_elements
  <Lookat>
  <matrix>
  <rotate>
  <scale>
  <skew>
  <translate>
 <instance_camera>
 <instance_controller>
 <instance_geometry>
 <instance_light>
 <instance_node>
 <node>
 <extra>
 
<library_nodes>
 id(optinal)
 name(optinal)
 <asset>
 <node>
 <extra>


モデルを抜き出すのに必要な箇所だけマーク。
<extra>は実質アプリケーション次第なので無視。
<asset>はこれといって重要なケースが今のところ見つからないので無視。
(optinal)も一部を除いて実質無視。
 

シーングラフの辿り方
(1) <scene>→<instance_visual_scene>::url
(2) <visual_scene>
(3) <node>

階層構造
root:<visual_scene>
他は<node>を入れ子とした親子関係


<node>自体は特に問題ないが<instance_node>に注意。
多分1以上存在していれば<library_nodes>が出現するはず。
エイリアスとなるので生成、破棄はNG。


レイヤー構造
<node>::layer
ケース1:"" ... 空(無所属)
ケース2:"hoge" ... 1グループ(hoge所属)
ケース3:"hoge foo" ... 複数グループ(hogeとfoo所属)

モデラなら必須だが。

その他 
<node>::type
デフォルトは空="NODE"
それ以外は"JOINT"
まだ見てないがスキン関連か?

0 件のコメント :

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。