在这儿计算的时候,使用的法线是物体表面的法线,随着物体的旋转,它的表面法线的方向始终是绑定在物体上面的,你可以理解成跟着物体去变的所以小球一转,法线方向就变化,这时算出来的光照就会跟着小球旋转去变,但是这是不对的,我们应该怎么做呢?不管怎么旋转,只把小球的法线变换到游戏世界里面,就不会随着小球去转了
但是,当继续往下看,艾斯特嘴巴张着呆住了。原来,几分钟后,那个大球自转着离开支撑它的圆环升了起来,那些围绕它旋转的小球们也脱离了圆环,跟着升到了空中,到达一定的高度后,那些小球的旋转轨道逐渐向外扩展.好像在自己寻找自己的最佳轨道之后,这个迷你太阳系就**地悬浮在空中运动了。艾斯特回过神来,瞅准机会,抓住了一个小球,想让它停止转动,出乎意料的是.艾斯特并没有能够让小球停止转动而是被小球拽着围着大球跑,这让艾斯特更震惊了,艾斯特自觉得力气不小却无法对小球的高度和速度有一点影响!
现在我调整灯光方向,小球受光是会发生变化的,因为灯光只能照亮物体的正面现在旋转小球,物体表面的受光情况应不应该发生变化?在现实生活当中,拿着手电筒对着物体照不同的表面位置,它的光照效果受光情况会变化,但如果手电筒一直放在同一个位置,旋转我手电筒照小球,那这时光照应不应该变化呢?不应该发生变化,所以这个计算结果是错的
钟后,那个大球自转着离开支撑它的圆环升了起来,那些围绕它旋转的小球们也脱离了圆环,跟着升到了空中,到达一定的高度后,那些小球的旋转轨道逐渐向外扩展.好像在自己寻找自己的最佳轨道之后,这个迷你太阳系就**地悬浮在空中运动了。艾斯特回过神来,瞅准机会,抓住了一个小球,想让它停止转动,出乎意料的是.艾斯特并没有能够让小球停止转动而是被小球拽着围着大球跑,这让艾斯特更震惊了,艾斯特自觉得力气不小却无法对小球的高度和速度有一点影响!
最终效果就是随着灯光变化,用法线贴图渲染的物体,不管怎么旋转小球或者旋转灯光,它都是以比较完美的方式呈现它的细节感,看上去就像物体表面就有一些**一样,但实际上它是没有的