サーチ…
衝突者
ボックスコライダー
プロパティ
Is Trigger - チェックを入れると、Box Colliderは物理を無視してトリガーコライダーになります
マテリアル - 指定されている場合は、Box Colliderの物理マテリアルへの参照
センター - ローカルスペースにおけるBox Colliderの中心的位置
Size - ローカルスペースで測定されたBox Colliderのサイズ
例
// Add a Box Collider to the current GameObject.
BoxCollider myBC = BoxCollider)myGameObject.gameObject.AddComponent(typeof(BoxCollider));
// Make the Box Collider into a Trigger Collider.
myBC.isTrigger= true;
// Set the center of the Box Collider to the center of the GameObject.
myBC.center = Vector3.zero;
// Make the Box Collider twice as large.
myBC.size = 2;
球体衝突者
プロパティ
トリガー(Trigger) - チェックを入れると、Sphere Colliderは物理を無視してトリガー・コライダー
マテリアル - 指定されている場合、Sphere Colliderの物理マテリアルへの参照
Center - Sphere Colliderのローカルスペースにおける中心的位置
Radius - Colliderの半径
例
// Add a Sphere Collider to the current GameObject.
SphereCollider mySC = SphereCollider)myGameObject.gameObject.AddComponent(typeof(SphereCollider));
// Make the Sphere Collider into a Trigger Collider.
mySC.isTrigger= true;
// Set the center of the Sphere Collider to the center of the GameObject.
mySC.center = Vector3.zero;
// Make the Sphere Collider twice as large.
mySC.radius = 2;
カプセルコライダー
プロパティ
Is Trigger - チェックを入れると、Capsule Colliderは物理を無視してトリガーコライダーになります
マテリアル(Material) - 指定されている場合、カプセル・コライダーの物理マテリアルへの参照
センター - ローカルスペースでのカプセルリーダーの中心的位置
Radius - ローカル空間の半径
高さ - コライダーの全高
Direction - ローカル空間における方向の軸
例
// Add a Capsule Collider to the current GameObject.
CapsuleCollider myCC = CapsuleCollider)myGameObject.gameObject.AddComponent(typeof(CapsuleCollider));
// Make the Capsule Collider into a Trigger Collider.
myCC.isTrigger= true;
// Set the center of the Capsule Collider to the center of the GameObject.
myCC.center = Vector3.zero;
// Make the Sphere Collider twice as tall.
myCC.height= 2;
// Make the Sphere Collider twice as wide.
myCC.radius= 2;
// Set the axis of lengthwise orientation to the X axis.
myCC.direction = 0;
// Set the axis of lengthwise orientation to the Y axis.
myCC.direction = 1;
// Set the axis of lengthwise orientation to the Y axis.
myCC.direction = 2;
ホイールコライダー
プロパティ
質量 - ホイールコライダーの質量
Radius - ローカル空間の半径
車輪減衰率 - 車輪衝突者の減衰値
サスペンション距離 - ローカル空間でのY軸に沿った最大延長
アプリポイントの距離を強制する - 力が適用されるポイント、
センター - ローカルスペースのホイールコライダーの中心
サスペンションスプリング
Spring - Wheelが目標位置に戻ろうとする速度
ダンパー - 値が大きいほど速度が低下し、サスペンションが遅くなります
目標位置 - デフォルトは0.5、0はサスペンションがボトムアウト、1が完全拡張
前方/側方の摩擦 - 前方または前方に転がるときのタイヤの挙動
例
メッシュコライダー
プロパティ
Is Trigger - チェックを入れると、Box Colliderは物理を無視してトリガーコライダーになります
マテリアル - 指定されている場合は、Box Colliderの物理マテリアルへの参照
Mesh - Colliderが基づいているメッシュへの参照
Convex - Convex Meshのコライダーは255ポリゴンに制限されています。有効にすると、このColliderは他のメッシュコライダーと衝突する可能性があります
例
GameObjectに複数のColliderを適用する場合は、それをCompound Colliderと呼びます。
ホイールコライダー
ホイールコライダーの内部には、NvidiaのPhysXホイールコライダーが組み込まれているため、多くの同様の特性があります。技術的に単一性は「単位のない」プログラムですが、すべてを理解するために、いくつかの標準的な単位が必要です。
基本プロパティ
- 質量 - ホイールの重量(キログラム)。これはホイールモーメントと回転時のインターアモーメントに使用されます。
- 半径 - メートルで、衝突者の半径。
- Wheel Damping Rate - 車輪がトルクにどれくらい反応するかを調整します。
- サスペンション距離 - 車輪が走行できる総走行距離
- Force App Point Distance - 親の剛体に加えられたサスペンションからの力
- Center - ホイールの中心位置
サスペンションの設定
- 春 - これは、バネ定数K(ニュートン/メートル)を方程式で表したものです。
力=ばね定数*距離
この値の良い出発点は、あなたの車両の総質量を、車輪の数で割り、50から100までの数で乗算した値でなければなりません。例えば、車輪が4つの2,000kgの車があれば、 500kgをサポートします。これに75を掛け、あなたのばね定数は37,500ニュートン/メートルでなければなりません。
- ダンパー - 車のショックアブソーバーに相当します。サスペンスが高いほどレートが高くなり、レートを低くするほど「柔らかく」なり、振動する可能性が高くなります。
私はこれの単位や方程式を知らない、私はそれが物理学の周波数方程式と関係していると思う。
サイドウェイ摩擦設定
1つの摩擦曲線は、目標位置から実際の位置までの車輪の滑り量(m / s)によって決定されるスリップ値を有する。
極限すべり - これは、牽引力を失う前に車輪が滑ることができる最大量(m / s)です
極限値(Extremum Value) - これは、ホイールに適用されるべき摩擦の最大量です。
Exrtremum Slipの値は、ほとんどの現実的な車の場合、0.2mから2m / sの間でなければなりません。 2m / sは毎秒約6フィート、または5mphです。これは多くのスリップです。スリップのために2m / s以上の値を持つ必要があると感じる場合は、最大摩擦(極小値)を増やすことを検討する必要があります。
Max Fraction(Extremum Value)は、次式の摩擦係数です。
摩擦力(ニュートン単位)=摩擦係数*下向き力(ニュートン単位)
これは、1の係数で、スリップ方向の逆の車+サスペンション全体の力を適用していることを意味します。実際のアプリケーションでは、1より大きい値はまれですが、不可能ではありません。乾燥したアスファルトのタイヤの場合、0.7と.9の間の値は現実的な値なので、デフォルトの1.0が好ましい。
この値は、理想的な動作が発生し始めるため、現実的には2.5を超えてはなりません。例えば、あなたは右に曲がり始めますが、この値が非常に高いので、あなたの方向とは反対に大きな力が加えられ、あなたは離れている代わりにターンに滑り始めます。
両方の値を最大にした場合は、漸近線と値を上げ始める必要があります。漸近滑りは、0.5m / sから2m / sの間でなければならず、漸近線すべりを超えるすべり値に対する摩擦係数を規定する。トラクションが壊れるまで車両がうまく動作することがわかった場合、牽引力は氷上にあるように作用しますが、漸近値を上げる必要があります。あなたの車がドリフトすることができないと分かったら、値を下げるべきです。
前方摩擦
前方の摩擦は横方向の摩擦と同じですが、これは車輪がどれほどの牽引力を運動の方向に持つかを定義しています。値が小さすぎると、車両は燃え尽きてタイヤを回転させてから、前にゆっくりと移動します。もしそれが高すぎると、あなたの車は、ひどい、または悪いことをやってみる傾向があります。
その他の注意事項
これらの値を調整するだけで、GTAクローンや他のレースクローンを作成することはできません。ほとんどの運転ゲームでは、速度、地形、および回転値が異なるため、これらの値がスクリプトで常に変更されています。さらに、キーが押されているときにホイールコライダーに一定のトルクを加えるだけでは、ゲームは現実的に動作しません。現実の世界では、車は車輪に加えられるトルクを変化させるトルク曲線とトランスミッションを持っています。
最良の結果を得るには、車の応答が合理的になるまでこれらの値を調整してから、ホイールトルク、最大転回角、およびスクリプトの摩擦値を変更する必要があります。
ホイールの衝突に関する詳細は、Nvidiaのドキュメントhttp://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/Vehicles.htmlを参照してください。
トリガー・コライダー
メソッド
-
OnTriggerEnter()
-
OnTriggerStay()
-
OnTriggerExit()
OnTriggerEnter()
、 OnTriggerStay()
およびOnTriggerExit()
メソッドを使用するには、Colliderをトリガーにすることができます。トリガーコライダーは物理的に衝突に反応せず、他のゲームオブジェクトは単にそれを通過します。それらは、アイテムを収集するときなど、別のGameObjectが特定の領域にあるかどうかを検出するのに便利です。
Trigger Collider Scripting
例
以下のメソッドは、別のコライダーがGameObjectのコライダー(プレイヤーなど)に入るタイミングを検出するトリガーリスナーの例です。トリガーメソッドは、GameObjectに割り当てられている任意のスクリプトに追加できます。
void OnTriggerEnter(Collider other)
{
//Check collider for specific properties (Such as tag=item or has component=item)
}