我想在 Unity3D 中创建一个简单的 2D 游戏,其中一个实体必须扩大和缩小。这是通过合并简单的形状来完成的。
下图中的一个粗略示例只是为了说明我的意思:
它通过添加组件而增长,通过删除它们而缩小。屏幕上会有很多实体,所以性能非常重要。
是否可以动态改变一个游戏对象的形状?如果不是,以下哪种解决方案更合适,为什么?
不断地向前一个游戏对象添加新的游戏对象(形状),然后再将其移除?
制作动画。在这种情况下,是否可以在运行时更改动画速度,例如首先它增长得更快,然后增长得更慢或缩小?我的问题是速度的变化是否会应用到整个动画循环,或者是否可以在中间应用它(这样收缩和增长的速度是不同的)?我更希望后者发生。
如果您有任何其他建议,我很乐意听取。
最佳答案
创建一个空的游戏对象并将所有这些小块添加为它的子对象。然后您可以使用 gameObject.SetActive(false/true);
关于animation - Unity - 在运行时改变游戏对象形状的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33442226/