[Microsoft代理程式從 Windows 7 開始已被取代,而且可能無法在後續版本的 Windows 中使用。]
Microsoft Agent 動畫服務會自動為您播放特定動畫。 例如,當您使用 MoveTo 或 GestureAt 命令時,動畫服務會播放適當的動畫。 同樣地,在閑置逾時之後,服務會自動播放動畫。 若要支援這些狀態,您可以定義適當的動畫,然後將它們指派給狀態。 即使您將動畫指派給狀態,您仍然可以使用 Play 方法直接定義的任何動畫。
您可以將多個動畫指派給相同的狀態,動畫服務會隨機選擇其中一個動畫。 這可讓您的性格在其行為中表現出更自然的多樣性。
雖然您指派給狀態的動畫可以包含分支框架,但請避免循環動畫(永遠分支的動畫)。 否則,您必須先使用 Stop 方法,才能播放另一個動畫。
請務必針對字元發生的每個狀態定義並指派至少一個動畫。 如果您未提供這些動畫和狀態指派,您的字元可能不會對用戶適當地運作。 不過,如果特定字元未發生狀態,您就不需要將動畫指派給該狀態。 例如,如果您的主應用程式從未呼叫 MoveTo 方法,您可以略過建立和指派移動 狀態動畫。
| 州 | 使用範例 |
|---|---|
| GesturingDown | 處理 GestureAt 動畫方法時。 |
| GesturingLeft | 處理 GestureAt 動畫方法時。 |
| GesturingRight | 處理 GestureAt 動畫方法時。 |
| GesturingUp | 處理 GestureAt 動畫方法時。 |
| 聽證會 | 偵測到口語輸入的開頭時。 |
| 隱藏 | 當使用者或應用程式隱藏字元時。 |
| IdlingLevel1 | 當字元開始 Idling 狀態時。 |
| IdlingLevel2 | 當字元開始第二個 idling 層級狀態時。 |
| IdlingLevel3 | 當字元開始最後 idling 層級狀態時。 |
| 接聽 | 當字元開始接聽時(使用者會先按下語音輸入熱鍵)。 |
| MovingDown | 處理 MoveTo 動畫方法時。 |
| MovingLeft | 處理 MoveTo 動畫方法時。 |
| MovingRight | 處理 MoveTo 動畫方法時。 |
| MovingUp | 處理 MoveTo 動畫方法時。 |
| 顯示 | 當使用者或應用程式顯示字元時。 |
| 說 | 處理 Speak 動畫方法時。 |
聽證和聽證國
您指派給 接聽 狀態的動畫會在使用者按下語音輸入的推播熱鍵時播放。 建立並指派簡短動畫,讓角色看起來很專注。 同樣地,請定義其 Return 動畫,讓字元在用戶說話時播放其 聽力 狀態動畫。 聽力 狀態動畫也應該簡短,並設計為讓使用者知道該字元正在積極聆聽使用者說的內容。 頭部傾斜或其他輕微手勢是適當的。 若要提供自然變異性,請提供數個 聽力 狀態動畫。
Gesturing 州
只有當您打算使用 GestureAt 方法時,才需要建立並指派 Gesturing 狀態動畫。 Gesturing 狀態動畫會在Microsoft Agent 處理對 GestureAt 方法的呼叫時播放。 如果您定義 Gesturing 狀態動畫的嘴重疊,則字元可以在其手勢時說話。
動畫服務會決定字元的位置及其與 方法中所指定座標位置的關聯,並播放適當的動畫。 格斯特方向一律與字元有關:例如,GestureRight 應該是字元右邊的手勢。
顯示和隱藏狀態
顯示 和 隱藏 狀態會在使用者或主應用程式要求顯示或隱藏字元時播放指派的動畫。 這些狀態也會適當地設定字元框架的 可見 狀態。 定義這些狀態的動畫時,請記住,字元可以在任何螢幕位置出現或離開。 因為使用者可以顯示或隱藏任何字元,因此一律支援至少一個這些狀態的動畫。
您指派給 顯示 狀態的動畫通常會以包含字元中性位置影像的畫面結尾。 相反地,隱藏 狀態動畫通常會以中性位置開始。 顯示 和 隱藏 狀態動畫可以分別包含開頭或結尾的空白畫面,以提供字元目前狀態的轉換。
The Idling States
閒 狀態是漸進的。 動畫服務會從第一個閑置期間的第1層指派開始,並使用第二層動畫。 之後,閑置迴圈會進入第 3 層指派的動畫,並維持在此狀態,直到取消為止,例如新的動畫要求開始時。
設計 Idling 狀態的動畫,以傳達字元的狀態,但不會分散使用者的注意力。 動畫應該以微妙但清楚的方式適當反映字元的回應性。 例如,四周或閃爍是很好的動畫,可指派給 IdlingLevel1 狀態。 讀取動畫適用於 IdlingLevel2 狀態。 使用耳機睡覺或聆聽音樂是動畫的好範例,可指派給 IdlingLevel3 狀態。 包含許多或大型動作的動畫不適合閑置動畫,因為它們會吸引使用者的注意。 由於經常播放 Idling 狀態動畫,因此請提供數個 Idling 狀態動畫,特別是針對 IdlingLevel1 和 IdlingLevel2 狀態。
請注意,應用程式可以關閉字元的自動閑置處理,並管理字元的 閑置 狀態本身。 Agent Idling 狀態的設計可協助您避免任何字元沒有動畫可播放的情況。 在短暫的時間之後不會變更的字元影像就像一個應用程式顯示等候指標很長一段時間,這可減去可信性和互動性感。 維持錯覺並不多:有時只是一個動畫的閃爍、可見的呼吸或身體轉變。
說話狀態
當目前動畫找不到說話動畫時,動畫服務會使用 Speaking 狀態。 將簡單的說話動畫指派給這個狀態。 例如,您可以使用單一框架,其中包含字元的中性位置與嘴重疊。
移動狀態
當應用程式呼叫 moveTo 方法時,MoveTo 狀態就會播放。 動畫服務會根據字元的目前位置和指定的座標決定要播放的動畫。 移動方向是以字元的位置為基礎。 因此,您指派給 MovingLeft 動畫的動畫應該以字元的左邊為基礎。 如果您沒有使用 MoveTo 方法,您可以略過建立和指派動畫。
移動 狀態動畫應該讓字元動畫進入其移動位置。 此動畫的最後一個畫面會在畫面上移動字元的畫面時顯示。 不支援在字元的畫面移動時建立動畫效果。
標準動畫集
雖然您可以設計自定義字元來擁有要使用的動畫,Microsoft Agent 會定義標準動畫集。 符合此定義的字元可以選取為預設字元。
下表列出標準動畫集中所包含的動畫。 即使您正在建立自定義字元,您可能想要使用清單做為設計您自己的字元的指南。 支援標準動畫集的字元至少必須支援下列動畫。
| 動畫 | 使用範例 | 範例動畫 |
|---|---|---|
| 認可 | 當字元認可使用者的要求時。 | 字元點頭或閃爍 “OK” 手勢。 請注意,此動畫應該會將字元傳回其中性位置。 |
| 警示1,2 | 當字元正在等候指示時,通常會在用戶開啟接聽模式之後播放。 | 角色面對前面,呼吸,偶爾閃爍,但顯然等待指示。 |
| 宣佈1,2 | 當字元找到用戶的資訊時。 | 舉起眉毛和手或打開信封來表達字元手勢。 |
| Blink | 當字元完成說話或閑置時。 | 性格自然閃爍著眼睛。 |
| 混淆1,2 | 當字元不瞭解該怎麼做時。 | 字元劃傷頭部。 |
| 祝賀1,2 | 當字元或使用者完成工作時(認可 動畫的較強形式。 | 字元表演賀電手勢,傳達「是! |
| 下跌1,2 | 當字元無法執行或拒絕使用者的要求時。 | 字元搖頭,傳達“不能做”。 |
| DoMagic1 | 字元會準備顯示某些內容。 | 字元揮動手或魔杖。 |
| DoMagic2 | 字元會完成某個項目的顯示。 | 字元完成魔術手勢。 |
| DontRecognize1,2 | 當字元無法辨識使用者的要求時。 | 字元握手到耳朵。 |
| 說明1,2 | 當字元向使用者說明某件事時。 | 字元手勢就像解釋一些東西一樣。 |
| GestureDown1,2 | 當字元需要指向其下方的內容時。 | 字元點向下。 |
| GestureLeft1,2 | 當字元需要指向其左邊的內容時。 | 左手或向左變成箭號的字元點。 |
| GestureRight1,2 | 當字元需要指向右邊的內容時。 | 右手或向右箭號的字元點。 |
| GestureUp1,2 | 當字元需要指向其上方的內容時。 | 字元會向上點。 |
| GetAttention | 當字元需要通知使用者重要事項時。 | 字元揮動手或上下跳躍。 |
| GetAttentionContinued | 強調通知的重要性。 | 初始手勢的接續或重複。 |
| GetAttentionReturn | 當字元完成 GetAttention 或 GetAttentionContinued 動畫時。 | 字元會傳回其中性位置。 |
| 問候語1,2 | 當用戶啟動系統時。 | 角色微笑和波瀾。 |
| 聽證會1 | 當字元聽到口說語句的開頭時(主動聆聽)。 | 字元向前傾斜和點頭,或轉頭顯示語音輸入的回應。 注意:此動畫會迴圈到字元移至適當位置之後發生的一些中繼畫面。 |
| 聽證會2 | 當字元聽到口說語句的開頭時(主動聆聽)。 |
Hearing1 中所使用動畫類型的另一個變化注意:此動畫會迴圈處理字元移至適當位置之後發生的一些中繼畫面。 |
| 隱藏 | 當使用者關閉字元時。 | 字元會從畫面中移除自我。 |
| Idle1_1 | 當字元沒有工作且使用者未與字元互動時。 | 字元閃爍或四處尋找、留在中性位置或返回中性位置。 |
| Idle1_2 | 當字元沒有工作且使用者未與字元互動時。 | Idle1_1中使用的動畫類型另一個變化。 |
| Idle2_1 | 當字元已閑置一段時間時。 | 字元打盹或讀雜誌留在或返回中性位置。 |
| Idle2_2 | 當字元已閑置一段時間時。 | Idle2_1中使用的動畫類型另一種變化。 |
| Idle3_1 | 當字元長時間閑置時。 | 字元哎哎 |
| Idle3_2 | 當字元長時間閑置時。 | 字元睡覺或戴耳機聽音樂。 注意:此動畫會迴圈到字元移至適當位置之後發生的一些中繼畫面。 |
| LookDown | 當字元需要向下查看時。 | 字元往下看。 |
| LookLeft | 當字元需要向左看時。 | 字元會往左看。 |
| LookRight | 當字元需要往右看時。 | 字元會向右看。 |
| LookUp | 當字元需要查閱時。 | 字元查閱。 |
| MoveDown | 當字元準備向下移動時。 | 字元轉換為步行/向下飛行位置。 |
| MoveLeft | 當字元準備向左移動時。 | 字元轉換為步行/飛行的左位置。 |
| MoveRight | 當字元準備向右移動時。 | 字元轉換為步行/飛行右位置。 |
| MoveUp | 當字元準備向上移動時。 | 字元轉換到步行/飛起來的位置。 |
| 高興1,2 | 當字元對使用者的要求或選擇滿意時。 | 角色笑容。 |
| 進程 | 當字元執行某種類型的泛型工作時。 | 字元按下按鈕或使用某種類型的工具。 |
| 處理 | 當字元正忙於處理泛型工作時。 | 紙張墊上的字元塗鴉或使用某種類型的工具。 注意:此動畫會迴圈到字元移至適當位置之後發生的一些中繼畫面。 |
| 讀取 | 當字元對用戶讀取某些內容時。 | 字元會顯示書籍或紙張、閱讀和回頭看使用者。 |
| ReadContinued | 當字元進一步讀取給用戶時。 | 字元會再次讀取,然後回頭查看使用者。 |
| ReadReturn | 當字元完成 Read 或 ReadContinued 動畫時。 | 字元會傳回其中性位置。 |
| 閱讀 | 當字元讀取某些內容但無法接受輸入時。 | 字元會從一張紙上讀取。 注意:此動畫會迴圈處理字元移至適當位置之後所發生的一些中繼畫面。 |
| RestPose | 當字元從中性位置說話時。 | 性格站著輕鬆但專注的姿勢。 |
| 薩德1,2 | 當字元對用戶的選擇感到失望時。 | 角色皺眉或看起來很失望。 |
| 搜尋 | 當字元搜尋某個專案時。 | 字元會透過檔案抽屜或其他容器隨機顯示,尋找某些內容。 |
| 搜尋 | 當字元搜尋使用者指定的資訊時。 | 字元會透過檔案抽屜或其他容器隨機顯示,尋找某些內容。 注意:此動畫會迴圈處理字元移至適當位置之後所發生的一些中繼畫面。 |
| 顯示 | 當字元在被傳喚後啟動或傳回時。 | 角色在濃煙、梁中或在螢幕上行走時彈出。 |
| StartListening1,2 | 當字元正在接聽時。 | 字元把手放在耳朵上。 |
| StopListening1,2 | 當字元停止接聽時。 | 角色把手放在耳朵上。 |
| 建議1,2 | 當字元有使用者提示或建議時。 | 燈泡會出現在字元旁邊。 |
| 驚訝1,2 | 當用戶的動作或選擇驚訝字元時。 | 性格睜大眼睛,張開嘴。 |
| 思考1,2 | 當字元正在思考某件事時。 | 字元抬起頭來握著手。 |
| 不確定1,2 | 當字元需要使用者確認要求時。 | 角色看起來好奇, 傳達 (“你確定嗎? |
| Wave1,2 | 當使用者選擇關閉伺服器或系統時。 | 字元波好別或你好。 |
| 寫入 | 當字元正在接聽使用者的指示時。 | 字元會顯示紙張、寫入,並回頭查看使用者。 |
| WriteContinued | 當字元繼續接聽使用者的指示時。 | 字元會在一張紙上寫字,並回顧使用者。 |
| WriteReturn | 當字元完成 Write 或 WriteContinued 動畫時。 | 字元會傳回其中性位置。 |
| 撰寫 | 當字元寫出用戶的資訊時。 | 字元寫在紙上。 注意:此動畫會迴圈。 |
動畫需要口重疊和定義的說話畫面。
動畫需要指派的 Return 動畫,其結束分支或明確的 Return 動畫。
此外,字元必須具有下列狀態指派。
| 州 | 必要的動畫 |
|---|---|
| GesturingDown | GestureDown |
| GesturingLeft | GestureLeft |
| GesturingRight | GestureRight |
| GesturingUp | GestureUp |
| 聽到 | 聽證會1,聽證會2 |
| 隱藏 | 隱藏 |
| IdlingLevel1 | Blink、Idle1_1、Idle1_2 |
| IdlingLevel2 | Blink、Idle1_1、Idle1_2、Idle2_1、Idle2_2 |
| IdlingLevel3 | Idle3_1,Idle3_2 |
| 注意的 | 警報 |
| MovingDown | MoveDown |
| MovingLeft | MoveLeft |
| MovingRight | MoveRight |
| MovingUp | MoveUp |
| 展示 | 顯示 |
| 說 | RestPose |