Проблемы с объектами, проходящими друг через друга в Unity - PullRequest
0 голосов
/ 06 апреля 2020

Я создавал симуляцию, включающую вращающийся барабан, который должен проходить go через грубую почву. Чтобы смоделировать это, я сделал проект в Unity и импортировал этот CAD-дизайн барабана и добавил кучу сфер для грязи. Затем я добавил в барабан коллайдер me sh, коллайдеры сферы - в грязь, а твердые тела - во все. Я также включил непрерывное динамическое обнаружение столкновений c как на грязи, так и на барабане, и позаботился о том, чтобы включить isTrigger и isKinemati c в обоих. Но всякий раз, когда я запускаю сим, возникает одна и та же проблема: сферы просто go прямо через барабан, и я ничего не могу сделать, чтобы это исправить. Я пытался посмотреть на другие темы, но все эти решения не работают. Могу ли я получить помощь? Спасибо.

Изображение барабана перед столкновением с шарами

Изображение барабана в центре сфер, ничто не мешает

Изображение компонентов на вращающемся барабане

Изображение компонентов на сферах (Все они имеют одинаковую настройку)

код:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RotateScript : MonoBehaviour
{

    public float thrust = 0.1f;
    public float torque = 0.5f;
    public Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
        rb.AddForce(0, 0, -thrust, ForceMode.Impulse);

    }

    private void FixedUpdate()
    {
        float turn = Input.GetAxis("Horizontal");
        rb.AddTorque(transform.up * torque * turn);

        if(Input.GetKeyDown(KeyCode.W))
        {
            rb.AddForce(0, 0, (thrust * 2), ForceMode.Impulse);
        }

        if(Input.GetKeyDown(KeyCode.S))
        {
            rb.AddForce(0, 0, (-thrust * 2), ForceMode.Impulse);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...