CharacterControllerを使用している場合に、物理オブジェクトに作用出来るようにするスクリプト
CharacterControllerは便利ですが、物理オブジェクトと作用できない、、、
using UnityEngine; using System.Collections; public class PhysicsAffecter : MonoBehaviour { public float pushPower = 1.0F; void OnControllerColliderHit(ControllerColliderHit hit) { Rigidbody body = hit.collider.attachedRigidbody; if (body == null || body.isKinematic) return; Vector3 pushDir = new Vector3(hit.moveDirection.x, hit.moveDirection.y, hit.moveDirection.z).normalized; pushDir.x *= -Physics.gravity.x; pushDir.y *= -Physics.gravity.y; pushDir.z *= -Physics.gravity.z; body.AddForceAtPosition(pushDir * pushPower, transform.position); //body.velocity = pushDir * pushPower; } }