обновление - Добавлено видео
Я сделал такие вещи, которые вы можете видеть на многих уроках и форумах:
- создал Физический материал, который я назвал "
No bounce
" - set
Dynamic Friction = 0
и Static Friction = 0
- создали куб и добавили
Box collider
с Material = "No Bounce"
- set
Mass = 1
, Drag = 0
и Angular Drag = 0
Теперь я добавил еще один куб для земли, сделал его очень большим и добавил Box collider
с Material = "No Bounce"
У меня есть 2 проблемы: - когдаони сталкиваются, куб отскакивает (тогда как это не должно быть в моей конфигурации) - я создал скрипт и прикрепил его к кубу, чтобы изменить скорость, и установил его на 0
, когда происходит столкновение:
using UnityEngine;
public class CubeProperties : MonoBehaviour
{
private Rigidbody _rb;
private bool _landing;
private void Start()
{
_rb = GetComponentInParent<Rigidbody>();
}
public void OnCollisionEnter(Collision collision)
{
Debug.Log("Collision");
_landing = true;
}
public void FixedUpdate()
{
if (!_landing) {
return;
}
_rb.velocity = Vector3.zero;
_landing = false;
}
}
Итак, при первом столкновении я пытаюсь мгновенно остановить куб с помощью _rb.velocity = Vector3.zero;
.Но изменение скорости не влияет , я не понимаю, почему.Я много пытался понять, что происходит ... но ничего не произошло.Единственное, что я могу добавить, и это работает, это: AddForce()
Я пытался получить отрицательное значение, но это тоже не работает.
Что я забыл?
Вотвидео Я надеюсь, что это легко понять (и я надеюсь, что мне позволят помочь с видео):
https://youtu.be/I3C1KBmm5yw