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