我是Unity的入门者,但这是我目前的做法,并将编辑器使用率降至最低:
在编辑器中,我只有三个对象:一个名为“ main”的空GameObject,一个摄像头和一个灯光。这仅仅是因为到目前为止,我只使用单个摄像机和单个光源,所以这种方式速度更快。稍后我可能会删除它们,而仅保留“ main”。
在“资产/ MyScripts”中,我有一个“ Main”类,该类作为一种行为添加到“ main” GameObject中。这意味着程序启动时,实例化的“ Main”类及其方法将被调用。“ Main”类是这样的:
using UnityEngine;
public class Main : MonoBehaviour
{
void Start ()
{
// initialize the game
}
void Update ()
{
// update physics
}
}
在游戏中,我动态构建如下环境:
GameObject floor = GameObject.CreatePrimitive (PrimitiveType.Cube);
floor.renderer.material.color = RandomGreen ();
但这是因为到目前为止,我仅在制作原型。稍后,我将要用在Blender中编辑的一些不错的东西替换多维数据集。这需要在Blender中制作它们,并将它们作为“预制件”导入到Units中。然后,我将类似地从C#代码实例化“预制件”。
如果要使对象对事件做出反应,例如与其他对象发生碰撞,则可以实例化该对象并将其动态添加到一个行为类,该类是从MonoBehavior派生的C#类。例如,如果您想拥有一辆汽车,则可以制作汽车预制件,并为其在游戏中的行为编写一个“ CarBehavior”类。
这样,您可以将与编辑器的交互减少到最小,尽管可能不会完全减少到零。现在,这取决于您是否可以接受此解决方案。