有没有办法在不模拟 Unity 的情况下在 C# 脚本中测试物理引擎?

问题描述 投票:0回答:1

我想创建一个由多个块组成的结构。

创建许多结构需要很长时间,因为它要经过渲染过程并逐帧运行 Unity 模拟。

这就是我们要跳过渲染过程的原因。

我想在 C# 脚本中测试一个由多个块组成的结构是否随着时间的推移(当没有施加外力时)保持其原始形状。

我需要以下方面的帮助

unity3d
1个回答
0
投票

物理过程和渲染过程相互独立,可以在一帧中多次调用

Physics.Simulate
方法

举个例子:

public class SimulatePhysics : MonoBehaviour
{
    public float totalTime;

    public void Start()
    {
        Physics.autoSimulation = false;
    }

    public void Update()
    {
        var remain = totalTime;
        while((remain -= Time.fixedDeltaTime) > 0f)
        {
            Physics.Simulate(Time.fixedDeltaTime);
        }

        // Check the simulation result here
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.