【问题标题】:How make animation on Unity 3D from XML file?如何从 XML 文件在 Unity 3D 上制作动画?
【发布时间】:2015-11-19 11:48:04
【问题描述】:

我有一个 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>

【问题讨论】:

    标签: c# animation unity3d scripting


    【解决方案1】:

    最简单的做法是使用名为 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

    【讨论】:

    • 谢谢,马特。我看到了这些例子,我认为这会对我有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多