描画対象とシーン
Objectsの描画対象は、画像だけに限定されません。objects_drawのSOURCEで素材の種類を選び、同じ描画入口から2D素材と3Dモデルを扱います。
2Dと時間ベースの素材
costumeは1枚のコスチュームを描画します。costume-groupはコスチュームグループを連番とし て扱います。videoはフレーム列再生、またはMovieタイムラインに同期した再生を行います。textは登録済みフォントで文字列を描画します。
通常のコスチューム、テキスト、動画はScratchのdrawable/Pen経路を利用します。動画は内部的に30 fpsのフレーム列として扱われ、詳細なフレーム時刻の規則は素材とプロジェクトにまとめています。
3Dモデル
modelを選ぶと、Three.jsのモデルシーンへ描画されます。入力可能なモデル形式はglb、pmx、fbx、objです。OBJは対応するMTLとテクスチャを同時に扱い、PMXはモデルフォルダのテクスチャを解決します。読み込み後は内部で統一されたGLB資産として保持されます。
モーションはvmdとvpdに対応します。VMDはリグ/ボーンを持つモデルに対して30 fpsで再サンプリングし、VPDは1フレームのポーズとして扱います。objects_drawのFRAMEはモデルアニメーションのフレーム番号です。
モデルは表示用に中心位置を正規化し、最大寸法を基準サイズへ合わせます。GPUオブジェクトはasset ID単位でキャッシュされ、削除または置換時に破棄されます。
objects_scene
objects_sceneの子Objectsは、1つのThree.jsシーンと共有された深度バッファで評価されます。複数のモデルやObjectsを、カメラから見た前後関係を含めてまとめたい場合に使います。
Sceneの外にある通常のDrawは、既存のScratch/Pen経路で描画されます。Sceneの内外をまたいで見た目の前後関係を作る場合は、各Drawがどの経路に属するかを確認してください。
カメラ状態はDraw/Sceneノードへスナップショットされるため、同じフレームの後続ブロックでカメラを変更しても、それ以前に収集されたノードのカメラは変わりません。
現行機能と旧ブロック
現在の手続き型図形ブロックはobjects_drawの現行入口ではありません。objects_shape、objects_arc、objects_circularSegment、objects_lineなどは、旧プロジェクトの互換性を保つために登録される場合がありますが、現在のツールボックスに表示されるObjects機能には含めません。