Unity Jurassic Pack 教學

Author: Kelvin Huang

Jurassic Pack 是一套支援 Unity 遊戲引擎的恐龍生態模擬系統,收錄約 50 種恐龍角色,玩家在遊戲中可加入喜歡的恐龍,它們將會在場景中走動、覓食、睡覺。本教學將以 Jurassic Pack 為基礎,搭配 Oculus Quest 虛擬實境裝置製作單機遊戲與VR遊戲,玩家扮演侏羅紀的恐龍在弱肉強食的世界生存,每隻恐龍包含 3 組貼圖與 LOD 模型。

首先從資源商店將 Jurassic Pack 下載到遊戲專案。

先從 Jurassic Pack 範例場景瞭解功能,開啟 [ Jurassic Pack > Scene ] 資料夾的 DinoIsland 場景。

此場景有 2 個物件: DINOISLAND 場景模型、Manager 管理物件,提供遊戲選單與動態生成恐龍。

按下鍵盤 ESC 開啟選單,點擊 Creatures 可以選擇加入不同的古生物角色。

按下 Play 測試遊戲,按下 ESC 可開啟 Jurassic Pack 的功能表建立恐龍,並可設定恐龍的行為模式。

VOL1      
Ankylosaurus 甲龍 Brachiosaurus 腕龍 Compsognathus 美頜龍 Dilophosaurus 雙冠龍
Dimetrodon 異齒龍 Oviraptor 偷蛋龍 Parasaurolophus 副櫛龍 Pteranodon 無齒翼龍
Spinosaurus 棘龍 Stegosaurus 劍龍 Triceratops 三角龍 Tyrannosaurus Rex 暴龍
     
Velociraptor 迅猛龍      
       
VOL2      
Argentinosaurus 阿根廷龍 Baryonyx 重爪龍 Carnotaurus 食肉牛龍 Dimorphodon 雙型齒翼龍
Gallimimus 似雞龍 Iguanodon 禽龍 Kentrosaurus 釘狀龍 Ouranosaurus 豪勇龍
Pachycephalosaurus 厚頭龍 Protoceratops 原角龍 Quetzalcoatlus 羽蛇翼龍 Styracosaurus 戟龍
Troodon 鋸齒龍      
       
VOL3      
Ammonite 菊石 Anomalocaris 奇蝦 Archelon 古巨龜 Cameroceras 房角石
Dunkleosteus 鄧氏魚 Helicoprion 旋齒鯊 Ichthyosaurus 魚龍 Leedsichthys 利茲魚
Mosasaurus 滄龍屬 Onchopristis 帆鋸鰩 Plesiosaurus 蛇頸龍 Sarcosuchus 帝鱷
Xenacanthus 異刺鯊      
       
VOL4      
Meganeura 巨脈蜻蜓 Trilobite 三葉蟲    

 

製作 Unity 侏羅紀探索館恐龍遊戲

Jurassic Pack 內附的 DINOISLAND 地形比較複雜,建議自行替換場景,避免製作 VR 遊戲遇到效能問題。

將攝影機 Main Camera 移到適當位置,攝影機新增方塊子物件用於攝影機定位,拖曳出來成為獨立物件。

將此方塊命名為 "Camera Locator",關閉 Mesh Renderer 讓此物件在遊戲中成為不可見的定位物件。

MRTK 執行時攝影機將自動回到原點,造成VR 遊戲製作上的困擾,可用 C# 腳本控制攝影機初始位置。

執行 [ Mixed Reality Toolkit > Add to Scene and Configure... ] 建立 VR 玩家角色物件。

建立一個 C# 腳本並命名為 "CameraLocator" 附加到 MixedRealityPlayspace 物件,程式碼如下:

將剛才建立的 Camera Locator 攝影機定位物件拖曳到 Camera Locator 欄位。

選取 MixedRealityToolkit 後在 Inspector 設定使用 MRTK-Quest_Profile 設定檔。

 

MixedRealityToolkit

攝影機的 Clipping Planes Far 會自動調回 1000

讓天空不顯示,從 Hierarchy 視窗選取 DINOISLAND > map effects > cloudmap 並將此物件停用。

 

製作恐龍的控制功能

建立一個新場景並加入移動用的地面,將 Jurassic Pack 的恐龍預製物件拖曳到原點位置。

為了符合遊戲的需求,將預製物件上原本已套用的元件腳本移除。

建立 DinosaurController 腳本,主要功能是操作恐龍的動作,包括待機、移動、進食、睡覺。

因為 DinosaurController 腳本的功能較多,講解時將會逐步加入需要的程式碼,先從控制角色移動開始吧!

將此腳本套用到場景上的恐龍,按下 Play 測試遊戲確認方向鍵或 WASD 可控制恐龍的移動。

當然這時的移動還缺少恐龍的動作,接著透過 Animator Controller 動畫控制器加入需要的動作。

Jurassic Pack 提供的動畫控制器較複雜,但我們不需要這麼多動作,所以自行建立動畫控制器。

Project 專案視窗按滑鼠右鍵,選擇 Animator Controller 再加入待機、移動、進食、攻擊的動作。

開啟 DinosaurController 腳本加入動畫控制,順便加入恐龍跑步的功能。

使用 enum 方式設定恐龍的狀態,稍後撰寫的腳本可以更易於閱讀與修改。

修改 anim.SetFloat 讓恐龍動作的轉換變得更自然。

加上切換狀態。

加入恐龍攻擊的動作

加入恐龍睡覺的動作

製作變體預製物件,稍微修改即可快速製作不同的恐龍角色。

 

製作選擇恐龍的功能

玩家可選擇不同的恐龍操作,本教學選擇電影 Jurassic Park 侏羅紀公園具有代表性的恐龍品種:

Brachiosaurus 腕龍、Stegosaurus 劍龍、Triceratops 三角龍、Tyrannosaurus Rex 暴龍、Velociraptor 迅猛龍

建立一個空白新場景,儲存此場景,名稱可自訂。開啟資料夾,將恐龍的模型拖曳到場景的適當位置,製作 UI 選單。

按下 Play 測試遊戲,確認玩家在選角場景中選取的恐龍能夠正確出現在遊戲場景。

 

/CG

Copyright © 2024 CG Digital Corp. All rights reserved.