如何在Unity 3D上从XML文件制作动画
本文关键字:文件 动画 XML 上从 Unity 3D | 更新日期: 2023-09-27 18:09:58
我有一个GO,里面有三个立方体(GO),其中一个箭头从一个立方体到另一个。
位置信息和动画来自XML文件。读取XML文件就可以了。对我来说困难的是用XML信息制作动画。我找不到一个简单的教程来解释如何在脚本上制作动画。
有人能帮我吗?
下面是一个例子:
<group name="one" start="x,y,z" end="x,y,z">
<gameobjects>
<gameobject name="Cube1" start="x,y,z" end="x,y,z">
<gameobject name="Cube2" start="x,y,z" end="x,y,z">
<gameobject name="Cube3" start="x,y,z" end="x,y,z">
</gameobjects>
<arrows>
<arrow name="arrow1" start="x,y,z" end="x,y,z">
<arrow name="arrow1" start="x,y,z" end="x,y,z">
</arrows>
</group>
<group name="two" start="x,y,z" end="x,y,z">
<gameobjects>
...
</gameobjects>
<arrows>
...
</arrows>
</group>
<group name="three" start="x,y,z" end="x,y,z">
...
</group>
最简单的方法就是使用一个名为DoTween: http://dotween.demigiant.com/download.php的资源
一旦你导入了,你就可以像这样动画你的GameObjects了:
MyObject.transform.position = startValue;
MyObject.transform.DOMove(endValue, 3f);
您还可以链接各种命令。例如,如果你想让它轻松进出(使动画平滑),那么你可以将第二行更改为:
MyObject.transform.DOMove(endValue, 3f).SetEase(Ease.InOutSine);
如果你想在动画完成时运行一个特定的方法,那么:
MyObject.transform.DOMove(endValue, 3f).SetEase(Ease.InOutSine).OnComplete(MyMethodToRunWhenDone);
库可以做的还有很多。在这里查看文档:http://dotween.demigiant.com/documentation.php