animation - Unity - 在运行时改变游戏对象形状的最佳方式

标签 animation unity3d 2d sprite gameobject

我想在 Unity3D 中创建一个简单的 2D 游戏,其中一个实体必须扩大和缩小。这是通过合并简单的形状来完成的。

下图中的一个粗略示例只是为了说明我的意思:

Image

它通过添加组件而增长,通过删除它们而缩小。屏幕上会有很多实体,所以性能非常重要。

是否可以动态改变一个游戏对象的形状?如果不是,以下哪种解决方案更合适,为什么?

  1. 不断地向前一个游戏对象添加新的游戏对象(形状),然后再将其移除?

  2. 制作动画。在这种情况下,是否可以在运行时更改动画速度,例如首先它增长得更快,然后增长得更慢或缩小?我的问题是速度的变化是否会应用到整个动画循环,或者是否可以在中间应用它(这样收缩和增长的速度是不同的)?我更希望后者发生。

如果您有任何其他建议,我很乐意听取。

最佳答案

创建一个空的游戏对象并将所有这些小块添加为它的子对象。然后您可以使用 gameObject.SetActive(false/true);

禁用/启用任何您想要的

关于animation - Unity - 在运行时改变游戏对象形状的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33442226/

相关文章:

c# - 我如何更改枚举元素内的任何变量?

c# - 在 Unity 中读取串口 "COM3"。连接建立成功,但未调用 DataReceived Handler

python - 您可以在 pygame 中重复打印整个矩形长度的图像吗?

javascript - 如何测试一条线是否相对于另一条线顺时针旋转?

algorithm - 2D 平面中的点与平面原点之间的不同路径数

ios - 我需要无限旋转 View 直到被告知停止

iphone - Xcode,iphone - 使图像动画朝特定方向移动

android - 将 View 从一个坐标动画化到另一个坐标的正确方法是什么?

php - CSS 动画在 Firefox 和 IE 上不起作用

c# - 淡出 Unity UI 文本