我正在使用Unity3D开发一个小项目。项目中有一些关键。当我单击某个键时,该键的透明度将平滑地更改为 50% 到 100%,并且此更改将需要 0.5 秒。所以我需要选项透明度的动画。 Unity3D 中是否可以平滑地为对象的透明度设置动画?
最佳答案
你应该Lerp在 Update
循环内更改颜色。使用Time
类来测量时间。查看 Lerp
文档以获取示例。
我还发现了这段代码,它使用 Lerp
更改透明度,但不完全是您想要的方式,不幸的是,它是 unityscript:
#pragma strict
var duration : float = 1.0;
var alpha : float = 0;
function Update(){
lerpAlpha();
}
function lerpAlpha () {
var lerp : float = Mathf.PingPong (Time.time, duration) / duration;
alpha = Mathf.Lerp(0.0, 1.0, lerp) ;
renderer.material.color.a = alpha;
}
<小时/>
更新
上面的答案仍然有效,但我想推荐使用 DOTween ,一个免费插件,可以选择专业版,可以执行各种 lerps - 颜色、位置、旋转、alpha 等。它非常易于使用,具有良好的性能,我已经在多个项目中使用它。
关于animation - 通过透明度选项实现 Unity3D 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23925433/