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