第五章 SRC 互動模型之建構
5.2 應用Virtools進行模型互動內容之製作
5.2.1 3ds Max 模型匯出至 Virtools
當在 3ds Max 上製作完 3D SRC 模型之後,接著先將其透過 Virtools 3ds Max Exporter 匯出成為 *. nmo 檔,然後再從 Virtools 進行 Import File 程序,同時也要一 併將之後使用的 2D 圖片放置到 Virtools 的資源資料夾中。
5.2.2 攝影機與燈光
由於在一開始並沒有建立光源和攝影機,故初使狀態只能看到全黑的模型,
以及角度不理想的攝影機如圖 5-29 顯示。所以接下來便是攝影機的新增及定位與 光源的建立。首先使用編輯區移動視角的功能,先將畫面調整至可以觀看到模型 主體的合適位置,接著點擊物件建立區的新增攝影機按鈕,位置在圖 5-30 所標示 處,最後按下設定初始狀態按鈕(Set IC)完成設定。Set IC 的作用為紀錄關於被指 定物件的所有資訊,包括初始位置、關聯性設定、材質紋理等等,當在 Virtools 編輯過程中發現不滿意的時候,可以使用 Restore IC 按鈕恢復之前的 IC 設定,而 不用花時間改回原來設定。
接著點擊物件建立區的創造光源按鈕,會立刻出現一個照射範圍有限的點光 源(Point Light),由於 Virtools 的點光源影響距離不能設置為無限,所以為了打光 的方便性,便將此光源模式變更為方向性光源(Directional Light),這個設定的特色 是光的影響距離是無限,不過由於單靠一個方向的打光並不能涵蓋模型全部範 圍,因此在此步驟加入了數個照射方向不同的光線,最終效果如圖 5-31 所示。
5.2.3 攝影機移動控制
接下來製作讓使用者可以隨意移動視野的互動功能,方法就是將攝影機物件
連結至按鍵作用、移動、轉動等 Building Block 組合,圖 5-32 為控制移動攝影機 的 Building Block 腳本示意圖。之後使用者便可以透過設定好的鍵盤按鈕,操控視 角進行觀察,而對應之鍵盤按鈕與作用列於表 5-1 中。
第一攝影機攝製完成後,接著在模型斜上方 45 度角附近,設置第二攝影機,
這裡設定為使用 F7(第一攝影機)、F8(第二攝影機)切換要觀看的攝影機視點。
5.2.4 SRC 物件組裝流程控制
接著要製作出 SRC 各物件隨時間移動到定位的效果,因此先把模型元件拆開 並放置到移動前的初始位置,各元件起始位置如圖 5-33 所示。依各部位移動的方 式,利用關於物件運動相關的 Building Block 組合出移動的模式,同時利用 Building Block (BB) : Delayer 以改變參數的方法控式物件移動的先後順序,圖 5-34 為控 制物件移動的主要腳本。
流程控制腳本大致結構為先利用 BB:Delayer 製造時間差,接著使用 BB:Bezier Progression 控制前進方向及速度,有部分物件則使用了 Building Block:Show/Hide 控制。作用為當到達指定時間時,該物件就會顯示在預設位置,這種控制法雖然 沒有移動的效果,卻能節省設定參數的時間。
由於 Bezier Progression 的移動十分依賴 PC 的即時運算,當電腦效能有限,以 及同時有多數物體運行時,此建構模組的運行會發生一些問題。例如每次執行 時,物體行進的距離皆不一致,以至於最後物件無法準確結合。為了修正此缺陷,
因此當 Bezier Progression 運行結束後,在結尾處又另外使用 BB:Set Position,來 修正最後的位置。
製作物件隨時間移動要考慮的要素大致上有:
1. 細膩度:對越多元件進行腳本製作,越能感受到細節,不過相對而言就需要花 較多時間對每個元件進行腳本設定,同時也會對 PC 表現效能造成影響。另外,
也可利用群組模式,將類似元件以一次性的方式移動到定位,好處是腳本設定
快速,不過要犧牲細膩程度。
2. 呈現效果:物件要用何種方式出現,例如移動、隨時間進程逐一顯示、材質漸 變顯示等等。
3. 物件分散處理:由於元件移動到最後才拼湊出整體,因此在移動前要進行元件 拆散的作業,將各部位依移動方式先放置到合適的位置,放置的位置也影響到 之後的呈現效果。
4. 時間差的處理:物件拼湊不是在同一時間進行所有步驟,因此要事先決定先後 順序,同時移動物件所花的時間也要進行考慮,才不會發生 A 物件尚未到定 點,而 B 物件卻已經到達的視覺上奇怪現象。
5.2.5 互動模型的特殊功能按鈕製作
安排好各元件的移動順序及位置之後,接著為了製作出有功能性的 Icon,先 製作數個 2D Frame,同時也使用繪圖軟體(Paint.net)製作出對應的按鈕圖示,圖 5-35 為使用 Paint.net 繪製一箭頭按鈕之示意圖。以繪圖軟體繪製圖示,之後以 png 格式存在材質庫的目錄之下,接著在 Virtools 中創造新材質(Material),同時指定使 用剛剛做好的 PNG 圖檔為其紋理(Texture) 如圖 5-36 所示。指定各 2D Frame 使用 對應的材質,即完成 Icon 的圖樣。最後再將想要運作的功能透過 Building Block 的串接,連接到各 Icon 之上,即可賦予 Icon 有執行指令的能力。圖 5-37 為按鈕 的腳本示意圖,圖 5-38 為加入新功能後的操作介面。
本研究安排模型具有的功能,包含了速度控制。有半速(SPEEDX0.5)、一倍速 (SPEEDX1)、二倍速(SPEEDX2)以及暫停功能(PAUSE)供使用者選擇。速度控制按 鈕可用來控制模型組裝速度的變化,可以加速或是放慢組裝的流程展示,甚至是 將流程暫停。主要使用到 BB:Time Settings 可以對整體運行速度加以控制,不過 同時也要對會被此作用所影響的攝影機移動速度進行參數的變更設定。在模型組 裝的過程中、暫停時或是組裝流程結束後,使用者皆可隨時以鍵盤控制攝影機的
移動,可以對攝影機進行拉近、遠離、水平移動、旋轉等控制,或是切換不同的 觀察視角。
除此之外還設有攝影機回到中央的按鈕(TARGET CENTER),讓使用者能快速 回到初始的觀察視點,對攝影機使用 BB:Set Position & BB:Look At 即可達成此 作用。接下來是立體效果的開關,由於此模型也要適用於沒有立體播放配備能力 的電腦,所以設計了這個可以開關控制立體顯像的功能,主要使用 BB:Activate Script & BB:Deactivat Script 對顯示立體效果的腳本進行開關控制。螢幕左下角另 外配置了攝影機移動控制按鈕,讓使用者多了一種控制模式,和鍵盤控制不同的 地方在於,以此區域進行控制時,攝影機的移動速度會較為緩慢,可以慢速移動 視角,對於細部之觀察將會有較好的效果。
最左下方為隱藏 2D Frame 鈕,由於 2D Frame 會影響立體顯像效果,因此在 進行立體播放時可將此功能打開,如此物件就不會被按鈕圖示所遮蔽。這邊使用 到 BB:Show & BB:Hide 二者作用對象為畫面上的 2D Frame。旁邊的則是隱藏 3D 物件鈕(HIDE OBJECT),按下 On 之後點選任何物件則該物件就會立刻消失,
其作用是在便於觀察被遮住的地方,當想要觀察的對象被其他物件擋住時可以使 用,按 Off 為停止該功能。使用 BB:Mouse Waiter 、 BB:2D Picking、BB:Hide,
而作用對象為 3D Objects。
5.2.6 模型細部調整及物件資訊顯示
之後就是對模型整體進行細部調整,包括物件位置移動後的再定位、各 Building Block 內的參數微調整、漸變材質處理、視角調整、模型運行速度控制等 處理。當模型能正常動作之後,接著便加入物件資訊,利用群組功能及 Building Block 的組合,做出點擊畫面上任何物件便能顯示出相關資訊的效果,如圖 5-39 所示,點擊 H 型鋼樑後其相關資訊顯示於左上角處。
除了箱型鋼柱模型之外,為配合立體功能展示,另外製作了簡易的 SRC 五
螺箍模型,圖 5-40 即為其示意圖。同時為了能直接放上網際網路,使用 Virtools 的功能將製作成品輸出成 htm 檔案,可直接使用網頁瀏覽器開啟,圖 5-41 為使用 IE 開啟的畫面,除 IE 之外尚支援如 Firefox, Mozilla, Netscape 等瀏覽器,開啟前會 自動下載 3D Life Player,也因需要在有網路連線的狀態下才能開啟。
最後一步是匯入 Virtools 的 Stereo Pack(Building Block 的模組包),搭配上立體 投影設備以及線性偏光眼鏡,製作出之前章節中提及的立體效果。
第六章 模型展示
在前面介紹了從建立模型一直到賦予物件共動性的過程,本節將以文字以及 配合圖說的方式,進行 SRC 組裝流程的展示,藉由模型逐步的動態進程,解說整 個模型的運作過程。