查看: 1099|回复: 3
打印 上一主题 下一主题

[其他] 对unity3d中插值的小理解

[复制链接]

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2014-10-20 00:38:35 |只看该作者 |倒序浏览

unity3d中要实现各种平滑效果,插值是不可避免的。但之前一直不太理解插值,上午研究了下,插值是种数学运算。
下面以float temp=Mathf.Lerp(float  from,float  to,float t)为例说明。

Temp=from+(to-from)*t;
Mathf.Lerp这个函数每调用一次就执行一次。
举个栗子:
float DURATION=2.5f;
Public void Update()
{
If(Time.time>DURATION)
   Destroy(game);
Float proportion=(Time.time/DURATION) //这个可以确保proportion0-1之间,因为之前的If(Time.time>DURATION)已经确保了在销毁前Time.time不会超过DURATION
Renderer.material.color.a=Mathf.Lerp(1,0,proportion); //随着Time.time的逐渐增加,proportion的数值也会不断增大。每次调用Mathf.Lerp所返回的数值也会不断减小。
}

其他的插值还有:
Mathf.Lerp
Color.Lerp
Vector3.Lerp
Quaternion.Lerp
etc..

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

hyui    

1

主题

2

听众

6671

积分

高级设计师

Rank: 6Rank: 6

纳金币
2715
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-10-20 01:05:54 |只看该作者
Thakns of rhits one !
回复

使用道具 举报

0

主题

2

听众

4092

积分

中级设计师

Rank: 5Rank: 5

纳金币
530
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2014-10-20 06:53:58 |只看该作者
thank you for .....
回复

使用道具 举报

74

主题

2

听众

3549

积分

中级设计师

Rank: 5Rank: 5

纳金币
-100
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2014-10-20 10:49:14 |只看该作者
最常用的应用应该是动作插值,这点很高端的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-2-5 23:44 , Processed in 0.063657 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部