我正在开发 Unity3D 的一个小项目。在项目中有一些键。当我单击一个键时,键的透明度将平滑地更改为 50% 到 100%,此更改将花费 0.5 秒。所以我需要选项透明度的动画。在 Unity3D 中是否可以平滑地设置对象透明度的动画?

最佳答案

您应该在 Update 循环中使用 Lerp 来更改颜色。使用 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/

10-10 13:14