Почему RigidBody.MovePosition игнорирует столкновения?C#

Место общения программистов C#
Anonymous
Почему RigidBody.MovePosition игнорирует столкновения?

Сообщение Anonymous »

Код: Выделить всё

private void Update()
{
if (!grabTransform) return;

Vector3 newPosition = Vector3.Lerp(transform.position, grabTransform.position, Time.deltaTime * 20f);
rigidbody.MovePosition(newPosition);

Quaternion newRotation = Quaternion.Lerp(transform.rotation, grabTransform.rotation, Time.deltaTime * 20f);
rigidbody.MoveRotation(newRotation);

rigidbody.velocity = Vector3.zero;
rigidbody.angularVelocity = Vector3.zero;
}
Сейчас я разрабатываю функцию, позволяющую поднимать и переносить предметы. При удерживании объекта реализовано следование за преобразованием в направлении передней части камеры. Однако при повороте головы к стене переносимый объект иногда застревает при пересечении со стеной.
[img]https://i. sstatic.net/X1Pa8dcg.png[/img]

Я хочу, чтобы объект естественным образом сталкивался со стенами и не застревал.
Когда я использую Скорость или Добавьте силу, он слишком сильно двигается, как пружина.

Подробнее здесь: https://stackoverflow.com/questions/784 ... collisions

Вернуться в «C#»