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

プレハブとインスタンシング

プレハブもインスタンシングも、同じものをたくさんつくる方法ですが、解決する問題が違います。ここでは、どちらを選べばよいかを説明します。

方法コピーするもの各コピー向いている用途
プレハブオブジェクトのまとまり移動も編集もできる本物のオブジェクト。プレハブを変えると更新されます12 の部屋で使う椅子
インスタンシング1 つのオブジェクトのジオメトリ描画されるだけ。1 つずつ編集することはできません1 万本の草

選び方を間違えると、同じ編集を何度も繰り返すことになるか、シーンが重くなります。

プレハブ​

プレハブは、保存したオブジェクトのまとまりで、何度でもシーンに追加できます。たとえば、ライトと光の演出が付いたランプ、枠と音が付いたドア、リグを組み終えたキャラクターなどです。

プレハブを変更すると、すべてのコピーが更新されます。ドアノブを直すのは 1 回だけで済み、12 の部屋で直す必要はありません。

各コピーは、シーンの本物の一部です。動かすこともできますし、その場所だけに効く設定を変えることもできます。

2 回目にコピーするときにプレハブにしましょう

小さなオブジェクトのまとまりを 2 回目にコピーするタイミングで、プレハブにしてください。コピーが 12 個になるまで待つと、12 か所に散らばった細かな違いをすり合わせることになります。

インスタンシング​

インスタンシングは、1 つのオブジェクトのジオメトリを何回も表示します。コピーが 1000 個あっても、負荷は 1 個のときとほぼ同じです。草原、群衆、小惑星帯、森をつくれるのは、このしくみのおかげです。

コピーの並べ方は 3 つあります。

  • grid:規則正しい格子状に並べます。ジッターを加えると、規則正しさが目立たなくなります。
  • scatter:箱か球の中に、ばらばらに散らします。
  • children:子オブジェクトそれぞれの位置に、コピーを 1 つずつ置きます。

手で配置したオブジェクトを軽くしたいときは、children を使います。オブジェクトを好きな場所に置いてから、children をオンにします。オンの間は、それぞれの子の代わりにコピーが表示されます。

コピーに変化をつける​

どのコピーも同じジオメトリを共有しているので、何もしなければ、どれも同じ見た目で単調になります。次の設定で変化をつけられます。

  • scaleMin · scaleMax:コピーごとに、2 つの値の間のランダムな大きさになります。
  • rotationJitter:コピーごとに、ランダムな回転になります。
  • colorA · colorB:コピーごとに、2 つの色の間の色合いになります。

さらに変化をつけたいときは、マテリアルグラフで、いま描画しているのがどのコピーかを読み取り、それに応じて何でも変えられます。たとえば、コピーごとに揺れるタイミングをずらしたり、使い古した感じを変えたり、模様を変えたりできます。

どのデバイスでも同じ配置になります

数、形、seed が同じなら、どこでも同じ配置になります。エディターでも、スマートフォンでも、マルチプレイヤーのルームにいる全員にとってもです。コピーが 1 万個あっても、ネットワークの通信量は増えません。

同じ設定のまま別の配置にしたいときは、seed を変えてください。

maxCount は、コピーの数の上限です。上限を超えたコピーは描画されません。そのため、数を打ち間違えても、エンジンがありえない量のメモリーを使おうとすることはありません。


次へ: 読み込み — シーンが開く前に読み込まれるものと、起動画面。