哈哈,今天做了两棵树和几种石头的模型,再也不用看之前丑丑的树了。
关于树的动画,我们用了一种很神奇的方法——给树叶的每个顶点涂上不同的颜色,然后用shader把这些顶点颜色的RGB变成运动方向的XYZ,这样树叶就能动啦~
v.vertex.xyz += (v.color.rgb - 0.5) * (sin(time + 0.65) * cos((2 + v.color.r) * time - 0.5) * cos(3 * time + 0.5) + sin(20 * time) * 0.05) * _Anim; // 原理是利用几个正弦波的叠加模拟树叶的摆动
另外,我们利用shader重置了树叶的法线,使得树叶整体看起来毛茸茸的,感觉还不错哦~
float3 std = normalize(v.vertex.xyz); v.normal.xyz = lerp(v.normal.xyz, std, _LerpNormal); v.normal = normalize(v.normal); //原理是将树叶的顶点法线指向整个树的外侧
感谢我们的牛仔先生!
(虽然他只是来我们游戏里打酱油的~)
暂无关于此日志的评论。