infoMore than 3 years have passed since last update.
Unityで物理シミュレーションとイベントハンドラの挙動
Last updated at Posted at 2017-09-15
物理シミュする際、まずやること
- 物理シミュしたいGameObjectには、**Collider(SphereColliderとかBoxColliderとか)とRigidBodyをつける。
- 地面はBoxCollider等をつけるだけでよい。
- 衝突のイベントを拾いたい場合、両方つけないとイベントが来ない気がする。
パラメータ RigidBody.IsKinematic, Collider.IsTrigger
- RigidBody.IsKinematic=trueは、transformで動かすか、addForce等で動かす。ほかのものに影響を与えるが、自分は受けない。ゲームで動かすプレイヤーなどに使う。
- Collider.IsTrigger=trueにすると物理挙動が無視される。ただ衝突時OnTriggerEnterが呼ばれるようになる。
- Collider.isTrigger=trueにしなくても、衝突したらOnCollisionEnterが呼ばれる。ただisKinematic=trueになってると、よばれない。
イベントと物理挙動のまとめ
isKinematic |
isTrigger |
OnCollisionEnter |
OnTriggerEnter |
物理挙動 |
true |
false |
くる |
こない |
しない(他には影響与える) |
true |
true |
こない |
くる |
しない |
false |
true |
こない |
くる |
しない |
false |
false |
くる |
こない |
する |
参考
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
What you can do with signing up