【问题标题】:Animation with dynamic parameter - Unity3d具有动态参数的动画 - Unity3d
【发布时间】:2015-08-24 06:08:07
【问题描述】:

我有一个对象 - 只是圆柱体(看起来像芯片),我想像翻转动画一样添加到这个对象。当芯片倒装时,芯片会上升并在空中旋转。现在我要给一个动态参数确定Height for up。

所以现在我知道两种方法:

1) 只是在c#代码中写object.Rotate()带参数

2) 编写动画剪辑 - 并在 C# 中调用 Play - 但在这里 - 我无法传递参数(对与否?)

所以请大家 - 给我方向(链接)好 开始使用 unity3d。对不起我的英语 - 我知道这很糟糕((

【问题讨论】:

    标签: animation unity3d unity3d-5


    【解决方案1】:

    纯粹通过脚本来做这件事的最好方法肯定是使用补间,我建议使用这个工具:https://www.assetstore.unity3d.com/en/#!/content/27676

    现在将此资源下载到您的 Unity 后,只需创建一个新脚本并包含该资源

    using DG.Tweening;
    

    这是使用动态参数进行实际跳转的简单方法。

    public Transform chip;
    
    void JumpWithRotation(float heightOfJump, float timeForJump){
        DOTween.Init(false, true, LogBehaviour.ErrorsOnly);
        chip.DORotate (new Vector3 (0, 180f, 0), timeForJump).SetEase (Ease.InOutSine);
        chip.DOMove (new Vector3 (0, heightOfJump, 0), timeForJump).SetEase (Ease.InOutSine);
    }
    

    关于补间动画的最大优点是您可以轻松实现缓动方法(在两个值(线性、正弦、指数...)之间进行转换)。

    【讨论】:

      【解决方案2】:

      您可以将参数传递给动画 - 因为动画只是文件(它不是代码)。所以可以肯定——如果你想传递动态参数——你只有一个选项——通过脚本。只需编写 1 个将 GameObject 和参数用于旋转并完成的方法!祝你好运

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-26
        相关资源
        最近更新 更多