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

メディア資産

MovieAssetManagerは、描画資産、カメラ、ライト、音声、タイムラインを管理します。Objectsのdrawから参照する主な資産形式は次のとおりです。

対応形式

資産拡張子
コスチュームsvgpngbmpjpgjpegjfifwebpgifexr
サウンドwavmp3oggogaflacaacm4a
フォントttfotfwoffwoff2
モデルglbpmxfbxobj
モーションvmdvpd
ビデオmp4webmogvmov

コスチュームグループは、複数のコスチュームをまとめて連番資産として扱います。モデルとモーションの処理はCameraと3D、描画入力はobjects_drawリファレンスを参照してください。

ビデオ

内部のvideo frame rateは30 fps固定です。フレームnのmedia timeは次の式で決まります。

(n - 1) / 30 秒

フレームは動画の長さに応じてクランプされ、末尾ではduration - 0.001秒を上限とします。受け付けたframe requestは順序を維持して処理し、連続したrequestを勝手にcollapseしません。

モード変更または対象削除時にはstale requestを無効化します。video bitmapの解像度は、ステージまたは書き出しサイズの最大2倍を基本上限とします。

ObjectsのvideoモードはMovieタイムラインに同期し、専用のvideo elementと音声再生を持ちます。

テキストとフォント

フォントはruntime font managerへ登録します。組み込みフォントはSans Serif、Serif、Monospaceです。

テキストは96 pxのcanvasに描画し、行間は約1.2倍、paddingは16 pxです。canvasの最大辺は4096 pxです。テキストcanvas cacheは最大128エントリ、または約16M pixelを上限とします。

未ロードフォントはバックグラウンドでロードし、ブロックprimitiveはロード完了までVMを待たせません。

キャッシュとエラー

モデル、ビデオ、テキストのqueueは対象ごとに直列化されます。decode完了後はgenerationと対象stateを検証し、古いrequestが新しいmaterialや描画状態を上書きしないようにします。

資産の読み込み失敗は、VMをPromise待ちにするのではなくMovieAssetManagerのrender error/diagnostics経路へ通知されます。