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

創(chuàng)建建筑物代碼如下:
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));
|
接下來我們要準(zhǔn)備一張高光的貼圖,這張貼圖上定義了哪些部分需要反射高強(qiáng)光,哪些部分的光照需要弱一些。

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