如何在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>

如何在Unity 3D上从XML文件制作动画

最简单的方法就是使用一个名为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