All tutorials

プロップをEngineに持ち込む

Intermediate 15 min engine

テクスチャ済みアセットをシーンにインポートし、物理コンポーネントを与え、Playモードでテストして、アプリを離れることなく編集のために送り返します。

学べること#

Engine内の実際のシーンにプロップを配置し、物理を与え、Playモードでテストし、SculptPigmentへ編集のために送り返す往復のやり取りを使います。

始める前に#

  • Pigmentでプロップにテクスチャを付けるを終えているか、テクスチャ済みの任意のメッシュを用意してください。
  • Engineは支援が必要なモジュールです。ブラウザにWebGPUがあればそれを使い、なければWebGL2にフォールバックするため、いずれにせよ開けます。
  • 知っておくと役立つこと:Engineは完全なゲームエンジンです。シーンはScene Graph内のエンティティのツリーであり、各エンティティはコンポーネント(Transform、Model、Light、Camera、RigidBody、Collider、Script)の集合です。

手順#

  1. Engineを開き、空のシーンから始めるか、デモテンプレートの1つを読み込んで地面と照明を手に入れます。

    警告: デモシーンは保存されません。デモの上に作業を重ねる場合は、離れる前に自分のプロジェクトとして保存してください。

  2. プロップをインポートします。Pigmentから送るか、.glbを直接インポートします。TransformとModelコンポーネントがすでに付いたエンティティとして届きます。

  3. Scene Graphでエンティティを選び、インスペクターでTransformを確認します。地面に配置し、この時点で適切なスケールを設定してください。この先のすべての工程がこの値を引き継ぎます。

  4. Add ComponentColliderを追加します。これがないと、プロップは見た目上の形を持っていても、物理演算が触れられるものが何もない状態になります。

    ヒント: コライダーは用途に合わせましょう。プロップを近似する単純な形状は、正確なメッシュコライダーよりも実行時のコストが低く、岩であればその違いに誰も気づきません。

  5. プロップを物理の影響下に置きたい場合はRigidbodyを追加します。動くことのない背景オブジェクトには付けないでおきましょう。静的なジオメトリのほうがコストが低いためです。

  6. Playを押します。このモードでは物理演算が本当に実行されるため、Rigidbodyとコライダーを持つプロップは落下し、着地し、静止します。

  7. 着地時の挙動を観察します。プロップが床をすり抜けたり、震えたり、不自然に跳ねたりする場合は、コライダーか質量が間違っていることを示しています。

  8. 停止して調整します。Playモードはテストのためのもので、制作のためのものではありません。

  9. Engineを離れずにモデリングの問題を直します。Scene Graphでプロップを右クリックし、Edit inSculptPigmentRetopoのいずれかを開きます。編集内容はそのままプロップに反映されて戻ってきます。

    ヒント: Shift+クリック、Macでは Cmd+クリック で複数選択し、複数のオブジェクトをまとめて1つに統合して送ることもできます。Macでは Ctrl+クリック はコンテキストメニューを開くだけで、選択状態は変わりません。

  10. シーンを保存し、Save to Cloudでプロジェクトをアカウントに紐づけておきます。

結果#

プロップはプレイ可能なシーンの中に存在するようになりました。物理的な存在感を持ち、実際の物理演算のもとで振る舞い、エクスポートや再インポートを一切せずに、いつでも上流に送り返して編集できます。

さらに進むには#

  • スクリプトでプロップに振る舞いを与えましょう。Enginestartupdate(dt)onCollisiononTriggerといったライフサイクルフックを、50の名前空間にまたがる538個のメンバーを持つAPIとして公開しています。
  • ロジックを書くより視覚的に組み立てたい場合は、Blueprintsを試してみましょう。
  • プロップの周りに環境を作るために、地形エディターとSky & Atmosphereパネルを探ってみましょう。