Rigidbody.Sleep
Declaration
public void Sleep();Описание
Принуждает жесткое тело спать до пробуждения.
Rigidbody может быть помещен в спящий режим только в том случае, если он не находится в контакте с бодрящимся rigidbody, и если он не вступает в контакт с каким-либо rigidbody в течение следующего шага симулирования. Обычно это делается при вызове из Awake, чтобы сделать rigidbody спящим при запуске. См. Rigidbodies Overview в руководстве для более подробной информации о Rigidbody sleeping.
using UnityEngine;
public class ExampleScript : MonoBehaviour { private float fallTime; private Rigidbody rbGO; private bool sleeping;
void Start() { rbGO = gameObject.AddComponent<Rigidbody>(); rbGO.mass = 10.0f; Physics.gravity = new Vector3(0, -2.0f, 0); sleeping = false; fallTime = 0.0f; }
void Update() { if (fallTime > 1.0f) { if (sleeping) { rbGO.WakeUp(); Debug.Log("wakeup"); } else { rbGO.Sleep(); Debug.Log("sleep"); }
sleeping = !sleeping;
fallTime = 0.0f; }
fallTime += Time.deltaTime; } }