C# 通过非单行为脚本控制数百个游戏对象
我将给出一个真实的例子:假设有一个NPC游戏对象,它正在世界/场景中漫游 这个NPC后面跟着成百上千的其他物体,这意味着当NPC改变方向时,所有其他物体也会改变方向 我通过在Unity inspector中创建数百个对象来实现这一点,并且每个对象都得到一个单行为脚本。这是可行的,但当然,它对性能有很大的影响C# 通过非单行为脚本控制数百个游戏对象,c#,unity3d,C#,Unity3d,我将给出一个真实的例子:假设有一个NPC游戏对象,它正在世界/场景中漫游 这个NPC后面跟着成百上千的其他物体,这意味着当NPC改变方向时,所有其他物体也会改变方向 我通过在Unity inspector中创建数百个对象来实现这一点,并且每个对象都得到一个单行为脚本。这是可行的,但当然,它对性能有很大的影响 有没有其他更有效的方法让多个对象跟随另一个对象,而不在Monobehavior上运行它们?是的,在某个地方有一个单一的Monobehavior,它可以跟踪数千个变换并立即移动它们。或者看看云
有没有其他更有效的方法让多个对象跟随另一个对象,而不在Monobehavior上运行它们?是的,在某个地方有一个单一的Monobehavior,它可以跟踪数千个
变换
并立即移动它们。或者看看云服务器。如前所述,这不是我,但有一个叫CodeMonkey的youtuber,他有一个系列,他在做ECS,然后他添加了作业系统,并在其中添加了burst编译器。我强烈建议你看看他的视频。如前所述,ECS在这种情况下工作得非常好。每个NPC都是一个实体,所有NPC都有相同的跟随行为(系统)。这种体系结构,再加上burst编译器,应该会大大提高NPC的性能,我想说的是,如果它们的代码仅仅基于以下内容,那么大约1000个NPC的速度为100+FPS。一句警告的话,统一点是一种正在进行的工作;我怀疑它将来会变得更加精简。