我想知道有什么方法可以让重力在编辑器模式下影响项目吗?通常,我将刚体设置到一个对象上并单击“播放”按钮,然后我可以看到该对象将根据重力而下落。但是,如何在不按“播放”按钮的情况下执行此操作?

我在Google上搜索了很多,但找不到任何文件向我展示如何操作。

谢谢

最佳答案

Unity Q&A网站上的This answer by ThePilgrim似乎回答了这个问题:


  您可以通过设置
  Physics.autoSimulation设置为false,并使用Physics.Simulate()设置为
  逐帧推进物理过程,直到您的物体沉降。
  
  这是一个示例编辑器窗口:

 using UnityEditor;
 using UnityEngine;

 public class ScenePhysicsTool : EditorWindow {

     private void OnGUI()
     {
         if (GUILayout.Button("Run Physics"))
         {
             StepPhysics();
         }
     }

     private void StepPhysics()
     {
         Physics.autoSimulation = false;
         Physics.Simulate(Time.fixedDeltaTime);
         Physics.autoSimulation = true;
     }

     [MenuItem("Tools/Scene Physics")]
     private static void OpenWindow()
     {
         GetWindow<ScenePhysicsTool>(false, "Physics", true);
     }
 }

关于c# - 如何在Unity3D中以重力在编辑器模式下工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58452586/

10-10 09:33