虛擬現(xiàn)實(shí)技術(shù)課件第5章_第1頁
虛擬現(xiàn)實(shí)技術(shù)課件第5章_第2頁
虛擬現(xiàn)實(shí)技術(shù)課件第5章_第3頁
虛擬現(xiàn)實(shí)技術(shù)課件第5章_第4頁
虛擬現(xiàn)實(shí)技術(shù)課件第5章_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第五章虛擬現(xiàn)實(shí)技術(shù)第五章虛擬現(xiàn)實(shí)技術(shù)第5章

虛擬造型的外觀學(xué)習(xí)目標(biāo)1.理解造型的材質(zhì)節(jié)點(diǎn)Material和外觀節(jié)點(diǎn)Appearance的各個(gè)域值的含義2.熟練掌握Appearance節(jié)點(diǎn)和Material節(jié)點(diǎn)的使用方法3.掌握設(shè)置圖像紋理、視頻紋理的方法,理解像素紋理的使用4.會(huì)使用紋理變換合理的渲染造型第5章虛擬造型的外觀學(xué)習(xí)目標(biāo)5.1設(shè)置虛擬對(duì)象的外觀

1.使用語法Appearance{materialNULL#exposedfieldSFNodetextureNULL#exposedfieldSFNodetextureTransformNULL#exposedfieldSFNode}5.1設(shè)置虛擬對(duì)象的外觀1.使用語法2.域值說明①

material域值為Material節(jié)點(diǎn)。該域值通過使用Material節(jié)點(diǎn)設(shè)置了造型的基本對(duì)外表現(xiàn)的特征。②

texture域值為ImageTexture、MovieTexture或者PixelTexture三個(gè)節(jié)點(diǎn)之中的任一個(gè),用來給造型設(shè)置靜態(tài)或者動(dòng)態(tài)紋理,從而使造型更加生動(dòng)、逼真。③

textureTransform域值為TextureTransform節(jié)點(diǎn)。用來設(shè)置紋理的變換,如紋理的平移、旋轉(zhuǎn)和縮放等等,使紋理更加準(zhǔn)確。如果texture

域?yàn)镹ULL,即沒有給造型設(shè)置紋理,則textureTransform域無效。2.域值說明①material域值為Material節(jié)5.2設(shè)置虛擬對(duì)象的材質(zhì)不同材料的物體外在的表現(xiàn)是不同的,金屬的物體反光,玻璃制品透明,這些特征可以用節(jié)點(diǎn)Material反映出來。Material節(jié)點(diǎn)也稱為材質(zhì)節(jié)點(diǎn)。但是該節(jié)點(diǎn)并非指明造型是什么材料的,而是通過它包含的域值的設(shè)置使造型表現(xiàn)出來某種材質(zhì)的特征。創(chuàng)建造型的時(shí)候,總會(huì)用到Appearance

節(jié)點(diǎn)的material域。5.2設(shè)置虛擬對(duì)象的材質(zhì)不同材料的物體外在的表現(xiàn)是不同的,金1.使用語法Material{diffuseColor0.80.80.8#exposedfieldSFColorambientIntensify0.2#exposedfieldSFColorspecularColor000#exposedfieldSFColoremissiveColor000#exposedfieldSFColorshininess0.2#exposedfieldSFFloattransparency0#exposedfieldSFFloat}5.2設(shè)置虛擬對(duì)象的材質(zhì)1.使用語法5.2設(shè)置虛擬對(duì)象的材質(zhì)2.域值說明①diffuseColor

漫反射顏色。造型反射來自不同方向的光并且向四面八方反射出去。表面越接近垂直于光線,被反射的漫射光線就越多。

②ambientIntensity環(huán)境光被該表面反射的程度。所謂環(huán)境光是指造型周圍的光源的影響。在場景中光源越多,則環(huán)境光就越強(qiáng),但是不依賴于光源相對(duì)于造型表面的位置。③specularColor物體鏡面反射光的顏色。入射角等于反射角,設(shè)置了鏡面反射,會(huì)在某個(gè)角度觀察到強(qiáng)反射,而在其他角度就會(huì)觀察的弱到反射或者不反射。2.域值說明①diffuseColor漫反射顏色。造2.域值說明④emissiveColor發(fā)光物體發(fā)射的光的顏色。一般說來,在VRML中,造型都可以認(rèn)為是發(fā)光的,但是只是對(duì)于觀察者有意義,能觀察到這個(gè)發(fā)光體的顏色,但是和現(xiàn)實(shí)中情況不同,這個(gè)造型發(fā)的光不會(huì)照亮別的造型。⑤shininess物體表面的亮度,即發(fā)光度。在現(xiàn)實(shí)中,即便是同種材質(zhì),由于物體表面情況的不同,發(fā)光度也就不同,粗糙的表面和高度拋光的表面是不同的,這個(gè)域用來描述這種情況。⑥transparency設(shè)置造型的透明度。默認(rèn)值是不透明,取值為0,取值為1.0時(shí),造型完全透明。2.域值說明④emissiveColor發(fā)光物體發(fā)射的例1.閱讀程序,分析結(jié)果顯示效果圖兩個(gè)相同大小和顏色的物體,由于設(shè)置了不同的鏡面反射,當(dāng)觀察者站在光源位置時(shí),可以看到反射的不同顏色。例1.閱讀程序,分析結(jié)果顯示效果圖兩個(gè)相同大小和顏色的物體5.3為幾何體添加紋理紋理實(shí)際上就是一個(gè)位圖,將圖形指定到造型表面,就是紋理影射。紋理影射可以不改變物體幾何形狀,在不增加多邊形的基礎(chǔ)上提高渲染質(zhì)量,簡化表面的處理。例如:建筑物外墻、地板、草地等造型,可以通過在造型表面添加相應(yīng)的紋理來解決。這樣能創(chuàng)建非常形象的接近于實(shí)際的造型,設(shè)計(jì)方法簡便,同時(shí)也不會(huì)增加VRML文件的復(fù)雜程度。5.3為幾何體添加紋理紋理實(shí)際上就是一個(gè)位圖,將圖形指定到造VRML支持的紋理格式1.JPEG圖像在因特網(wǎng)上常見的圖像格式:①有損壓縮,文件較小,適合互聯(lián)網(wǎng)傳輸;②支持灰度圖像、RGB真彩色圖像,沒有透明度;③比較適合自然圖片,對(duì)含有表格、文字圖像支持不夠好。

VRML支持的紋理格式1.JPEG圖像在因特網(wǎng)上常見的VRML支持的紋理格式2.GIF圖像也是因特網(wǎng)上面常見的圖像格式:①壓縮率較高,文件較小,圖像質(zhì)量不高;②支持透明度;③因特網(wǎng)上應(yīng)用得很普遍。VRML支持的紋理格式2.GIF圖像也是因特網(wǎng)上面常見的VRML支持的紋理格式3.PNG圖像專門用于因特網(wǎng)的圖像格式:

①格式類似于GIF,但是支持的色數(shù)要多得很多;②相對(duì)于GIF圖像質(zhì)量高,支持單、雙、三以及四元素圖像,支持透明度和灰度;③適合含有表格、文字的圖片;VRML支持的紋理格式3.PNG圖像專門用于因特網(wǎng)的圖像VRML支持的紋理格式4.MPEG視頻采用運(yùn)動(dòng)圖像壓縮編碼MPEG壓縮的視頻格式:①視頻壓縮格式,質(zhì)量較高;②大多數(shù)的圖像顯示、播放、處理以及編輯軟件都支持這種格式;③不支持透明。VRML支持的紋理格式4.MPEG視頻采用運(yùn)動(dòng)圖像壓縮紋理影射所謂紋理映射就是將所需要的圖片等指定到需要的造型表面。在VRML中,主要借助于texture域完成,texture

是Apprearance

節(jié)點(diǎn)的一個(gè)域,其域值為單域值節(jié)點(diǎn)型。texture

支持三種紋理形式,分別用下面節(jié)點(diǎn)表示:1.ImageTexture它使用VRML支持的靜態(tài)圖像作為紋理;2.PixelTexture它使用十六進(jìn)制數(shù)直接在造型表面定義紋理;3.MovieTexture它使用VRML支持的動(dòng)態(tài)視頻文件作為紋理;雖然三個(gè)節(jié)點(diǎn)都能作為texture域的節(jié)點(diǎn)型域值,但是并非是同時(shí)使用的,只能根據(jù)需要在texture域中使用其中的一個(gè)作為域值。紋理影射所謂紋理映射就是將所需要的圖片等指定到需要的造型表面5.4使用靜態(tài)圖像作為造型紋理1.使用語法ImageTexture{url[]#exposedfieldMFStringrepeatSTRUE#SFBoolrepeatTTRUE#SFBool}5.4使用靜態(tài)圖像作為造型紋理1.使用語法5.4使用靜態(tài)圖像作為造型紋理2.域值說明①url指定作為紋理文件的外部圖像文件路徑。該路徑是磁盤上的特定位置,默認(rèn)是當(dāng)前文件夾。在url后面可以指定多個(gè)圖像文件的路徑,瀏覽器會(huì)按照指定的先后順序裝載該表中第一個(gè)能夠找到的文件,以免當(dāng)有些路徑失效的時(shí)候造型不能添加紋理。如果url后面為空,表示將不給造型添加紋理。②repeatS指明在紋理坐標(biāo)S方向上的紋理映射是否會(huì)重復(fù)填滿整個(gè)幾何造型的表面,如果該值取TRUE,則紋理圖像將會(huì)重復(fù)填滿造型表面,如果該值取FALSE,表明將鎖定紋理坐標(biāo),不會(huì)在造型表面重復(fù)填滿紋理。③repeatT

指明在紋理坐標(biāo)T方向上的紋理映射是否會(huì)重復(fù)填滿整個(gè)幾何造型的表面,如果該值取TRUE,則紋理圖像將會(huì)重復(fù)填滿造型表面,如果該值取FALSE,表明將鎖定紋理坐標(biāo),不會(huì)在造型表面重復(fù)填滿紋理。5.4使用靜態(tài)圖像作為造型紋理2.域值說明例2.給2個(gè)Shape節(jié)點(diǎn)創(chuàng)建的造型添加紋理例2.給2個(gè)Shape節(jié)點(diǎn)創(chuàng)建的造型添加紋理在上例的基礎(chǔ)上,修改程序。在上例的基礎(chǔ)上,修改程序。5.4像素紋理的實(shí)現(xiàn)PixelTexture節(jié)點(diǎn)給造型添加的紋理并不像Imagetexture節(jié)點(diǎn)那樣模擬真實(shí)的物體,比如墻壁、草地等,大多數(shù)情況下是給造型添加必要的修飾,在許多場合中,也能滿足構(gòu)建場景的要求。一般說來,在需要簡單的紋理時(shí)候,可以使用這個(gè)節(jié)點(diǎn),以減小文件的體積,因而節(jié)省資源,加快瀏覽速度。5.4像素紋理的實(shí)現(xiàn)PixelTexture節(jié)點(diǎn)給造型添加5.4像素紋理的實(shí)現(xiàn)1.使用語法PixelTexture{image000#exposedfieldSFImagerepeatSTRUE#SFBoolrepeatTTRUE#SFBool}5.4像素紋理的實(shí)現(xiàn)1.使用語法5.4像素紋理的實(shí)現(xiàn)2.域值說明

(1)image用SFImage格式定義二維紋理圖。該域值說明所定義的圖形的大小和像素值,三個(gè)整數(shù)值的意義依次為:①紋理圖形的寬度,單位是像素;②紋理圖形的高度,單位是像素;③表示紋理圖形的每個(gè)像素的一個(gè)特征數(shù)值,可以取0、1、2、3、4五個(gè)數(shù)值,每個(gè)數(shù)值表達(dá)了不同的含義。5.4像素紋理的實(shí)現(xiàn)2.域值說明5.4像素紋理的實(shí)現(xiàn)

像素特征值表達(dá)的含義5.4像素紋理的實(shí)現(xiàn)像素特征值表達(dá)的含義5.4像素紋理的實(shí)現(xiàn)②

repeatS同前面ImageTexture的域值情況類似,這個(gè)域值指明在紋理坐標(biāo)S方向上的紋理映射是否會(huì)重復(fù)填滿整個(gè)幾何造型的表面,如果該值取TRUE,則紋理圖像將會(huì)重復(fù)填滿造型表面,如果該值取FALSE,表明將鎖定紋理坐標(biāo),不會(huì)在造型表面重復(fù)填滿紋理。③

repeatT

同前面ImageTexture的域值情況類似,這個(gè)域值指明在紋理坐標(biāo)T方向上的紋理映射是否會(huì)重復(fù)填滿整個(gè)幾何造型的表面,如果該值取TRUE,則紋理圖像將會(huì)重復(fù)填滿造型表面,如果該值取FALSE,表明將鎖定紋理坐標(biāo),不會(huì)在造型表面重復(fù)填滿紋理。5.4像素紋理的實(shí)現(xiàn)②repeatS同前面ImageT例5.3像素紋理的實(shí)現(xiàn)例5.3像素紋理的實(shí)現(xiàn)5.5動(dòng)態(tài)紋理的實(shí)現(xiàn)給造型添加動(dòng)態(tài)視頻紋理用MovieTexture節(jié)點(diǎn),它是texture域的節(jié)點(diǎn)型域值。1.使用語法MovieTexture{url""#exposedfieldMFSstringspeed1#exposedfieldSFFloatloopFALSE#exposedfieldSFBoolstartTime0#exposedfieldSFTimestopTime0#exposedfieldSFTimerepeatSTRUE#SFBoolrepeatTTRUE#SFBool}

5.5動(dòng)態(tài)紋理的實(shí)現(xiàn)給造型添加動(dòng)態(tài)視頻紋理用Movie5.5動(dòng)態(tài)紋理的實(shí)現(xiàn)2.域值說明①

url指定作為紋理的視頻文件的路徑。可以指定多個(gè)文件路徑,在這種情況下,瀏覽器按排列的順序裝載第一個(gè)能找到并且VRML所支持的視頻文件。視頻紋理支持MPEG

格式的文件。②

speed

指定映射到造型上的視頻紋理的播放速度,這個(gè)域值是一個(gè)乘數(shù)因子。以值1表示以正常速度播放,大于1表示快速播放,小于1表示慢速播放,而負(fù)值表示倒放。當(dāng)視頻正在播放時(shí),set_speed事件將被忽略。意味著在視頻文件播放的過程中,不能通過外部事件的驅(qū)動(dòng)改變視頻播放的速度。5.5動(dòng)態(tài)紋理的實(shí)現(xiàn)2.域值說明2.域值說明③loop

指明視頻紋理是否循環(huán)播放,值TRUE表示循環(huán)播放。④

startTime指定視頻紋理開始播放的時(shí)間。當(dāng)視頻正在播放時(shí),set_startTime

事件將被忽略。意味著這時(shí)不能通過外部事件的驅(qū)動(dòng)改變其開始播放時(shí)間。⑤stopTime指定視頻紋理停止播放的時(shí)間。其數(shù)值應(yīng)該大于startTime,如果其值小于或等于startTime,set_stopTime事件將被忽略。意味著這時(shí)不能通過外部事件的驅(qū)動(dòng)改變其停止播放時(shí)間。2.域值說明③loop指明視頻紋理是否循環(huán)播放,值T2.域值說明⑥

repeatS

同前面ImageTexture的域值情況類似,這個(gè)域值指明在紋理坐標(biāo)S方向上的紋理映射是否會(huì)重復(fù)填滿整個(gè)幾何造型的表面,如果該值取TRUE,則紋理圖像將會(huì)重復(fù)填滿造型表面,如果該值取FALSE,表明將鎖定紋理坐標(biāo),不會(huì)在造型表面重復(fù)填滿紋理。⑦

repeatT

同前面ImageTexture的域值情況類似,這個(gè)域值指明在紋理坐標(biāo)T方向上的紋理映射是否會(huì)重復(fù)填滿整個(gè)幾何造型的表面,如果該值取TRUE,則紋理圖像將會(huì)重復(fù)填滿造型表面,如果該值取FALSE,表明將鎖定紋理坐標(biāo),不會(huì)在造型表面重復(fù)填滿紋理。2.域值說明⑥r(nóng)epeatS同前面ImageTextu例5.4動(dòng)態(tài)紋理例5.4動(dòng)態(tài)紋理5.6紋理的變換1紋理坐標(biāo)變換TextureTransform節(jié)點(diǎn)實(shí)際上是對(duì)紋理坐標(biāo)的變換,并非是紋理本身的變換。紋理坐標(biāo)是一個(gè)二維坐標(biāo),用S,T描述,紋理坐標(biāo)變換改變的是S,T所描述的紋理坐標(biāo),給出該坐標(biāo)的變化。同坐標(biāo)變換一樣,紋理坐標(biāo)變換實(shí)現(xiàn)的是紋理的平移、旋轉(zhuǎn)和縮放。進(jìn)行縮放的時(shí)候,紋理坐標(biāo)如果擴(kuò)大了,由于紋理本身并沒有變化,所以在造型上看起來紋理圖形小了。進(jìn)行紋理坐標(biāo)的旋轉(zhuǎn)的時(shí)候,是紋理坐標(biāo)(S,T)的旋轉(zhuǎn),則看起來紋理也旋轉(zhuǎn)了一個(gè)角度。同理,很容易理解坐標(biāo)平移的概念5.6紋理的變換1紋理坐標(biāo)變換紋理坐標(biāo)變換的實(shí)現(xiàn)

Appearance節(jié)點(diǎn)有三個(gè)域:①material域用來設(shè)置造型的材質(zhì);②texture域用來給造型添加紋理;③textureTransform域用來實(shí)現(xiàn)紋理坐標(biāo)的變換。上述的三個(gè)域的域值都是節(jié)點(diǎn)型域值,textureTransform域的域值是同名的節(jié)點(diǎn),該節(jié)點(diǎn)用來實(shí)現(xiàn)紋理的坐標(biāo)變換。包括紋理的平移、旋轉(zhuǎn)和縮放。紋理坐標(biāo)變換的實(shí)現(xiàn)Appearance節(jié)點(diǎn)有三個(gè)域:1.使用語法TextureTransform{translation00#exposedfieldSFVec2frotation0#exposedfieldSFFloatscale11#exposedfieldSFVec2fcenter00#exposedfieldSFVec2f}1.使用語法TextureTransform2.域值說明①translation確定紋理坐標(biāo)系的平移。②rotation指定一個(gè)以center域中定義的任意中心為原點(diǎn)的旋轉(zhuǎn),其值以弧度表示。旋轉(zhuǎn)的是紋理坐標(biāo)系,不是紋理本身。③scale指定一個(gè)以center

域中定義的任意中心為原點(diǎn)的縮放。坐標(biāo)以S,T表示,在兩個(gè)軸上的縮放程度可以不同。這里縮放的是紋理坐標(biāo)系,不是紋理本身。④center對(duì)于紋理,定義一個(gè)縮放和旋轉(zhuǎn)的任意中心。2.域值說明①translation確定紋理坐標(biāo)系的平例5.5紋理坐標(biāo)變換圖b在圖a的基礎(chǔ)上對(duì)紋理坐標(biāo)進(jìn)行了平移,新位置在s=0.2,t=0.2處,可以看到,由于紋理坐標(biāo)移動(dòng)了,依賴于坐標(biāo)的紋理也就發(fā)生了變化。從程序中可以看到,這里并沒有設(shè)置material域,是用紋理的方法代替了造型材質(zhì)的設(shè)置。圖a圖b例5.5紋理坐標(biāo)變換圖b在圖a的基礎(chǔ)上對(duì)紋理坐標(biāo)進(jìn)行了平例5.5紋理坐標(biāo)變換如圖b所示,因?yàn)闆]有設(shè)置center域,擇取默認(rèn)值,紋理坐標(biāo)相對(duì)于(0,0)點(diǎn)旋轉(zhuǎn)了45°角,相應(yīng)的看起來,紋理也旋轉(zhuǎn)了45°。圖a圖b例5.5紋理坐標(biāo)變換如圖b所示,因?yàn)闆]有設(shè)置cent例5.6構(gòu)造復(fù)雜造型如圖b所示,對(duì)紋理坐標(biāo)進(jìn)行了縮放,從程序中可以看到,在S方向、T方向分別增大為原來的兩倍,相應(yīng)的紋理圖形在新的紋理坐標(biāo)系中的兩個(gè)方向上等效于縮小為原來的二分之一。這里可以很清楚地看到,縮放是針對(duì)紋理坐標(biāo)的,而并非紋理本身。否則scale2.0應(yīng)該使得紋理圖形增大。圖a圖b例5.6構(gòu)造復(fù)雜造型如圖b所示,對(duì)紋理坐標(biāo)進(jìn)行了縮放,從作業(yè)結(jié)合本章所學(xué)知識(shí)點(diǎn),自己設(shè)計(jì)一系列場景節(jié)點(diǎn),放在同一個(gè)wrl文件中,要求自己設(shè)計(jì)場景和布局,充分應(yīng)用所學(xué)知識(shí)點(diǎn),鼓勵(lì)作品創(chuàng)意新穎、構(gòu)思獨(dú)特。提交作業(yè)時(shí),要把所有素材(圖片、視頻等)和程序文件打包后上傳到BB平臺(tái)。

作業(yè)結(jié)合本章所學(xué)知識(shí)點(diǎn),自己設(shè)計(jì)一系列場景節(jié)點(diǎn),放在同一個(gè)w第五章虛擬現(xiàn)實(shí)技術(shù)第五章虛擬現(xiàn)實(shí)技術(shù)第5章

虛擬造型的外觀學(xué)習(xí)目標(biāo)1.理解造型的材質(zhì)節(jié)點(diǎn)Material和外觀節(jié)點(diǎn)Appearance的各個(gè)域值的含義2.熟練掌握Appearance節(jié)點(diǎn)和Material節(jié)點(diǎn)的使用方法3.掌握設(shè)置圖像紋理、視頻紋理的方法,理解像素紋理的使用4.會(huì)使用紋理變換合理的渲染造型第5章虛擬造型的外觀學(xué)習(xí)目標(biāo)5.1設(shè)置虛擬對(duì)象的外觀

1.使用語法Appearance{materialNULL#exposedfieldSFNodetextureNULL#exposedfieldSFNodetextureTransformNULL#exposedfieldSFNode}5.1設(shè)置虛擬對(duì)象的外觀1.使用語法2.域值說明①

material域值為Material節(jié)點(diǎn)。該域值通過使用Material節(jié)點(diǎn)設(shè)置了造型的基本對(duì)外表現(xiàn)的特征。②

texture域值為ImageTexture、MovieTexture或者PixelTexture三個(gè)節(jié)點(diǎn)之中的任一個(gè),用來給造型設(shè)置靜態(tài)或者動(dòng)態(tài)紋理,從而使造型更加生動(dòng)、逼真。③

textureTransform域值為TextureTransform節(jié)點(diǎn)。用來設(shè)置紋理的變換,如紋理的平移、旋轉(zhuǎn)和縮放等等,使紋理更加準(zhǔn)確。如果texture

域?yàn)镹ULL,即沒有給造型設(shè)置紋理,則textureTransform域無效。2.域值說明①material域值為Material節(jié)5.2設(shè)置虛擬對(duì)象的材質(zhì)不同材料的物體外在的表現(xiàn)是不同的,金屬的物體反光,玻璃制品透明,這些特征可以用節(jié)點(diǎn)Material反映出來。Material節(jié)點(diǎn)也稱為材質(zhì)節(jié)點(diǎn)。但是該節(jié)點(diǎn)并非指明造型是什么材料的,而是通過它包含的域值的設(shè)置使造型表現(xiàn)出來某種材質(zhì)的特征。創(chuàng)建造型的時(shí)候,總會(huì)用到Appearance

節(jié)點(diǎn)的material域。5.2設(shè)置虛擬對(duì)象的材質(zhì)不同材料的物體外在的表現(xiàn)是不同的,金1.使用語法Material{diffuseColor0.80.80.8#exposedfieldSFColorambientIntensify0.2#exposedfieldSFColorspecularColor000#exposedfieldSFColoremissiveColor000#exposedfieldSFColorshininess0.2#exposedfieldSFFloattransparency0#exposedfieldSFFloat}5.2設(shè)置虛擬對(duì)象的材質(zhì)1.使用語法5.2設(shè)置虛擬對(duì)象的材質(zhì)2.域值說明①diffuseColor

漫反射顏色。造型反射來自不同方向的光并且向四面八方反射出去。表面越接近垂直于光線,被反射的漫射光線就越多。

②ambientIntensity環(huán)境光被該表面反射的程度。所謂環(huán)境光是指造型周圍的光源的影響。在場景中光源越多,則環(huán)境光就越強(qiáng),但是不依賴于光源相對(duì)于造型表面的位置。③specularColor物體鏡面反射光的顏色。入射角等于反射角,設(shè)置了鏡面反射,會(huì)在某個(gè)角度觀察到強(qiáng)反射,而在其他角度就會(huì)觀察的弱到反射或者不反射。2.域值說明①diffuseColor漫反射顏色。造2.域值說明④emissiveColor發(fā)光物體發(fā)射的光的顏色。一般說來,在VRML中,造型都可以認(rèn)為是發(fā)光的,但是只是對(duì)于觀察者有意義,能觀察到這個(gè)發(fā)光體的顏色,但是和現(xiàn)實(shí)中情況不同,這個(gè)造型發(fā)的光不會(huì)照亮別的造型。⑤shininess物體表面的亮度,即發(fā)光度。在現(xiàn)實(shí)中,即便是同種材質(zhì),由于物體表面情況的不同,發(fā)光度也就不同,粗糙的表面和高度拋光的表面是不同的,這個(gè)域用來描述這種情況。⑥transparency設(shè)置造型的透明度。默認(rèn)值是不透明,取值為0,取值為1.0時(shí),造型完全透明。2.域值說明④emissiveColor發(fā)光物體發(fā)射的例1.閱讀程序,分析結(jié)果顯示效果圖兩個(gè)相同大小和顏色的物體,由于設(shè)置了不同的鏡面反射,當(dāng)觀察者站在光源位置時(shí),可以看到反射的不同顏色。例1.閱讀程序,分析結(jié)果顯示效果圖兩個(gè)相同大小和顏色的物體5.3為幾何體添加紋理紋理實(shí)際上就是一個(gè)位圖,將圖形指定到造型表面,就是紋理影射。紋理影射可以不改變物體幾何形狀,在不增加多邊形的基礎(chǔ)上提高渲染質(zhì)量,簡化表面的處理。例如:建筑物外墻、地板、草地等造型,可以通過在造型表面添加相應(yīng)的紋理來解決。這樣能創(chuàng)建非常形象的接近于實(shí)際的造型,設(shè)計(jì)方法簡便,同時(shí)也不會(huì)增加VRML文件的復(fù)雜程度。5.3為幾何體添加紋理紋理實(shí)際上就是一個(gè)位圖,將圖形指定到造VRML支持的紋理格式1.JPEG圖像在因特網(wǎng)上常見的圖像格式:①有損壓縮,文件較小,適合互聯(lián)網(wǎng)傳輸;②支持灰度圖像、RGB真彩色圖像,沒有透明度;③比較適合自然圖片,對(duì)含有表格、文字圖像支持不夠好。

VRML支持的紋理格式1.JPEG圖像在因特網(wǎng)上常見的VRML支持的紋理格式2.GIF圖像也是因特網(wǎng)上面常見的圖像格式:①壓縮率較高,文件較小,圖像質(zhì)量不高;②支持透明度;③因特網(wǎng)上應(yīng)用得很普遍。VRML支持的紋理格式2.GIF圖像也是因特網(wǎng)上面常見的VRML支持的紋理格式3.PNG圖像專門用于因特網(wǎng)的圖像格式:

①格式類似于GIF,但是支持的色數(shù)要多得很多;②相對(duì)于GIF圖像質(zhì)量高,支持單、雙、三以及四元素圖像,支持透明度和灰度;③適合含有表格、文字的圖片;VRML支持的紋理格式3.PNG圖像專門用于因特網(wǎng)的圖像VRML支持的紋理格式4.MPEG視頻采用運(yùn)動(dòng)圖像壓縮編碼MPEG壓縮的視頻格式:①視頻壓縮格式,質(zhì)量較高;②大多數(shù)的圖像顯示、播放、處理以及編輯軟件都支持這種格式;③不支持透明。VRML支持的紋理格式4.MPEG視頻采用運(yùn)動(dòng)圖像壓縮紋理影射所謂紋理映射就是將所需要的圖片等指定到需要的造型表面。在VRML中,主要借助于texture域完成,texture

是Apprearance

節(jié)點(diǎn)的一個(gè)域,其域值為單域值節(jié)點(diǎn)型。texture

支持三種紋理形式,分別用下面節(jié)點(diǎn)表示:1.ImageTexture它使用VRML支持的靜態(tài)圖像作為紋理;2.PixelTexture它使用十六進(jìn)制數(shù)直接在造型表面定義紋理;3.MovieTexture它使用VRML支持的動(dòng)態(tài)視頻文件作為紋理;雖然三個(gè)節(jié)點(diǎn)都能作為texture域的節(jié)點(diǎn)型域值,但是并非是同時(shí)使用的,只能根據(jù)需要在texture域中使用其中的一個(gè)作為域值。紋理影射所謂紋理映射就是將所需要的圖片等指定到需要的造型表面5.4使用靜態(tài)圖像作為造型紋理1.使用語法ImageTexture{url[]#exposedfieldMFStringrepeatSTRUE#SFBoolrepeatTTRUE#SFBool}5.4使用靜態(tài)圖像作為造型紋理1.使用語法5.4使用靜態(tài)圖像作為造型紋理2.域值說明①url指定作為紋理文件的外部圖像文件路徑。該路徑是磁盤上的特定位置,默認(rèn)是當(dāng)前文件夾。在url后面可以指定多個(gè)圖像文件的路徑,瀏覽器會(huì)按照指定的先后順序裝載該表中第一個(gè)能夠找到的文件,以免當(dāng)有些路徑失效的時(shí)候造型不能添加紋理。如果url后面為空,表示將不給造型添加紋理。②repeatS指明在紋理坐標(biāo)S方向上的紋理映射是否會(huì)重復(fù)填滿整個(gè)幾何造型的表面,如果該值取TRUE,則紋理圖像將會(huì)重復(fù)填滿造型表面,如果該值取FALSE,表明將鎖定紋理坐標(biāo),不會(huì)在造型表面重復(fù)填滿紋理。③repeatT

指明在紋理坐標(biāo)T方向上的紋理映射是否會(huì)重復(fù)填滿整個(gè)幾何造型的表面,如果該值取TRUE,則紋理圖像將會(huì)重復(fù)填滿造型表面,如果該值取FALSE,表明將鎖定紋理坐標(biāo),不會(huì)在造型表面重復(fù)填滿紋理。5.4使用靜態(tài)圖像作為造型紋理2.域值說明例2.給2個(gè)Shape節(jié)點(diǎn)創(chuàng)建的造型添加紋理例2.給2個(gè)Shape節(jié)點(diǎn)創(chuàng)建的造型添加紋理在上例的基礎(chǔ)上,修改程序。在上例的基礎(chǔ)上,修改程序。5.4像素紋理的實(shí)現(xiàn)PixelTexture節(jié)點(diǎn)給造型添加的紋理并不像Imagetexture節(jié)點(diǎn)那樣模擬真實(shí)的物體,比如墻壁、草地等,大多數(shù)情況下是給造型添加必要的修飾,在許多場合中,也能滿足構(gòu)建場景的要求。一般說來,在需要簡單的紋理時(shí)候,可以使用這個(gè)節(jié)點(diǎn),以減小文件的體積,因而節(jié)省資源,加快瀏覽速度。5.4像素紋理的實(shí)現(xiàn)PixelTexture節(jié)點(diǎn)給造型添加5.4像素紋理的實(shí)現(xiàn)1.使用語法PixelTexture{image000#exposedfieldSFImagerepeatSTRUE#SFBoolrepeatTTRUE#SFBool}5.4像素紋理的實(shí)現(xiàn)1.使用語法5.4像素紋理的實(shí)現(xiàn)2.域值說明

(1)image用SFImage格式定義二維紋理圖。該域值說明所定義的圖形的大小和像素值,三個(gè)整數(shù)值的意義依次為:①紋理圖形的寬度,單位是像素;②紋理圖形的高度,單位是像素;③表示紋理圖形的每個(gè)像素的一個(gè)特征數(shù)值,可以取0、1、2、3、4五個(gè)數(shù)值,每個(gè)數(shù)值表達(dá)了不同的含義。5.4像素紋理的實(shí)現(xiàn)2.域值說明5.4像素紋理的實(shí)現(xiàn)

像素特征值表達(dá)的含義5.4像素紋理的實(shí)現(xiàn)像素特征值表達(dá)的含義5.4像素紋理的實(shí)現(xiàn)②

repeatS同前面ImageTexture的域值情況類似,這個(gè)域值指明在紋理坐標(biāo)S方向上的紋理映射是否會(huì)重復(fù)填滿整個(gè)幾何造型的表面,如果該值取TRUE,則紋理圖像將會(huì)重復(fù)填滿造型表面,如果該值取FALSE,表明將鎖定紋理坐標(biāo),不會(huì)在造型表面重復(fù)填滿紋理。③

repeatT

同前面ImageTexture的域值情況類似,這個(gè)域值指明在紋理坐標(biāo)T方向上的紋理映射是否會(huì)重復(fù)填滿整個(gè)幾何造型的表面,如果該值取TRUE,則紋理圖像將會(huì)重復(fù)填滿造型表面,如果該值取FALSE,表明將鎖定紋理坐標(biāo),不會(huì)在造型表面重復(fù)填滿紋理。5.4像素紋理的實(shí)現(xiàn)②repeatS同前面ImageT例5.3像素紋理的實(shí)現(xiàn)例5.3像素紋理的實(shí)現(xiàn)5.5動(dòng)態(tài)紋理的實(shí)現(xiàn)給造型添加動(dòng)態(tài)視頻紋理用MovieTexture節(jié)點(diǎn),它是texture域的節(jié)點(diǎn)型域值。1.使用語法MovieTexture{url""#exposedfieldMFSstringspeed1#exposedfieldSFFloatloopFALSE#exposedfieldSFBoolstartTime0#exposedfieldSFTimestopTime0#exposedfieldSFTimerepeatSTRUE#SFBoolrepeatTTRUE#SFBool}

5.5動(dòng)態(tài)紋理的實(shí)現(xiàn)給造型添加動(dòng)態(tài)視頻紋理用Movie5.5動(dòng)態(tài)紋理的實(shí)現(xiàn)2.域值說明①

url指定作為紋理的視頻文件的路徑??梢灾付ǘ鄠€(gè)文件路徑,在這種情況下,瀏覽器按排列的順序裝載第一個(gè)能找到并且VRML所支持的視頻文件。視頻紋理支持MPEG

格式的文件。②

speed

指定映射到造型上的視頻紋理的播放速度,這個(gè)域值是一個(gè)乘數(shù)因子。以值1表示以正常速度播放,大于1表示快速播放,小于1表示慢速播放,而負(fù)值表示倒放。當(dāng)視頻正在播放時(shí),set_speed事件將被忽略。意味著在視頻文件播放的過程中,不能通過外部事件的驅(qū)動(dòng)改變視頻播放的速度。5.5動(dòng)態(tài)紋理的實(shí)現(xiàn)2.域值說明2.域值說明③loop

指明視頻紋理是否循環(huán)播放,值TRUE表示循環(huán)播放。④

startTime指定視頻紋理開始播放的時(shí)間。當(dāng)視頻正在播放時(shí),set_startTime

事件將被忽略。意味著這時(shí)不能通過外部事件的驅(qū)動(dòng)改變其開始播放時(shí)間。⑤stopTime指定視頻紋理停止播放的時(shí)間。其數(shù)值應(yīng)該大于startTime,如果其值小于或等于startTime,set_stopTime事件將被忽略。意味著這時(shí)不能通過外部事件的驅(qū)動(dòng)改變其停止播放時(shí)間。2.域值說明③loop指明視頻紋理是否循環(huán)播放,值T2.域值說明⑥

repeatS

同前面ImageTexture的域值情況類似,這個(gè)域值指明在紋理坐標(biāo)S方向上的紋理映射是否會(huì)重復(fù)填滿整個(gè)幾何造型的表面,如果該值取TRUE,則紋理圖像將會(huì)重復(fù)填滿造型表面,如果該值取FALSE,表明將鎖定紋理坐標(biāo),不會(huì)在造型表面重復(fù)填滿紋理。⑦

repeatT

同前面ImageTexture的域值情況類似,這個(gè)域值指明在紋理坐標(biāo)T方向上的紋理映射是否會(huì)重復(fù)填滿整個(gè)幾何造型的表面,如果該值取TRUE,則紋理圖像將會(huì)重復(fù)填滿造型表面,如果該值取FALSE,表明將鎖定紋理坐標(biāo),不會(huì)在造型表面重復(fù)填滿紋理。2.域值說明⑥r(nóng)epeatS同前面ImageTextu例5.4動(dòng)態(tài)紋理例5.4動(dòng)態(tài)紋理5.6紋理的變換1紋理坐標(biāo)變換TextureTransform節(jié)點(diǎn)實(shí)際上是對(duì)紋理坐標(biāo)的變換,并非是紋理本身的變換。紋理坐標(biāo)是一個(gè)二維坐標(biāo),用S,T描述,紋理坐標(biāo)變換改變的是S,T

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論