グループ・変形・合成
Objectsでは、描画ブロックを単純に並べるだけでなく、サブスタックを単位に描画状態を組み立てられます。各構造はframe graphへノードとして収集され、親子関係と順序を保持します。
objects_grouping
objects_groupingの子ブロックは、現在のフレームにおける1つのgrouping/effects単位として収集されます。グループ単 位で変形やPenFXの処理を適用するための境界になります。
objects_transform
objects_transformは、位置、アンカー、回転、スケールをサブスタックへ適用します。ネストした場合、変形は親から子へ累積します。子のDrawが持つ位置や回転は、親の変換後の状態として評価されます。
ObjectsのDrawが受け取るワールド位置、回転角、XYZスケール、サイズ、平面の幅・高さはobjects_drawリファレンスを参照してください。
objects_composite
objects_compositeはサブスタックの不透明度とブレンドモードを指定します。不透明度は入力の0〜100%を0〜1へ変換して扱います。
現行のブレンドモードは次のとおりです。
normal
add
mul
screen
overlay
darken
lighten
color dodge
ブレンドやPenFXがgroupingの内部に置かれた場合も、frame graph上の位置を保ったまま実行されます。処理順が意味を持つため、異なる位置へ移動すると結果が変わることがあります。
objects_scene
objects_sceneは子ObjectsをThree.jsの1つのシーンへ集約します。共有深度バッファによって、複数のモデルやオブジェクトの前後関係を同じ3D空間で決めます。
Scene外の通常DrawはScratch/Penの2D経路です。Sceneノードへ入れる範囲を変えると、深度処理の対象も変わります。
カメラのスナップショット
Draw/Sceneノードは、ノードが収集された時点のカメラをスナップショットします。後続のカメラ変更が過去の描画ノードへ反映されないため、同じフレーム内でカメラを複数回変更しても、各ノードの評価順を保てます。
旧構造との区別
objects_group、objects_matte、objects_renderPass、objects_drawPass、objects_clearPassなどの旧構造ブロックは、現在のツールボックスに表示されるgrouping/composite/sceneとは別の互換性専用機能です。