я следующий сценарий:Объекта оленьей кожи сталкивается
using UnityEngine;
using System.Collections;
public class BallScript : MonoBehaviour {
public float speed;
private Rigidbody body;
// Use this for initialization
void Start() {
body = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update() {
body.AddForce(transform.forward * speed);
}
void OnCollisionEnter(Collision collision) {
Debug.Log("Collision");
Destroy (this);
}
}
AS вы можете увидеть это имеет OnCollisionEnter
однако мой объект не может Сталкиваются с чем вместо этого он летит через каждый объект?
Это мой prefab
:
И объект им пытаются наехать:
Может кто-нибудь сказать мне, что ив сделал не так?
Почему ваша сфера является триггером? Отключить триггер, и это должно быть нормально –
К сожалению, это не сработало :( –
Вы также можете рассмотреть возможность использования 'RigidBody.AddForce()' или других физических методов для перемещения объекта - если вы используете 'Translate()', это будет перемещать его, не обращая внимания на физические взаимодействия, и может вызвать некоторые пропущенные столкновения. – Serlite