Urban Traffic System 教學

Urban Traffic System 是一套 Unity 遊戲引擎的插件,可模擬真實世界的交通系統,包括汽車、機車、腳踏車、路人的行為。

可依街道的紅綠燈切換產生對應的動作,此外 Urban Traffic System 也可以進行角色注視、談話的模擬。

Urban Traffic System 資源包收錄了大量的汽車、機車、腳踏車,與路人的模型。

 

將Urban Traffic System 2018.2 下載並匯入遊戲專案。

 

自訂車輛

首先準備車輪模型,可從資源商店下載,必須要有四個輪子額外製作的模型,本教學使用 GAZ 66 來做示範。

執行 [ UTS PRO > Create > New Scene ] 建立一個新的 UTS 遊戲場景。

在場地中建立一個地板,再把車輛模型放置在場地上。

先將車輛的標籤以及層設定為 Car 後,在更改層時,會詢問是否套用至子物件中,按下 Yes ,change children 按鈕,再增加 Rigidbody 元件,並調整質量。

 

在車子下建立一個空物件,命名為 Collider 後,將此物件增加 Box Collider 元件,並設定為適當大小。

 

選擇 Collider 物件,按下 Ctrl + D 複製一份,並命名為 Trigger 後,將 Box Collider 元件中的 Is Trigger 開啟,並設定標籤為Car。

 

再選擇四個車輪,使用快速鍵 Ctrl+D 複製產生一組物件。


將四個複製的輪胎物件增加 Wheel Collider 元件,再將 Mesh Filter 與 Mesh Renderer 元件刪除,並將 Wheel Collider 調整至適當大小。

再選取汽車物件,增加 Car Wheels 元件,將輪胎模型與輪胎碰撞器的元件都添加到欄位中,如果要該改車輛重心的位置,可以將 Use Coutom Cente 項目勾選後,並對照 Scene 視圖中的紅色圓球,更改 Center Of Mass Offset 數值。

完成後可以按下 Play 測試,如果成功車輛將不會有任何動作,如果失敗車輛與輪胎則會彈開,並且隨意移動。
確認沒問題後,可以將車輛存為預製物件,並從場地上刪除。

 

製作車輛行走的路徑

將地面放大後,執行 [ UTS PRO > Create > Vehicles ] 創建一個載具的路徑。

為路徑取一個名稱後,選取 Scene 場地來描繪路徑,完成後按下 Finish 完成。

 

將製作完成的車輛放置在 Walking Perfabs 陣列。

Number Of Ways 可以一次製作多個道路,Line Spacing 可以設定道路和道路間的寬度。
Density 可以設定車流量,Minimal Object Lengh 可以設定物件的間格,Loop Path 可設定是否封閉路徑,Direction 可以設定行走方向,可設定正向、反向,或正反一半的模式等等 ( 綠色代表正向,紅色代表反方向 ) 。

 

設定完成後可以按下 Populate ! 按鈕來產生物件。

注意!當修改車輛預製或是路徑設定,必須按下 Populate ! 按鈕,才可以得到最新效果。

 

如果要增加路徑的話,按下 Add Points 後,在路徑中點擊,在點擊處會增加新的路徑,之後再到 Hierarchy 頁面中,選取對應的路徑進行位置編輯。

如果要刪除路徑的話,按下Delete Points 後,在路徑中點擊線段後,即會刪除該段路徑。

修改完成後可按下 Edit-Points Finish 完成編輯,或是Re-Build Points進行還原。 設定完成後可以按下 Play 觀看效果。


 

製作路人角色

場景中可加入不同的路人角色,本教學匯入 Unity 標準資源並使用第三人稱 Ethan 角色進行操作示範。

開啟 [ Standard Assets > Characters > ThirdPersonCharacter > Models ] 資料夾,將 Ethan 模型拖曳到場景,為此模型增加Rigidbody 與 Capsule Collider 元件,將 Rigidbody 元件下的 Constraints 項目下的 Freeze Rotation 中的 XYZ 全部勾選後,再將碰撞器設定為適當大小。

再到 Animator 元件下,將 Controller 項目變更為 man controller 動畫師元件。 最後再為此角色新增 People Controller 腳本元件。

注意!原本角色的動畫格式為 Generic 格式,必須將 [ Assets > UTS_PRO > Models >People > Animations > man ] 內的動畫都轉成 Humanoid 格式後才可以讓別的人物使用(如果要和 Urban Traffic System 2018.2 內的角色一起使用,建議將所有 FBX 格式的模型都轉為 Humanoid 格式以避免發生問題)。

 

製作人物角色路徑

執行 [ UTS PRO > Create > Population > Walk people ] 後,就如製作汽車路徑一樣,製作完路徑後,將製作完成的人物角色放置在 Walk Prefabs 欄位中並設定數值後按下Populate ! 按鈕即可。


製作人物角色聊天、人群區域

執行 [ UTS PRO > Create > Population > Audience ] 建立人群,此時Inspector 屬性編輯器將會出現訊息,請點擊場景中的適當位置。

將會自動建立 Audience > surface 物件,此物件是人群區的範圍。

選取 Audience 物件,將先前製作的角色放置在 StandingPeopleConcert 元件下的 People Prefabs 中。

Surface Type 可以設定範圍的型狀,Rectangle size 可以設定縮放比例。

Show surface 可以設定是否顯示範圍。

People count 可以設定總人數。

View tarage 可以設定注視目標。

設定完按下 Populate ! 按鈕後,再按下 Play 來觀看效果。

附註:如果有更動角色預製物件,或是 StandingPeopleConcert 元件,需重新按下 Populate ! 按鈕,才會得到最新效果。

此處是沒有設定注視目標。

此處有設定注視目標。

如果要 NPC 進行對話,則是執行 [ UTS PRO > Create > Population > Talking people ] ,而設定與 Audience 類似,在此不再重複說明。