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

リソース

リソースとは、一度アップロードまたは作成して、いろいろな場所で使うもののことです。モデル、画像、サウンド、スクリプトなどがあります。ここでは、フォルダーとパスのしくみと、オブジェクトがリソースをどう使うかを説明します。

リソース使い道
モデル3D オブジェクト
画像テクスチャ、またはインターフェースのカードに載せる画像
動画動画を映す面、またはカード
音声音源、またはスクリプトから 1 回だけ鳴らす音
フォントテキスト
マテリアル複数のオブジェクトで使い回すマテリアル
ジオメトリ複数のオブジェクトで使い回す形
プレハブ何度でも追加できる、保存したオブジェクトのまとまり
スプラットガウシアンスプラットで撮影したデータ
カードインターフェースのレイアウト
パッチ使い回して呼び出せるビジュアルなグラフ
スクリプトTypeScript で書いた振る舞い

フォルダーとパス​

リソースは、パソコンのファイルと同じようにフォルダーに入っています。パスは、フォルダー名とリソース名をスラッシュでつないだものです。

Models/Trees/oak.glb

同じフォルダーの中で名前は重複しないので、パスは必ず 1 つのリソースを指します。

スクリプトは、パスを使ってほかのスクリプトを読み込みます。リソースの名前を変えたり移動したりすると、それを読み込んでいるスクリプトはすべて自動で更新されます。インポートを手で直す必要はありません。

読み込んだファイルは、中身がまとまったまま保たれます

モデルに専用のテクスチャが付いている場合、テクスチャはモデルの下に保存されます。モデルを移動・削除すると、テクスチャも一緒に移動・削除されます。1 つずつ管理する必要はありません。

オブジェクトは、リソースのコピーを持っているわけではありません。リソースへの参照を持っています。

  • モデルのオブジェクトは、モデルを参照します。
  • マテリアルのカラーマップは、画像を参照します。
  • テキストのオブジェクトは、フォントを参照します。

そのため、リソースを変更すると、それを使っているものがすべて一度に更新されます。マテリアルを 1 つ編集すれば、そのマテリアルを使っているシーン内の看板がすべて変わります。

このしくみから、ある症状の理由もわかります。リソースが見つからない場合、オブジェクトは存在していますが、描画されません。エラーメッセージも出ません。

リソースはシーンの実行中に読み込まれます​

事前読み込みしていないリソースは、シーンが開いたあとで届きます。次のような形で気づくかもしれません。

  • シーンが始まって少ししてから、モデルが表示される。
  • マテリアルは仕上がって見えるのに、少しの間テクスチャがない。
  • テキストが少し遅れて表示される。

タイトルカードやロゴのように、最初のフレームから画面に出ていなければならないものもあります。こうしたものは、大きなダウンロードに頼らないようにしましょう。事前読み込みにすることも、コンテンツが届くまでシーンを非表示にしておくこともできます。


次へ: カメラ — 見る人がシーンをのぞくためのしくみ。