• 沒有找到結果。

3.1 互動敘事系統使用載具

3.1.2 自然的互動控制設計

立 政 治 大 學

Na tiona

l Ch engchi University

本研究之敘事系統預計使用的載具,如圖 8 所示,以 HTC 公司所製造的 HTC Vive,

包含一 VR 眼鏡及雙手的控制器,以及提供 4 公尺 x4 公尺的空間定位辨識。另外,我們 搭載一麥克風作為語音辨識之輸入裝置。我們希望故事體驗者能夠使用他們的手去拿取 虛擬世界的物品。如圖 9 所示,故事體驗者可握著控制器將手自然向前舉起,虛擬世界 之故事主角人物的手臂也會即時舉起;體驗者可以自由走動於虛擬場景中;可以用說話 指令跟非玩家控制角色互動、對話;頭部轉動也可以看見不一樣角度的虛擬世界。將這 些不同的載具整合在我們的系統,我們希望體驗者可以藉由自然的肢體語言,無需額外 學習便能體驗我們的敘事系統。

3.1.2 自然的互動控制設計

傳統的互動輸入裝置(如鍵盤、滑鼠)其對應的互動指令較不如現實中的互動方式直覺,

往往需要經過一些複雜訓練或是提醒,以選項或是點擊畫陎的方式進行體驗,而且在體 驗的過程中,容易讓人無法專心沉溺在故事的薰陶之中,因此我們利用虛擬實境裝置搭

圖 9 故事體驗者伸出雙手,於虛擬眼鏡顯示的畫陎

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

配的專用手把、全方位定位系統及麥克風等互動裝置,設計符合自然動作的操控方式,

只要簡易的教學尌能讓故事體驗者像平常一樣透過說話、走路、揮動肢體等方式與故事 中的人物劇情進行互動,減少動作認知的隔閡,讓故事體驗者在參與故事不被打斷,進 而提升故事體驗沉浸度。

為了增加故事體驗者對於虛擬主角控制之存在感,故事體驗者往下看可以看見虛擬 主角的身體部分,如圖 10 左圖所示,故事體驗者向下可看見虛擬角色的胸膛。右圖為 同一角色不同視角看見的畫陎,但由於本研究系統為第一人稱模式,因此右圖的畫陎在 體驗過程中不會出現。

在範例故事中,如果體驗者是邊行走邊往下看的話,我們也實作模擬腳移動的動畫,

會隨著移動進行行走的動畫,增加體驗者對於操作的虛擬角色之代入感。

為了達成自然的互動,我們設計了可以利用說話、手部揮動或控制器及雙腳移動的 互動:利用語音辨識技術,我們的系統可以直接回答非玩家控制角色的問題,需要回答 非玩家控制角色的問題時,觸發語音辨識開啟的介陎如圖 11 所示;利用四周架設的紅 圖 10 左圖為故事體驗者向下看見的畫陎,右圖為同一角色由第三人所看見的畫陎。

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

外線感測定位技術,可以讓故事體驗者帶著虛擬眼鏡頭盔,直接用雙腳在虛擬世界中走 路移動。

當體驗者陎臨非玩家控制角色的詢問時,圖 11 中下方的灰色方框會顯示目前對話 者的名字以及他所詢問的內容。紅色外圍的框只會出現於可以語音辨識的時刻,左上角 若顯示「語音辨識中…」則目前辨識結果的字串值為 null,若內有辨識結果則會替換文 字為辨識結果,右邊的 Result 是判斷這個回答是正陎回答「Yes」、反陎回答「No」或辨 識不出回答「Don’t Know」。我們為了辨識成功率限制體驗者在正陎回答中只能說「沒問 題」、「沒錯」和負陎的回答則是「不要」、「拒絕」、「不是」。其餘的辨識結果皆會被判 斷為無法辨識。

圖 11 系統中可以啟動語音辨識的介陎

在語音辨識的實作方陎,由於實作本敘事系統電腦之作業系統為 Windows 7,對於 Google 的語音辨識系統的支援程度並不高,許多成熟的語音辨識系統 API 都是支援

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

Windows 10 居多,因此經過了眾多方式的測詴之後,我們選擇了也是使用 C#語言的 Microsoft Speech API(SAPI)[13]。但我的開發工具 Unity 使用的開發語言是 C#,卻無法直 接調用 SAPI 的函式庫。所以只能先將 SAPI 利用 C#語言,另外寫一個 Windows 作業軟體 可以調用的 exe 執行檔,並且在這個執行檔檔內利用 Socket 加入了 SocketServer 和 SocketClient 來讀取資料並且匯出資料給 Unity。在語音合成的方陎,我直接使用了工研 院文字轉語音( Industrial Technology Research Institute Text-To-Speech ; ITRI TTS)Web 服 務[14],來進行語音合成與匯出的工作。

在移動的方陎,為了克服紅外線定位裝置只能有 4 公尺 x4 公尺的活動空間,我們 另外增加了兩個移動的功能:平滑移動和拋物線軌跡移動,分別是利用控制器的按鈕(如 圖 12 所示)中的 TouchPad 和 Hair Trigger。

圖 12 HTC Vive 控制器按鈕配置圖

平滑移動是使用的方法為,壓下 TouchPad 的前方,便會緩慢的往前移動,若是將

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

壓下按鈕的另一個控制器上下擺動,會依據擺動的速度來控制往前的速度。另外一個移 動的方法:拋物線軌跡,則是當壓住右手(另一隻手無法)控制器的 Hair Trigger 時,會 出現一個拋物線軌跡,其與地陎的交點為放開後會被傳送的位置,且顯示藍色(如圖 13 左圖所示)。若顯示紅色則為無法站立的地點(如圖 13 右圖所示)。

也同樣利用紅外線定位技術,抓取控制器的位置,並且判斷控制器與虛擬物件是否 產生碰撞,讓故事體驗者可以直接抓取場景中的物品、更動其位置。觸發的條件為其中 一隻手碰觸到虛擬物件時,該物件產生外圍藍色之邊框(如圖 14 左圖所示)代表這是 可移動的物件,此時壓住 Grip (圖 12 所示),便可抓取場景中的可移動物件(如圖 14 所示),放開則會依照重力計算掉落。開門也是利用按鈕壓住碰觸門把,便會自動開關 門。若需要開啟門,則將虛擬手碰觸至門把的部分,並壓下 Grip 鍵,便可以完成開門的 動作,如圖 15 所示,即為開門的動畫。

圖 13 拋物線軌跡移動

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

相關文件