Куб отражается от обычной стены, но застревает в стене, состоящей из кубиков вдвое меньшего его размера.C#

Место общения программистов C#
Ответить
Anonymous
 Куб отражается от обычной стены, но застревает в стене, состоящей из кубиков вдвое меньшего его размера.

Сообщение Anonymous »

Есть масштаб куба(0,5, 0,5, 0,5) и 1 скрипт для него. Куб отражается от обычной стены, но при случайном ударе о стену, состоящую из таких же кубиков, но меньшего масштаба (0,25, 0,6, 0,25), застревает и ударяется из стороны в сторону.
Уже пробовал использовать Transform.position += Direction * Speed ​​* Time.deltaTime; вместо GetComponent().MovePosition(transform.position + Direction * Speed ​​* Time.fixedDeltaTime);, пересобрал все значения свойства Collision Detection компонента RigidBody, попробовал GetComponent().AddForce();
Я даже поменял Time значения в настройках проекта.

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

    using UnityEngine;

public class cubescript : MonoBehaviour
{
public Rigidbody rb;
public float speed = 0f;
Vector3 direction = Vector3.zero;

// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
speed = 1.5f;
rb = GetComponent();

direction = new Vector3(-1, 0, 1);
}

// Update is called once per frame

void Update()
{

GetComponent().MovePosition(transform.position + direction * speed * Time.fixedDeltaTime);
}

private void OnCollisionEnter(Collision collision)
{
direction = Vector3.Reflect(direction, collision.contacts[0].normal);
direction.y = 0;
}
}
Инспектор стен
Инспектор куба
сцена

Подробнее здесь: https://stackoverflow.com/questions/793 ... made-of-cu
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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