пули жесткого тела UNITY`

#unity3d

#unity3d

Вопрос:

     {
        player = GameObject.FindGameObjectWithTag("Player").transform;

        lastpos = player.position;
        direction = (lastpos - transform.position).normalized;


        Destroy(gameObject, 4f);

    }
  

получить последнюю позицию и стрелять в этом направлении, столкновения не работают этим методом

 
    void Update()
    {
        transform.Translate(direction * (30f * Time.deltaTime));

    }
``` this dosent work with collisions so i need to use rigidbody forces, any help please? idk how to do that
  

Комментарии:

1. Вы говорите о событиях столкновения, таких как OnCollisionEnter или коллизии, поскольку объект должен перестать двигаться, когда он на что-то натыкается?

Ответ №1:

Похоже, вы хотите поместить жесткое тело и коллайдер (сетку, сферу, капсулу, по вашему усмотрению) в пулю. Чтобы переместить маркер, вы можете сделать

 public float thrust = 1.0f;

void Start() {
Rigidbody rb = GetComponent<Rigidbody>();
}

void FixedUpdate() {
rb.AddForce(transform.forward * thrust);
//alternate rb.velocity = new Vector3(1.0f,1.0f,1.0f);

}

void OnCollisionEnter(collision other) {
//do something when the bullet hits another collider
}