Japanese | English | Korean

Samples

シーングラフとは?

ここではシーングラフについて、その概念を簡単に解説します。

目次


1.シーングラフ

シーングラフとは、3D 空間に配置される各オブジェクトをツリー構造にまとめたものです。
MascotCapsule V4 においてモデルデータ、カメラ、ライトといった各種オブジェクトはシーングラフのノードとして扱われます。例えば M3G ファイルを M3GViewer で開くと、下の画像のように全てのデータがツリー構造として管理されているのが確認できます。




2.シーングラフのノード

シーングラフのノードになり得るクラスとして m3dMesh, m3dSprite3D, m3dCamera, m3dLight, m3dGroup 等があります。これらノードは全てm3dNodeクラスのサブクラスとして表現されています。
ノードは、以下のように3種類に分けて考えることができます。

m3dMesh とm3dSprite3D

幾何ノードと呼ばれ、図形として描画されるノードです。
m3dMesh はポリゴンメッシュで構成された3次元形状を表し、m3dSprite3D は3次元空間中の画像を表します。

m3dLight とm3dCamera

ユーティリティノードと呼ばれ、各幾何ノードの見え方に影響を与えるノードです。
m3dLightはワールドを照らす光源を、m3dCamera はワールドを見るカメラをそれぞれ表します。

m3dGroup と m3dWorld

他のノードをグループ化して扱うノードです。
m3dWorld は m3dGroup の派生クラスであり、ツリー構造のルートノードとしてシーングラフにただ一つ存在します。

m3dGroup ノードは、配下に他のノードを複数持つことができます。m3dGroup ノードに対する各種操作はその配下のノードにも適用され、複数のノードにまとめて同一の操作(座標変換、アニメーション時間の更新など)を行うことができます。
描画における各種属性は、各ノードの属性として管理されています。MascotCapsule V4 が提供する API を用いることでそれらの属性を変更し、描画を操作することができます。