2014年4月19日

[分享]Unity官方3D角色 UNITY-CHAN 使用方法 - 初級篇

有鑑於許多人看不懂日文
因故失眠的我決定來練習一下,就稍微翻譯了這篇文章
不過,人 ... 真的不能亂發願,這下不好收拾了 orz

參考原文網址如下:
「そんじゃ,始めるとしますかっ!」ついに公開された
Unity公式3Dキャラクター「ユニティちゃん」の使い方・初級編


以下不負責任翻譯:



配合 UNITE Japan 2014 大會舉行,
可稱作是官方 3D 角色的「UNITY-CHAN」這東西,特別引人注目。
(譯註:以下以個人喜好簡稱 UNITY-CHAN 為 "小優")

如果是習慣使用 Unity 的人,應該已經可以很有效地利用這個東西,
或許也有許多人想下載看看,但是卻不知道該如何使用。

在這裡,為了難得想稍微玩看看的人們,
就以最少的步驟,來示範「小優的使用方法 - 初級篇」。

另外,就算你很期待中級篇以上,將來也不會提供唷。




【下載小優】

首先,先去下載小優的資源包 (Package)


從這個 URL 連結到授權頁面,閱讀過並且同意後,就可以開始下載。
當然,在這之前記得要先安裝好 Unity。

接著開啟 Unity,
在將檔案拖拉到 Project View 的 Assets 之前,
請先確認下載的檔案。

檔案公開後,
某些使用 IE 或是 Opera 等瀏覽器下載的人,
取得的檔案名稱有可能會變成是 "UnityChan.gz",
如果是這樣,請先將檔案名稱變更為 "UnityChan.unitypackage"。


檔案拖拉進去,完成解壓縮後,會出現資源包匯入的確認視窗,
直接按下「Import」就 OK 了。



匯入時會出現一些警告,這些是可以無視的,沒有關係。
(這並不會影響運作,那是之後預定的對應功能)

想要快一點確認是否可以運作的人,可以打開 UnityChan 資料夾內
的 Scenes 資料夾內的任何一個場景檔案,雙擊滑鼠左鍵開啟即可。



舉例來說,選擇並開啟 ActionCheck 場景後,執行此場景,
就可以看到小優站立的畫面,左右各有一個按鈕顯示。

右側的按鈕的「Next」按下之後,就可以依序切換各種動作。
左側的按鈕的按下之後,可以更換小優的表情。



雖然看起來似乎是點兩下才會改變表情,
但事實上,設計是點選畫面時更換表情。
這裡並沒有問題。
(譯註:點左側按鈕切換設定變化的表情後,點選畫面其他地方就會換表情,
記得滑鼠要按住到表情播完,不然會看不到。)

或許在測試時,有人會很在意影子會閃爍不定。
這邊就麻煩大家變更一下顯示設定。

從主選單,選擇 Edit 的 Project Settings 的 Quality 項目,
會開啟顯示品質設定,預設是六階中的第四階「Good」。

對一般可以玩遊戲的 PC 來說,這裡變更為最高品質設定「Fantastic」也無妨。



就此來說,按下「Add Quality Level」按鈕後,還可以設定更高階的品質。
一旦你選擇了 Fantastic,設定內容就會被繼承了,這時再按下按鈕。

Pixel Light Count 是反映光源的數量,
但是展示的時候沒有必要調整。
想要自製場景時,再去增加即可。

Fantastic 的 Anti-Alising (譯註:反鋸齒功能)
只有 2x Multi Sampling
有點太少,這邊不用猶豫直接提升到 8x 吧。

將 Shadow Resolution 調整到 Very High,
剩下的就看你喜好囉。

Shadow Distance 是指到底多遠的物件會生成影子的設定,但是這如果設定太大,會影響到畫質,要注意。

即使將 Shadow Resolution 調升,
設定約 300 的程度也不會與Fantastic 的畫質差多少。

對遊戲來說,要怎樣改變才好,
因為這次會投影的物件比較少,
而且比較重視小優,所以設定在 80 的程度。

雖然 VSync 並沒有選擇最下面一個選項,
若是變更了也只會讓畫質變差,要注意。

還有,關於範例的展示場景,攝影機無法移動的場合,
將 Shadow Projection 設定為 Close Fit,

攝影機可以移動的場合,設定為 Stable Fit 會比較好,
即使維持在 Stable Fit 也不會有什麼特別的問題。

關於這些,可以詳細閱讀附屬文件 Readme_J.pdf 來做參考,
裡面有詳細的說明。


Fast


Simple


Good


Beautiful


Fantastic


Brilliant (這次的設定值)

來自 Unity Technologies Japan 的情報:
Package Import 之後,小優的臉頰的貼圖會覆蓋眼睛的下半部,



雖然有點像愛睏的「剛起床的小優」,
不過將 Unity Editor 重開之後,就可以漂亮地顯示。



預計下次更新會修正這問題。

【來看看範例場景】

上面的步驟都做過了之後,接著開啟 ARPoseTest 場景來看看。
執行後,會出現與之前幾乎一樣的按鈕。操作方法也一樣。



這次不是動作,而是可供 AR 應用程式利用的各種姿勢,依序切換。



最後的 Locomotion 場景,是使用按鍵操作小優來回跑的展示。

執行後,會看見小優的背面,改變表情的按鈕,以及操作方法的文字。
使用方向鍵可以移動,或是 W/A/S/D 按鍵也可以。

滑鼠左鍵可以切換攝影機位置到正面,
滑鼠右鍵可以切換成低角度的攝影。

往正前方前進時,按下空白鍵可以跳躍,
靜止時按下空白鍵會伸懶腰。

如果要做小優跑來跑去的遊戲,這個範例可以直接當作基底。



【利用現有的 Mecanim 來使用小優】

按照 之前介紹過的 順序,
將「Mecanim Example Scenes」的角色,與小優替換試試看。
從 Asset Store 下載的方法,請參考之前的文章。



(譯註:這邊相關文章,目前沒有時間翻譯。)

那麼,先從 Asset Store 匯入的「Mecanim Example Scenes」,接著匯入小優。



這時,會有相同的 Script 覆蓋的錯誤產生,
讀取之後,從 Assets 將 UnityChan/Scripts/TirdPersonCamera.cs 刪除即可。


(出現錯誤的話,就將沒有使用的 Script 刪除吧)

回到 Project 檢視視窗的 Assets,開啟 Nav Mesh Example 場景。
Nav Mesh Example 是面向滑鼠點選的地方,迴避障礙物來前進的展示。
嘗試將熊取代成小優來動看看吧。

首先,在 Scene 檢視視窗內,移動到熊所在的位置,
在(熊)旁邊把 UnityChan/Prefab 資料夾內的 UnityChan 抓進去放置。



接著,跟之前的文章一樣,在熊身上設定的東西,同樣設定在小優身上。
(譯註:看來得找時間翻譯另一篇文章惹 ... orz)

按下 Add Component 按鈕,
從 Script 將 Agent 和 Nav Mesh UI 加上,
從 Navigation 將 Nav Mesh Agent 加上,
於 Locomotion 中,將 Animator 的 Controller 指定給 Agent 的 Particle。


(熊與指定給小優的 Component)


(將這些混合在一起)


(要將 Component 追加的話,按下欄位旁邊的圓圈圖示即可變更設定。)


(變成跟小熊一起行動了)

在這狀態下執行,熊與小優會並排行走,將熊從 Scene 中刪除吧,
將小優物件的 Inspector 檢視視窗中的最上方的 Tag 部分,變更為「Player」吧。

這樣的話,小優應該就可以使用點選來移動了。



試著動動看,或許有人會覺得影子太強造成臉看不清楚。

小優公布的這套件中,有適合這場合專用的燈光。
就是在 UnityChan/Prefabs 裡面的 Directional Light for UnityChan 這個。

將這個抓到 Scene 檢視視窗放下,小優就會有比平常還要亮的打光。

因為是相當強的平行光,依照遊戲種類的不同,或許沒辦法使用也不一定,
所以可以考愈將光源的 Intensity 調降等,別忘了運用類似這樣的基本技巧。



接著,打開 Teddy Bear Bazooka 場景看看。

直接這樣執行,應該會看到繞著飛行的熊以及玩家角色在畫面上。

  滑鼠右鍵可以發射火箭砲。
  使用鍵盤可以移動。
  滑鼠左鍵可以發射砲擊。

那麼,試著將這個角色跟小優互換吧。

在 Scene 檢視視窗中,將小優設置到玩家角色身旁,跟之前的步驟幾乎相同。



將 Animator 的 Controller 指定給 Bazooka,
使用 Add Component 按鈕將 Script 指定為 Bazooka。



追加要素只有這些,然而有必要在 Script 內詳細指定,
Target A 以及 Left Handle 等這些要素,設定成跟熊一樣的狀態。



再來,選擇放置在玩家角色肩膀上的圓筒,
於 Heirarchy 檢視視窗中,找出「Bazooka」,然後抓到小優那邊。

另外,物理也移動至小優肩膀附近即可。


(將火箭炮拖拉來變更所屬元件,設定到小優肩膀上)

這樣就可以把原本的玩家角色刪除,
將小優的 Tag 變更為 Player 之後,
小優就可以來回跑,並且發射火炮 ...... 理論上,
但不知為何火箭炮顯示的位置很奇怪。
還有小優往旁邊轉九十度後,後座力的方向很奇怪。



因此,來試著調整 Script。

從選擇小優後的 Inspector,
將 Script 的 Bazooka 的部分前方的小圖示用滑鼠點兩下,
把文件編輯器 MonoDevelop 啟動。


(滑鼠點兩下把 MonoDevelop 啟動)

需要改的地方有兩個。

大約在中間的 OnAnimation 函式內,將

Vector3 pos = new Vector3(0.195f, -0.0557f, -0.155f);

這部分變更為

Vector3 pos = new Vector3(0.2f, 1.3f, -0.1f);

並且將

pos.x -= fire * 0.2f

變更為

pos.z -= fire * 0.2f;

然後使用 Ctrl + S 快速鍵存檔。



這樣火箭炮應該就會出現在小優的肩膀上,正常地發射砲擊了。



【讓小優登場於非 Mecanim 對應的遊戲】

利用原本就有用 Macanim 的專案,將小優讀取後運作的方法,
雖然大致上應該都了解了,最後我們來看看沒有對應 Macanim 的專案的使用場合吧。



首先,來從 Asset Store 將 Bootcamp 下載吧。
用 Ctrl + 9 開啟 Asset Store,
於搜尋打入「Bootcamp」,最前面出現的應該就是了。

將這個資源 Import ,接著把小優的資源檔案拖入。
這邊的動作順序跟之前已經講解過的一樣。

接著,將小優配置到地圖上。
雖然不管放哪邊都行,不過為了預防萬一還是放在 Soldier 身旁吧。



(從開始位置往左上方就是 Soldier)

將小優加上元件。

用 Add Component 按鈕,將

  Capsule Collider (Physics)
  ORigid Body (Physics)
  Unity Chan Controll Script With Rigid Body(Scripts)
  Face Update (Scripts)

這些元件加上。

以下是,在這狀態於 Inspector 的變更部分。

  UnityChan:Tag Untagged → Player
  Animator:Controller None → UnityChanLocomotions
  Capsule Collider:Cener:Y 0 → 0.75
  Capsule Collider:Cener:Height 1 → 1.5
  Rigidbody:Mass 1 → 10
  Rigidbody:IsKinematic 取消勾選
  Rigidbody:Constraints:Freeze Rotation:X 取消勾選
  Rigidbody:Constraints:Freeze Rotation:Y 取消勾選
  Rigidbody:Constraints:Freeze Rotation:Z 取消勾選



雖然就這樣執行也不會不能動,
但是攝影機原本是給 Soldier 使用的,這樣實在是太勉強。
即使是可以移動,攝影機也不會跟隨。

調整原本的專案會很麻煩,以下是在需可範圍內所作的調整處理。



首先,從主選單的 GameObject 的 Create Other 的 Camera 再加上一個攝影機,

於 Hierarchy 檢視視窗中,放入 unitychan 的樹狀結構內。
位置就調整到小優後方的適當位置。

再來,從 Assets/UnityChan/Prefabs/for Locomotion
抓出 CamPos 以及 FrontPos,
放入 Hierarchy 檢視視窗的 unitychan 之下。

選取 Hierarchy 檢視視窗的 Soldier_Locomotion 之下的 Solder_Camare,
從 Inspactor 的 Camera 部分以及 Solider Camera (Script) 部分的前面的打勾取消。



這樣小優應該就可以在山野間穿梭了。



順便說,幾乎相同的操作,即使是 Car Tutorial 之類的也可以讓小優奔跑。


(這個是小優於 Car Tutorial 中登場的樣子)

配合上回介紹的 Autodesk Character Generator,
Unity 可以使用的角色將大幅增加 (雖然角色的味道完全不一樣)。
(譯註:另一篇會再找時間 ...... 嗯,應該有時間 ......)

從前,製作起來相當難的,有 3D 角色動作的遊戲,也變得不是這麼難了。
Unity 的動作系統的 Mecanim 也不斷地進化,

未來的獨立開發遊戲的成長是非常令人期待的事情。
好不容易公開的小優,透過範例將其發展成遊戲,然後販賣也是可以的。
(記得閱讀授權合約)

雖然沒有太多的限制,要注意別忘了 Logo 等授權表示。


以上不負責任翻譯



後記

花了不少時間翻譯這篇,希望能幫上初學者透過小優來摸索 Unity。

如果對於翻譯內容有疑問,或是發現謬誤,請連絡我處理,感謝。

1 則留言:

Unknown 提到...

感謝你

裡面介紹的套件都很實用