Version: 2020.2
public void Sleep ();

描述

强制刚体进入睡眠状态至少一帧。

一个常见用例是在 Awake 中调用该函数,以使刚体在启动时进入睡眠状态。 有关刚体睡眠的更多信息,请参阅手册中的刚体概述

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; } }