コンポーネント
コンポーネントには、オブジェクトの設定が入っています。ここでは、各コンポーネントの役割と、つまずきやすい設定を紹介します。
このページでは、コンポーネントをインスペクターに表示される名前で呼びます。エンジン側の名前が異なる場合は、その名前を code 書式で添えています。
すべてのフィールドの型と初期値は、**コンポーネントリファレンス**で確認できます。
トランスフォーム
オブジェクトの位置、向き、大きさを決めます。
- 位置の単位はメートルです。
- スケールは単純な倍率です。
- 画面に表示される回転は、どこでも度です。
インスペクターとパッチのポートは度で表示し、変換は自動で行います。回転をラジアンで読み書きするのは、スクリプトの中だけです。スクリプトでは、直角は Math.PI / 2 になります。
Look At
オブジェクトを、ワールド内の点か、自分の位置からずらした点のほうへ向けます。見る人のほうを向く看板や、対象を追いかけるライトに使います。
ほかの場所で回転を設定したりアニメーションさせたりしても、何も変わらないように見えます。先に Look At を外してください。
3D Model
オブジェクトの形です(GeometryComponent)。組み込みの形は 15 種類あります。box、sphere、cylinder、capsule、circle、cone、plane、triangle、ring、torus、3 種類の多面体、extrude、lathe です。読み込んだジオメトリを指定することもできます。
特に便利な形が 2 つあります。
- Extrude は、描いた輪郭に厚みをつけます。ロゴ、看板、切り抜いた形に使います。
- Lathe は、断面の形を軸のまわりに回転させます。花瓶、ボトル、柱に使います。
box の角を丸くするには、角の半径(Corner radius)を 0 より大きくします。
マテリアル
表面の見た目を決めます。マテリアルコンポーネントにはスロットのリストがあるので、1 つのオブジェクトに複数のマテリアルを使えます。マテリアルの種類は 8 つで、種類ごとに使えるテクスチャマップが決まっています。
→ マテリアル
テキスト
フォントサイズの単位はピクセルです。1000 px がワールドの 1 メートルなので、72 px の文字は高さ約 7 cm になります。テーブルの上なら十分ですが、部屋の反対側からは小さすぎて読めません。
テキストは、オブジェクトのほかの部分より少し遅れて表示されます。これは意図した動作です。間違ったサイズの文字が 1 フレームだけ表示されるのを防いでいます。
動画と音声
どちらもメディアファイルを再生しますが、初期設定が違います。
- 動画はミュートで始まり、音に位置はありません。ブラウザは音の出る動画を自動再生しないためです。
- 音声はミュートなしで始まり、位置を持った音になります。見る人が近づくほど大きく聞こえます。
同じファイルを複数のオブジェクトで、それぞれ別々に再生できます。2 台のテレビで 1 本の映像を流しても、互いに邪魔をしません。
音声コンポーネントは一度に 1 つの音しか鳴らせません。もう一度再生すると、前の音が途切れます。足音はぶつ切りになり、何発もの銃声が 1 発に聞こえます。効果音はスクリプトから鳴らしてください。呼び出すたびに、別の音として鳴ります。→ ctx.audio
3D テキスト
3D テキストは、普通のテキストとは別のものです。厚みのある本物のジオメトリなので、光を受け、影を落とし、ほかのオブジェクトと同じようにマテリアルを使えます。
- ワールドの中に置く看板やタイトルには、3D テキストを使います。
- 遠くからでも読める必要があるものには、普通のテキストを使います。
スケルトンとボーン
読み込んだキャラクターには、スケルトンとボーンが付いています。直接編集することはほとんどありません。アニメーションを再生したときにモデルが曲がるのは、これらのおかげです。タイムラインで 1 本のボーンだけをアニメーションさせることもできます。
インスタンサーとパーティクル
同じものをたくさん並べるためのコンポーネントが 2 つあります。
- インスタンサー(Instancer)は、1 つのオブジェクトのジオメトリを何千回も繰り返しても、軽快に動きます。草、群衆、小惑星帯に使います。 → プレハブ
- パーティクル(Particles、
ParticleEmitterComponent)は、炎、煙、火花、雨をつくります。こちらも軽快に動きます。 → パーティクル
パス
点をつないで描いた曲線です。パイプ、ロープ、道路のようなジオメトリにできます。何かが沿って進むルートとして使うこともできます。→ パス
カメラと追加ビュー
カメラは、見る人に何が見えるかを決めます。Extra camera view は、カメラからもう 1 つの映像を描画します。ミニマップや監視モニターに使います。→ カメラ
シェーダーグラフ
ノードを組み合わせてつくるマテリアルです。標準のマテリアルでは出せない見た目に使います。保存したほかのマテリアルと同じように、マテリアルスロットからオブジェクトに適用します。シェーダーグラフのコンポーネント(ShaderGraphComponent)は画面全体にかかるエフェクトを持ち、インスペクターでは Post-processing と表示されます。
→ マテリアルグラフ
プレハブ
オブジェクトが、保存して再利用できるオブジェクトのまとまりのコピーであることを示します。 → プレハブ
影とモーフターゲット
影(Shadow)は、オブジェクトが影を落とすか、影を受けるかを決めます。この設定は、オブジェクトの中にあるものすべてに適用されます。
モーフターゲットは、モデルに含まれるブレンドシェイプです。顔の表情、旗が巻き上がる動き、キャラクターの重心移動などがあります。それぞれ 0 から 1 までのウェイトで表します。どれもタイムラインでアニメーションできます。
物理コンポーネント
リジッドボディ(Rigid Body)は、エンジンがオブジェクトをどう動かすかを決めます。
- Dynamic:落下し、衝突し、押されると動きます。
- Static:まったく動きませんが、ほかのものを止めます。
- Kinematic:自分で動かしたときだけ動き、動くときにほかのものを押しのけます。
- None:このオブジェクトとその中のすべてに物理を使いません。本来なら自動でつくはずの固体の形もつきません。
マルチプレイヤーでの所有の設定もあります。
- shared:ルーム全体で 1 つのオブジェクトです。全員に、木箱が同じ場所に見えます。
- local:それぞれの人が自分のコピーをシミュレーションします。
プレイヤーキャラクターは、必ず local にしてください。shared にすると、1 人が歩いたときに全参加者のアバターが動いてしまいます。
コライダー(Collider)は、物理計算に使う形です。box、sphere、cylinder、capsule、plane のどれかか、ジオメトリから自動で決める auto を選びます。
初速(Initial velocity)は、オブジェクトがつくられたときに 1 回だけ加わる力です。押し続けることはありません。
物理状態(Physics state)は読み取り専用です。オブジェクトの移動速度と、静止したかどうかをエンジンが書き込むので、スクリプトから読み取れます。
→ これらがどう組み合わさって動くかは、物理で説明しています。
タグ
プラグインやスクリプトが、自分でつくったオブジェクトにあとで見つけられるよう付ける小さなラベルです。エディターにはタグは表示されません。コードからシーンを生成するときは、タグを使って自分のオブジェクトに印を付けてください。
次へ: マテリアル — 表面の見た目を決めるしくみ。