西昌.何雨锋
specular高光贴图用于模仿出象不锈钢之类的表面极其光滑的物体
但有别于镜面反射,因为镜面反射会有投影,而这个只反光不反投影。
想象一下使命召唤里的瞄准镜的反射投影 和 战地2的小水洼
这就是两者的区别
对模型灯光模式的要求是 cTV_LIGHTING_OFFSETBUMPMAPPING_TANGENTSPACE 或 cTV_LIGHTING_PERVERTEX_PRT
在图层1的specular map贴图区使用一张高光贴图
高光贴图的制作方法网上有很多,最简单的方法是直接拿PS把颜色给去掉就可以了,但是看起来整体都过于光滑,不真实,不妨在ps中加点喷溅点什么让它部分不反光就可以模仿锈迹。
在model view中的方法为:
除了在stage0给指定普通纹理外,再在stage1的specular map中给指定一张高光图。
同时灯光模式符合要求即可。
在程序中的使用方法为:
fac1->LoadTexture("mdl\\tvm\\shaka\\shaka1body_color.jpg","shaka_body",-1,-1);
fac1->LoadTexture("mdl\\tvm\\shaka\\shaka_bodyUV.jpg","spe_tex",-1,-1,cTV_COLORKEY_NO,true);
mesh1->LoadTVM("mdl\\tvm\\shaka\\shaka1_body.tvm",false,false);
mesh1->SetTextureEx(0,global1->GetTex("shaka_body"),-1);
mesh1->SetTextureEx(1,global1->GetTex("spe_tex"),5);
//对第一层的第5个组 即specalmap组赋予材质.
mesh1->SetLightingMode(cTV_LIGHTING_OFFSETBUMPMAPPING_TANGENTSPACE);