1.先選擇一個讀者熟悉的流覽器,開啟一個名為PC.WRL的新檔。

2.我們將創造一個電腦,由於是由多個不同形狀的物體組合而成,因此慢好先詳細規劃 這個電腦的草圖,讀者手中如果有紙筆,不仿親自畫一遍,如此待會開始用VRML語法 描述這個電腦時,物體和物體在空間中的對應關係會更清楚。

3.首先我們先建立螢幕部分,加入以下敘述至PC.WRL中,再將PC.WRL存檔後進入Netscape, 選擇工具列中的<開啟>,填入PC.WRL完整的路徑及檔名,如 E:\PC.WRL,如此便可檢視 我們剛建造好的螢幕.

#VRML V1.0 ascii

Separator {

Transform {

translation 0 0 0 #方塊位於(0,0,0)的位置,不移動

rotation 0 1 0 0.78 #方塊繞著Y軸向逆時針轉45度

}

Material {

ambientColor 0.6 0.6 0.6 #有點淺灰

}

DEF MONITOR Cube { width 4 #造出一個螢幕的方塊 寬4單位

height 4 # 高4單位
depth 5 # 長4單位
}
}
專家的話:rotation後的四個數字分別是代表 X Y Z 及轉動的弳度量,如1.57表示轉 動90度,那0.78就是轉動45度。

4.接下來是建立螢幕下方的旋轉座,再接著上一步驟加入新的敘述於PC.WRL中,並請 注意括號的對稱。

DEF MONITOR Cube { width 4

height 4
depth 5
}

Separator { #新加入的敘述從這開始

Transform {

translation 0 -2.25 0 #旋轉座的中心點在(0,-2.25,0)

}

Material {

emissiveColor 1 1 1 #表面顏色是白色

}

Cylinder {

parts ALL #預設值

height 0.5 #旋轉座是個圓柱 高0.5

radius 1.2 # 半徑 1.2

}

}

}

小技巧:VRML中其提供ambientColor、emissiveColor及diffuseColor等三種顏色特 性,讀者們可自己試試其間不同的效果。

5.螢幕有旋轉座,那當然也要有個底盤,所以我們就做個底盤吧!是個薄板狀的東西。

Cylinder {

parts ALL

height 0.5

radius 1.2

}

}

Separator { #新加入的敘述由此開始

Transform {

translation 0 -2.65 0 #薄板的中心點在(0,-2.65,0)

}

Material { ambientColor 1 1 1 #表面是亮白色 }

Cube {

width 3.5 #薄板是六面體,同樣可用Cube來產生

height 0.3 #寬3.5,高0.3

depth 3.5 #長3.5 } } }

6.最後是主機的部分,也許很聰明的你已經想到再使用一個Cube就搞定了,但是呢,我 們想只在主機外殼的前一個面貼上一張材質圖,以一個Cube節點來說這是不可能的 ,所以,接下來介紹各位讀者一個很有用的節點,利用它,甚至可以造出各種外形的物 體呢!首先讀者先了解一下主機外殼的六個面和八個頂點在空間中分佈的情形。

7.在我們弄清楚主機外殼的六個面是如何組合的後,加入以下新的敘述到PC.WRL中。

Cube {

width 3.5

height 0.3

depth 3.5 }

}

Separator { #新加的敘述由此開始

Coordinate3 {#開始指定八個頂點的座標

point [

3 -2.8 3, #0號頂點座標

3 -4.8 3, #1號頂點座標

-3 -4.8 3, #2號頂點座標

-3 -2.8 3, #3號頂點座標

-3 -2.8 -3, #4號頂點座標

3 -2.8 -3, #5號頂點座標

3 -4.8 -3, #6號頂點座標

-3 -4.8 -3 #7號頂點座標

] }

Material { ambientColor 0.7 0.7 0.7 }

IndexedFaceSet { coordIndex [ #描述主機外殼表面的五個面(不含底)

0,1,6,5,-1, #右面

4,5,6,7,-1,#後面

2,3,4,7,-1, #左面

0,3,4,5,-1 #上面

] }

Texture2 { filename "borad.jpg"} #貼上控制面板

Texture2Transform { scaleFactor 1 3 } #設定材質的比例使其和主機前端面板大小吻合

IndexedFaceSet {

coordIndex [

0,1,2,3,-1] #前面 } } } }

8.電腦完成了!!