Tags - Hirai0827/Dynamis GitHub Wiki
Dynamisではタグを使用してSDFを構成していきます。
レンダリングに不可欠なノードです。
レンダリングを開始するコンポーネントです。XMLの一番外側に必ず一つだけ配置されている必要があります。
パラメータ名 | 説明 | 例 | デフォルト値 |
---|---|---|---|
camX | カメラのX座標 | camX="0.5" | 0.0 |
camY | カメラのY座標 | camY="sin(iTime)" | 0.0 |
camZ | カメラのZ座標 | camZ="0.5 + iTime" | -1.5 |
colX | ピクセルの色(赤) | colX="0.5" | (1.0 - dot(n,r) * dot(n,r))/(1.0 + d * d * 0.1) |
colY | ピクセルの色(緑) | colY="1.0/(1.0 + d * d * 0.1)" | (1.0 - dot(n,r) * dot(n,r))/(1.0 + d * d * 0.1) |
colZ | ピクセルの色(青) | colZ="(1.0 - dot(n,r) * dot(n,r))/(1.0 + d * d * 0.1)" | (1.0 - dot(n,r) * dot(n,r))/(1.0 + d * d * 0.1) |
iter | レイの伸長回数(定数のみ指定可能) | iter="256" | 128 |
weight | 距離関数にかかる倍率 | weight="0.25" | 0.5 |
形を生成するためのノードです。空タグ(</ hoge>
)として表現され、タグを子として持つことはできません。
球体を生成するノードです。
パラメータ名 | 説明 | 例 | デフォルト値 |
---|---|---|---|
radius | 球体の半径 | radius="0.5" | 0.5 |
<render>
<sphere/>
</render>
3次元の直方体を生成するノードです。
パラメータ名 | 説明 | 例 | デフォルト値 |
---|---|---|---|
x | x方向の長さ | x="0.5" | 1.0 |
y | y方向の長さ | y="0.5" | 1.0 |
z | z方向の長さ | z="0.5" | 1.0 |
<render>
<rot axis="y" angle="0.7">
<box x="1.0" y="0.6" z="0.6"/>
</rot>
</render>
円柱あるいは四角柱を生成するノードです。
パラメータ名 | 説明 | 例 | デフォルト値 |
---|---|---|---|
axis | 高さ方向の軸(x,y,z) | axis="x" | x |
radius | 球体の半径/四角柱の一辺 | radius="0.5" | 0.5 |
<render>
<translate x = "0.2" y="-0.2">
<pillar axis="x" radius="0.05"/>
<pillar axis="y" radius="0.05"/>
<pillar axis="z" radius="0.05"/>
</translate>
</render>
トーラス(ドーナツ型)を生成するノードです。
パラメータ名 | 説明 | 例 | デフォルト値 |
---|---|---|---|
axis | トーラスの方向(穴の開いている向き) | radius="y" | x |
radius | トーラスの大半径 | radius="0.5" | 0.5 |
width | トーラスの小半径 | width="0.5" | 0.1 |
<render>
<translate y="-0.25">
<donut axis="x"/>
<donut axis="y" radius="1."/>
<donut axis="z" radius="1.5"/>
</translate>
</render>
座標系を操作するためのノードです。開始タグ、終了タグのペアとして表現されます。子として内部に記述されたタグ全てに変形操作を適用します。
指定された量だけオブジェクト群を平行移動させるノードです。
パラメータ名 | 説明 | 例 | デフォルト値 |
---|---|---|---|
x | xへの移動成分 | x="0.5" | 0.0 |
y | yへの移動成分 | y="0.5" | 0.0 |
z | zへの移動成分 | z="0.5" | 0.0 |
指定された量だけオブジェクト群を回転させるノードです。
パラメータ名 | 説明 | 例 | デフォルト値 |
---|---|---|---|
axis | 回転の軸 | axis="x" | x |
angle | 回転の量(rad) | angle="3.14" | 0.0 |
指定された量だけオブジェクトを拡大、縮小させるノードです。
パラメータ名 | 説明 | 例 | デフォルト値 |
---|---|---|---|
x | xの拡大率(1.0で等倍) | x="0.5" | 1.0 |
y | yの拡大率(1.0で等倍) | y="2.0" | 1.0 |
z | zの拡大率(1.0で等倍) | z="sin(iTime)" | 1.0 |
指定された軸と比例するようにオブジェクトを「捻る」ノードです。
パラメータ名 | 説明 | 例 | デフォルト値 |
---|---|---|---|
axis | 捻り操作の軸 | axis="x" | x |
weight | 捻り操作の大きさ。実際の捻り量は(axis × weight)となる(rad) | weight="sin(iTime)" | 1.0 |
座標系を繰り返させるノードです。
パラメータ名 | 説明 | 例 | デフォルト値 |
---|---|---|---|
size | 繰り返し単位の大きさ | size="1.5" | 1.0 |
x(option) | x軸方向の繰り返し単位の大きさ | x="1.5" | 1.0 |
y(option) | y軸方向の繰り返し単位の大きさ | y="1.5" | 1.0 |
z(option) | z軸方向の繰り返し単位の大きさ | z="2.5" | 1.0 |
<render>
<fract>
<box x="0.2" y="0.2" z="0.2"/>
</fract>
</render>
size
とx
などが同時に定義されている場合、size
が優先されます。
座標系を鏡写しにするノードです。
パラメータ名 | 説明 | 例 | デフォルト値 |
---|---|---|---|
axis | 対称面("x","y","z","xyz") | axis="xyz" | x |
<render>
<abs axis="x">
<translate x="0.5" y="0.0" z="0.2">
<sphere radius="0.3"/>
</translate>
</abs>
</render>
<render>
<rot axis="y" angle="0.8">
<abs axis="xyz">
<translate x="0.2" y="0.2" z="0.2">
<donut axis="z"/>
</translate>
</abs>
</rot>
</render>
タグの外側で記述されたオブジェクトからタグの内側で記述された形状を切り抜くノードです。
<render>
<rot axis="y" angle="time * 1.0">
<box/>
<minus>
<translate x="0.5" y="0.5" z="0.5">
<box/>
</translate>
</minus>
</rot>
</render>