應該是unity 2018.3中加入的功能,對象能夠放置於不一樣的物理場景中。git
一個Scene對應一個物理場景(PhysicsScene),若想放入獨立的物理場景測試建立一個Scene便可。見下圖gif。測試
若測試模擬功能,須在Physics中關閉自動模擬。腳本以下:spa
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class PhysicsSceneDemo : MonoBehaviour { public GameObject[] simulationObjects; public float physicsSceneTime; float mLastPhysicsSceneTime; Scene mPhysicsTestScene; PhysicsScene mPhysicsScene; void Start() { mPhysicsTestScene = SceneManager.CreateScene("PhysicsTestScene"); mPhysicsScene = mPhysicsTestScene.GetPhysicsScene(); for (int i = 0; i < simulationObjects.Length; i++) SceneManager.MoveGameObjectToScene(simulationObjects[i], mPhysicsTestScene); Physics.autoSimulation = false; } void Update() { if (physicsSceneTime != mLastPhysicsSceneTime) { mPhysicsScene.Simulate(physicsSceneTime); mLastPhysicsSceneTime = physicsSceneTime; } } void OnDestroy() { SceneManager.UnloadSceneAsync(mPhysicsTestScene); Physics.autoSimulation = true; } }
測試倉庫:code