我有一个对象 - 只是圆柱体(看起来像芯片),我想像翻转动画一样添加到这个对象。当芯片倒装时,芯片会上升并在空中旋转。现在我想给一个动态参数确定Height
上去。
所以现在我知道两种方法:
1) 只是在 c# 代码object.Rotate()
中用参数编写
2)编写动画剪辑 - 并调用 C# 进行播放 - 但在这里 - 我无法传递参数(对与否?)
所以请大家 - 只是给我方向(链接)好 开始使用 unity3d。对不起我的英语 - 我知道这很糟糕((
纯粹通过脚本来做这件事的最好方法绝对是使用补间,我建议使用这个工具: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);
}
关于补间的最好的事情是你可以轻松地实现缓动方法(在两个值之间进行转换(线性、正弦、指数......))。
您可以将参数传递给动画 - 因为动画只是文件(它不是代码)。所以可以肯定——如果你想传递动态参数——你只有一个选项——通过脚本。只需编写 1 个将 GameObject 和参数用于旋转并完成的方法!祝你好运