Posted on 2015-02-06 10:18
TWaver 閱讀(4206)
評論(3) 編輯 收藏
前篇我們介紹了TWaver 3D的環境映射特效,下面我們接著給大家分享高光反射特效。
高光反射定義了物體上的某一區域比其他地方更反光。在高光反射的貼圖中,黑色區域的反射率為0(完全不反光),白色區域的反射率為100%(完全反光)。這在現實的生活中,也是隨處可見,比如一個生銹的物體用低光,而一個拋光的金屬應該用高強光;手表上的表盤比表帶應該更反光;人的嘴唇應該比皮膚有更強的高光,而皮膚應該比純棉衣服更反光。加上了這種高光效果后,會是3D物體更加真實,更加生動。
接下來我們就來講解一下如何在一個模型中使用高光反射,比如我們需要創建一個大樓的建筑物。一個cube貼上建筑物的貼圖就可以模擬了。我們準備了一張玻璃的貼圖:

創建建筑物代碼如下:
1 2 3 | var node = new mono.Cube(1000,3000,1000);
node.setStyle('m.texture.image','./images/building.jpg');
node.setStyle('m.texture.repeat',new mono.Vec3(2,4));
|
接下來我們要準備一張高光的貼圖,這張貼圖上定義了哪些部分需要反射高強光,哪些部分的光照需要弱一些。

代碼設置如下:
1 2 3 4 | //設置需要反射的光照顏色,如果是夕陽可以設置為紅色。
node.setStyle('m.specular','white');
//設置高光貼圖
node.setStyle('m.specularmap.image','./images/specularmap.jpg');
|
然后再加上光照和skybox效果如下:
