メインコンテンツまでスキップ

Objectsの基本

Objectsは、タイムライン上の現在時刻に応じて、コスチューム、コスチュームグループ、動画、テキスト、モデルを描画するカテゴリです。Objectsの描画結果はPenフレームへ合成され、通常の2D描画とThree.jsによる3Dシーンを同じフレーム内で扱えます。

現行ブロック

描画と構造

Opcode役割
objects_drawコスチューム、コスチュームグループ、動画、テキスト、モデルを描画
objects_groupingサブスタックを1つのgrouping/effects単位として評価
objects_transform位置、アンカー、回転、XYZスケールをサブスタックへ適用
objects_composite不透明度とブレンドモードをサブスタックへ適用
objects_scene子Objectsを同じ3Dシーンと深度バッファで評価

時間と補間

Opcode役割
objects_timeWithin現在時刻が指定範囲内かを返す
objects_timelineTimeMovieタイムラインの現在時刻を秒で返す
objects_keyframeTime1始まりのキーフレーム番号から時刻を返す
objects_leftKeyframeTime2つのキーフレーム時刻の早い方を返す
objects_posterizeTime時間を指定FPSの刻みに量子化して返す
objects_interpolateColor2色を時間範囲とeasingで補間
objects_passパス文字列を評価し、指定時刻のx/y成分を返す

ライト

Opcode役割
looks_clearlightユーザー定義ライトをすべて消去
looks_addpointlight点光源を追加
looks_addlightスポット光源を追加

ライトの3つのopcodeは旧IDのままですが、現在はObjectsカテゴリに表示される現行機能です。

描画経路

通常のコスチューム、テキスト、動画はScratchのdrawable/Pen経路を利用します。objects_sceneの中にあるObjectsは、Three.jsの1つの3Dシーンとしてまとめられ、共有された深度バッファで前後関係を決めます。

通常のDrawノードは既存の2D/Penの色と画面座標の意味を維持します。Objectsの描画結果は最終的にPen stampとして合成されます。

カメラはDraw/Sceneノードにスナップショットされます。同じフレームの後続処理でカメラが変更されても、すでに収集された描画結果は変更されません。

Objectsを読むときの境界

Objectsの現在の描画入口はobjects_drawです。旧Movieにあったobjects_shapeobjects_arcobjects_circularSegmentobjects_lineなどの手続き型描画ブロックは、旧プロジェクト互換性のために残る機能で、現行カテゴリには表示されません。

入力の正確な既定値と時間範囲の扱いはobjects_drawリファレンスを、グループの累積規則はグループ・変形・合成を参照してください。