羅見順網站
返回
(current)
故宮南院篇
步驟1 下載模型、貼圖、地圖
故宮南院FBX下載
地形練習檔2017版外加Skybox & Lightflare & VR720
步驟2 建立參考地圖地形
新增Terrain
貼上
故宮南院地圖480x480
將地形提高40公尺如上圖成果
步驟3 將故宮南院模型放置正確
將故宮南院貼圖貼上模型
故宮南院模型貼好成果
將故宮南院模型放置在相對位置並旋轉面向
步驟4 建立自行車步道
自訂柏油路筆刷圖片
刷出環湖一圈自行車跑道
植樹及植草
在外圍建立山或植樹避免暴露破綻
設定隱形牆禁制限制玩家行動區域
步驟5 建立遊戲路線導覽動畫(含文字動畫)
動畫執行檔下載
故宮南院Logo動畫
參考音樂
故宮南院地形Unity Packages
攝影機啟動文字動畫與播放結束跳出參考程式
Application.Quit()
GameObject.SetActive(true)
步驟6 角色動作設定
3DS Max匯出FBX注意事項
下載
男女自行車騎士
選定woman角色,設定動作請參考上圖
0-15 停車腳放下; 15-30 腳提起準備騎車; 30-45 騎車
步驟7 角色材質設定
選擇woman之Materials選項
Location/Use External Materials (Legacy)
將woman拉進編輯場景中
步驟8 Animator Controller Set up
Create Animator Controller,命名為woman。
拉進Idle, Ready, Go三個動作
選擇Idle動作按下滑鼠右鍵Make transition拖拉連結線至Ready動作
同理連結成上圖
新增parameter 的Int 參數,命名為move
在連結上設定,If move =1 跳至Ready; move =2 跳至Go;同理返回
將Woman上的Animaoter加入woman的animtor controller
步驟9 使用鍵盤控制動作測試
AnimatorControl.cs參考程式
Animator m_Animator
m_Animator = gameObject.GetComponent
();
Input.GetKey("0")
m_Animator.SetInteger("move", 0)
鍵盤控制動作執行檔下載
步驟10 電腦人固定路徑騎行
8位玩家下載
錄製角色行進路線
Animator anim;
float aspeed = 0.0f;
anim = GetComponent<Animator>();
anim.speed = aspeed;
參考程式
開頭動畫含騎士執行檔
步驟11 選取角色UI
角色選取執行檔
PlayerSelectedUI_UnityPackage
參考程式
新增1個UI/Image: 顯示角色名稱
新增2個UI/Button: 向左與向右按鈕
宣告8個角色物件陣列:public GameObject[] objPlayers;
宣告8個角色姓名陣列:public Sprite[] BtnSprites;
Image m_ImageBtn;
m_ImageBtn = objPlayerName.GetComponent
();
m_ImageBtn.sprite = BtnSprites[iPlayerSelected];
延伸作業1 左右移動選角
按下左右鍵按鈕,如何移動角色?
角色移動中如何隱藏左右鍵?當完成移動時,如何顯示左右鍵?
當角色左右移動至末端,如何判定並隱藏左右鍵?
提示:
宣告左右鍵的遊戲物件
public GameObject objBtnLeft;
隱藏物件
objBtnLeft.SetActive(false);
步驟12 開始遊戲按鈕
選角及遊戲開始執行檔
StartGame_UnityPackage
PlayerBorn_UnityPackage
儲存選項與跳至下一場景參考程式
PlayerPrefs.SetInt("PlayerSelected", iPlayerSelected);
SceneManager.LoadScene(1);
角色產生參考程式
iPlayer = PlayerPrefs.GetInt("PlayerSelected");
public GameObject gbPlayer;
public GameObject[] pfPlayers;
public Transform spawnPoint;
public int iPlayer;
gbPlayer = Instantiate(pfPlayers[iPlayer], spawnPoint.position, spawnPoint.rotation);
步驟13 角色剛體與碰撞建立、向前推動
角色驅動執行檔
角色驅動練習專案檔下載
開啟S02_PushTiger場景
角色加入剛體(Rigidbody): 設定Mass,產生重力
角色加入Collider可以包裹角色不至於跌落地面下
觸發鍵盤產生推力
Input.GetKeyDown(KeyCode.UpArrow)
private Rigidbody rb;
rb = GetComponent<Rigidbody>();
rb.AddForce(Vector3.forward);
步驟14 轉彎控制
角色驅動練習專案檔下載
開啟S03_TurnLeftOrRight場景
使用KeyUp 與 KeyDown來達成連按的動作
Input.KeyUp / Input.KeyDown
轉彎參考程式
Vector3 currentEulerAngles;
currentEulerAngles = transform.eulerAngles;
currentEulerAngles += new Vector3(0, iTurnForce * Time.deltaTime, 0);
步驟15 車身傾斜控制
角色驅動練習專案檔下載
車身傾斜參考程式
開啟S04_Tilt場景
fTilt = Mathf.Lerp(fTilt, 0, Time.deltaTime);
currentEulerAngles = new Vector3(0, 0, fTilt);
transform.eulerAngles = currentEulerAngles;
步驟16 Camera尾隨
角色驅動練習專案檔下載
開啟S05_CameraFollow場景
鏡頭尾隨參考程式
transform.position = objTarget.transform.position + v3Pos.z*objTarget.transform.forward + new Vector3(0,1,0)*v3Pos.y;
transform.rotation = Quaternion.Lerp(transform.rotation, objTarget.transform.rotation, Time.deltaTime * iSmooth);
步驟17 車身前進轉彎傾斜整合
角色驅動練習專案檔下載
開啟S06_Run場景
車身驅動參考程式
整合推進、轉彎、傾斜
步驟18 第三人稱角色控制與故宮建物加入Collider
角色套用
車身驅動程式
MainCamera套用
追隨程式
將故宮的材質套上MeshCollider,特別針對地板與玻璃牆
步驟19 建立死亡重生點
建立DiePlane1 & DiePlane2放置在湖底下
分別針對DiePlane1&2建立對應的兩個重生點RebornPoint1&2,這兩個是空物件
建立Reborn.cs套用在DiePlane之上,將RebornPoint引入
建立Reborn.cs套用在DiePlane之上,將RebornPoint引入
void OnTriggerEnter(Collider other) { if (other.tag == "Player") { other.transform.position = objRebornPoint.transform.position; } }
死亡重生參考程式
步驟20 角色生成與鏡頭跟隨合併
下載含有RUN、Rigidbody與collider的角色Packages
角色生成與鏡頭跟隨參考程式掛在MainCamera
步驟21 建立計時面板
Timer.cs參考程式
新增計時面板:UI/Image
新增三個文字控制項顯示計時秒數:UI/Text
新增Timer.cs套用在Canvas中
將秒數控制項連結至Timer.cs的外部變數txtTimer
步驟22 起跑計時終點結束
TimerStartEnd.cs參考程式
新增起點與中點兩個Sprite物件,使用Tag分別為CheckPoint1,CheckPoint2
起點掛上Box Collider並勾選IsTrigger選項
補充 新增Tag標籤
任選一個遊戲物件
Inspector/Tag下拉選單/Add Tag
+/-新增或刪除Tag
步驟23 系展II:遊戲選角後進入計時驅動
角色伴隨計時顯示之Prefab下載
上述套件適用於本節使用
起點與終點觸發開始與結束計時參考程式TimerStartEnd.cs
漸進式移動選角參考程式UI_PlayerMove.cs
系展作品2驗收說明
系展遊戲2展示執行檔
驗收功能
選角畫面自行設計(含遊戲名稱、作者)
可選角數量等於組員數,並更換成組員姓名
切換角色按鈕
遊戲開始按鈕切換至遊戲主場景畫面
進入遊戲主場景,選用角色自動產生
角色可利用鍵盤向上與向左向右鍵進行控制
角色觸發起點開始計時
角色必須觸發中點
角色觸發終點結束計時
2個重生點
系展作品3驗收說明
驗收功能
倒數60秒
四個里程檢查點
每通過一個檢查點會加10秒
第一圈每個檢查點增加10秒,第二圈增加5秒,第三圈以後不再加秒
里程顯示通過圈數與檢查點
秒數結束跳至成果畫面
掉到湖中直接至成果畫面
成果畫面顯示里程
重玩鈕重玩
離開鈕離開遊戲
系展作品3關鍵技術說明
參考程式
鏡頭追隨Follow.cs
推動玩家Run.cs
倒數秒數與里程紀錄Miles.cs
掉至湖裡跳出遊戲Die.cs
成果畫面程式Result.txt