如何从 XML 文件在 Unity 3D 上制作动画?
How make animation on Unity 3D from XML file?
我有一个 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
导入后,您可以像这样为游戏对象设置动画:
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
我有一个 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
导入后,您可以像这样为游戏对象设置动画:
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