在很多游戏场景中,玩家们看到的场景并不一定是真的,也就是说眼见不一定为实。当然用这些Unity3D游戏开发小技巧并不就是为了来欺骗玩家,而是为了降低游戏对PC端、手机端性能的要求,从而让游戏普及。今天千锋讲师就分享下,Unity3D游戏开发的实用小技巧。
1、灯光烘培
很多游戏里面都有逼真的光影,但是如果要以每秒60帧的速率来计算光影移动到新位置的时候,对周围环境的反射和折射效果也是比较消耗资源,尤其是光源所绑定的物体本身还要参与物理计算的情况下,而且代码写起来也比较复杂。
比如说《CSGO》办公大楼的会议室里面,这个投影仪已经被打到了别的地方,但是那个投影仪光照产生的丁达尔效应仍然在原始位置,这就是没有实时计算导致的渲染BUG。
2、法线贴图技术
拿《王者荣耀》中小乔价值上百元的缤纷独角兽皮肤来看。这款皮肤的扇子部分有着凹凸不平的纹理,如果将这个凹凸不平的效果直接做在模型上,那么就会导致模型的多边形面数增大,影响游戏性能。
而有了法线贴图技术,我们只要把模型做成平整光滑的样子,然后再通过法线贴图的RGB通道,来读取出原始贴图对应像素上XYZ坐标轴上的法线偏移角度。根据这个法线角度,计算出此处的反光量和反射方向等等,从而使得此处的平面光滑模型看起来具有层次感和凹凸感。
3、静态反光
指的是将反光效果,直接事先通过灯光烘培系统烘培到贴图上,然后无论场景光源怎么变化,实际模型上的反光效果都不会有任何变化,这也是为什么《王者荣耀》等手游画质看起来普遍很假的一个原因,毕竟手机的GPU性能有限。
想知道更多的Unity3D游戏开发小技巧,可以来千锋教育Unity3D开发培训班免费试听两周。千锋Unity游戏开发培训课程深入教学的图形技术,讲解包括OpenGL渲染管线,着色器,高光计算、菲尼尔色散、雾方程式等高阶课程。对于从事过Unity游戏开发的人员也具有相当的学习价值。
相关文章
了解千锋动态
关注千锋教育服务号
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱