1

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

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

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

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

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

4

2 回答 2

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);
}

关于补间的最好的事情是你可以轻松地实现缓动方法(在两个值之间进行转换(线性、正弦、指数......))。

于 2015-08-22T18:14:28.683 回答
0

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

于 2015-08-22T19:43:38.130 回答