複合コライダーの作成
複合コライダーは、同じ親 Rigidbody ゲームオブジェクト上のコライダーゲームオブジェクトの集まりです。複合コライダーを使用するタイミングと理由の詳細は、複合コライダーの概要 を参照してください。
複合コライダーは、Rigidbody コンポーネントを持つ親ゲームオブジェクトと、コライダーを持つ子ゲームオブジェクトで構成されます。
複合コライダーの計画
複合コライダーをビルドする前に、コライダーの使用目的と配置方法を検討してください。
- コライダーの衝突だけが必要で衝突イベントやトリガーイベントは必要ない場合、ランタイムにコライダーとして動作するすべてのスペースをカバーしていれば、コライダーは重なっても問題なく、自由に配置できます。
- コライダーが衝突イベントまたはトリガーイベントを呼び出す必要がある場合、複合コライダーが重ならないように配置する必要があります。タグ とレイヤー (Layer) を実装して、特定のコライダーのみが衝突イベントとトリガーイベントを呼び出すようにすることもできます。
- アイテムのどの部分が衝突に関与しているかを正確に検出する必要がある場合は、コライダーでアイテムの領域を分けます。例えば、プレイヤーが正面に触れると開く宝箱には、正面と背面に 1 つずつコライダーを配置します。
- 複合コライダーに沿って別のコライダーがスライドする必要がある場合 (例えば、キャラクターが氷の上をスライドする場合)、コライダーの表面に沿って 1 つだけコライダーを配置し、あるコライダー接触から別のコライダー接触への遷移時のジッターを減らします。
複合コライダーを配置する完璧な方法は 1 つではありません。効率性は常に、形状、希望する動作、およびプロジェクト内の他の要素によって異なります。このため、複合コライダーに対して常にテストを実行し、期待通りに動作することを確認する必要があります。また、Physics プロファイラー を使用して、計算効率のためにさまざまな設定や配置をテストする必要があります。
複合コライダーのビルド
- 親ゲームオブジェクトを作成または選択します。ほとんどの場合、これはメッシュとメッシュレンダラーを含むゲームオブジェクトです。
- 親ゲームオブジェクトに Rigidbody を追加し、プロジェクトの必要に応じて設定します (リジッドボディの物理演算の概要 を参照)。
- 親ゲームオブジェクトの子として空のゲームオブジェクトを作成します。
- 親ゲームオブジェクトを右クリックして、Create Empty GameObject を選択します。
- 新しい空のゲームオブジェクトにコライダーを追加します。
- Inspector ウィンドウで、Add Component を選択します。
- コライダー形状を選択します。複合コライダーでは、任意のコライダー形状を使用できます。ほとんどの場合、作成するコライダーを最も正確に表現できる最も単純な形状を選択します。
- 新しいコライダーを配置します。
-
Transform または 配置ショートカット を使用して、コライダーを配置します。
- Rigidbody の動作をテストおよび確認します。コライダー設定を変更すると、Rigidbody の質量中心が変更され、予期しない動作が発生する可能性があります。
- 必要なコライダーの数だけ 4 から 6 のステップを繰り返します。
同じ複合コライダーを複数のゲームオブジェクトに適用する必要がある場合は、親ゲームオブジェクトを複製するか、プレハブ を使用します。
複合コライダーの自動生成
Asset Store では、ゲームオブジェクトのメッシュに基づいて複合コライダーを自動生成できるサードパーティ製のツールがいくつか提供されています。これらのツールは便利で時間を節約できますが、出力にはテストが必要であり、完全に効率化するためには調整が必要な場合があります。自動生成したコライダーにも手動で作成したコライダーと同じレベルのテストを行う必要があります。
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。