学べること#
Engine内の実際のシーンにプロップを配置し、物理を与え、Playモードでテストし、SculptやPigmentへ編集のために送り返す往復のやり取りを使います。
始める前に#
- Pigmentでプロップにテクスチャを付けるを終えているか、テクスチャ済みの任意のメッシュを用意してください。
- Engineは支援が必要なモジュールです。ブラウザにWebGPUがあればそれを使い、なければWebGL2にフォールバックするため、いずれにせよ開けます。
- 知っておくと役立つこと:Engineは完全なゲームエンジンです。シーンはScene Graph内のエンティティのツリーであり、各エンティティはコンポーネント(Transform、Model、Light、Camera、RigidBody、Collider、Script)の集合です。
手順#
-
Engineを開き、空のシーンから始めるか、デモテンプレートの1つを読み込んで地面と照明を手に入れます。
警告: デモシーンは保存されません。デモの上に作業を重ねる場合は、離れる前に自分のプロジェクトとして保存してください。
-
プロップをインポートします。Pigmentから送るか、
.glbを直接インポートします。TransformとModelコンポーネントがすでに付いたエンティティとして届きます。 -
Scene Graphでエンティティを選び、インスペクターでTransformを確認します。地面に配置し、この時点で適切なスケールを設定してください。この先のすべての工程がこの値を引き継ぎます。
-
Add ComponentでColliderを追加します。これがないと、プロップは見た目上の形を持っていても、物理演算が触れられるものが何もない状態になります。
ヒント: コライダーは用途に合わせましょう。プロップを近似する単純な形状は、正確なメッシュコライダーよりも実行時のコストが低く、岩であればその違いに誰も気づきません。
-
プロップを物理の影響下に置きたい場合はRigidbodyを追加します。動くことのない背景オブジェクトには付けないでおきましょう。静的なジオメトリのほうがコストが低いためです。
-
Playを押します。このモードでは物理演算が本当に実行されるため、Rigidbodyとコライダーを持つプロップは落下し、着地し、静止します。
-
着地時の挙動を観察します。プロップが床をすり抜けたり、震えたり、不自然に跳ねたりする場合は、コライダーか質量が間違っていることを示しています。
-
停止して調整します。Playモードはテストのためのもので、制作のためのものではありません。
-
Engineを離れずにモデリングの問題を直します。Scene Graphでプロップを右クリックし、Edit inでSculpt、Pigment、Retopoのいずれかを開きます。編集内容はそのままプロップに反映されて戻ってきます。
ヒント: Shift+クリック、Macでは Cmd+クリック で複数選択し、複数のオブジェクトをまとめて1つに統合して送ることもできます。Macでは Ctrl+クリック はコンテキストメニューを開くだけで、選択状態は変わりません。
-
シーンを保存し、Save to Cloudでプロジェクトをアカウントに紐づけておきます。
結果#
プロップはプレイ可能なシーンの中に存在するようになりました。物理的な存在感を持ち、実際の物理演算のもとで振る舞い、エクスポートや再インポートを一切せずに、いつでも上流に送り返して編集できます。
さらに進むには#
- スクリプトでプロップに振る舞いを与えましょう。Engineは
start、update(dt)、onCollision、onTriggerといったライフサイクルフックを、50の名前空間にまたがる538個のメンバーを持つAPIとして公開しています。 - ロジックを書くより視覚的に組み立てたい場合は、Blueprintsを試してみましょう。
- プロップの周りに環境を作るために、地形エディターとSky & Atmosphereパネルを探ってみましょう。