こんにちは、ナレコム前川です。
今回は、Amazon Sumerian の公式チュートリアルの
MeshCollider for Terrain Geometry を進めていきたいと思います。
ここでは、Terrain Geometry 用の衝突判定を設定していきます。
それでは、進めていきましょう。
1. シーンの作成
ここでは、このチュートリアルを進めていくにあたって前回同様にシーンの環境を整えていきます。
まずはじめに、 mountain.fbx をダウンロードしてください。
① ダッシュボードから Default Lighting を選択。
② シーン名を「MeshCollider Tutorial 2」にし、シーンを作成。
※シーン名は自由につけて大丈夫です。
③ 先ほどダウンロードした mountain.fbx をドラッグ&ドロップしてシーンに追加。
④ Assets パネルから mountain.fbx をドラッグ&ドロップしてキャンバスに追加。
2. MeshCollider の追加
それでは、MeshCollider を追加していきましょう。
それでは、MeshCollider を追加していきましょう。
① mountain.fbx を展開し、pPlane1_lambert1 を選択。
※このEntity がGeometry コンポーネントを持っているので、こちらに MeshCollider を追加します。
③ Script コンポーネントの追加し、+ ボタンをクリック。
④ Custom を選択し、前回同様に名前を変更。
③ Script コンポーネントの追加し、+ ボタンをクリック。
④ Custom を選択し、前回同様に名前を変更。
※ script 名は「createMeshCollider」に変更してください。
1function setup(args, ctx) {2 const mesh = ctx.entity.meshDataComponent && ctx.entity.meshDataComponent.meshData;3 if(mesh) {4 // Create Collider component with MeshCollider5 if(!ctx.entity.colliderComponent) {67 const colliderComponent = new sumerian.ColliderComponent({collider: new sumerian.MeshCollider({meshData: mesh})});8 ctx.entity.setComponent(colliderComponent);9 } else {10 console.log("Entity already has a ColliderComponent - aborting...");11 }12 }13 }置き換えると以下のようになるはずです。
3. Sphere の追加
① Create Entity から Sphere を選択し、追加。
② Inspector パネルから Transform を以下のように設定。
① Create Entity から Sphere を選択し、追加。
② Inspector パネルから Transform を以下のように設定。
- Translation : (-3, 10, 3)
※色も自由に変更してください。色をつけたほうが球が見つけやすくなると思います。
③ Rigid Body コンポーネントと Collider コンポーネントを追加。
③ Rigid Body コンポーネントと Collider コンポーネントを追加。
④ Collider の Shape を Sphere に設定。
球が、山を転がり落ちるのが確認できると思います。
今回のチュートリアルは以上です。
お疲れ様でした。