Описание
Для этого Rigidbody отключено непрерывное обнаружение столкновений.
Это режим обнаружения столкновений по умолчанию, и это самый быстрый режим. Столкновения для этого коллайдера будут проверяться только в Time.fixedDeltaTime содержимого.
//Этот скрипт позволяет переключать режим обнаружения столкновений по нажатию клавиши пробела
//Прикрепите этот скрипт к GameObject
//Нажмите GameObject, перейдите к его инспектору и нажмите кнопку Добавить компонентКнопку. Затем перейдите в раздел Физика>Rigidbody.
using UnityEngine;
using UnityEngine.UI;
public class Example : MonoBehaviour
{
Rigidbody m_Rigidbody;
void Start()
{
m_Rigidbody = GetComponent<Rigidbody>();
}
public void Update()
{
//Press the space key to switch the collision detection mode
if (Input.GetKeyDown(KeyCode.Space))
SwitchCollisionDetectionMode();
}
//Switch between the different Collision Detection Modes
void SwitchCollisionDetectionMode()
{
switch (m_Rigidbody.collisionDetectionMode)
{
//If the current mode is continuous, switch it to continuous dynamic mode
case CollisionDetectionMode.Continuous:
m_Rigidbody.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
break;
//If the current mode is continuous dynamic, switch it to continuous speculative
case CollisionDetectionMode.ContinuousDynamic:
m_Rigidbody.collisionDetectionMode = CollisionDetectionMode.ContinuousSpeculative;
break;
// If the curren mode is continuous speculative, switch it to discrete mode
case CollisionDetectionMode.ContinuousSpeculative:
m_Rigidbody.collisionDetectionMode = CollisionDetectionMode.Discrete;
break;
//If the current mode is discrete, switch it to continuous mode
case CollisionDetectionMode.Discrete:
m_Rigidbody.collisionDetectionMode = CollisionDetectionMode.Continuous;
break;
}
}
}