故宮南院篇

步驟2 建立參考地圖地形

步驟3 將故宮南院模型放置正確

步驟4 建立自行車步道

  • 自訂柏油路筆刷圖片
  • 刷出環湖一圈自行車跑道
  • 植樹及植草
  • 在外圍建立山或植樹避免暴露破綻
  • 設定隱形牆禁制限制玩家行動區域

步驟5 建立遊戲路線導覽動畫(含文字動畫)

步驟6 角色動作設定

步驟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 使用鍵盤控制動作測試

步驟10 電腦人固定路徑騎行

步驟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 左右移動選角

  • 按下左右鍵按鈕,如何移動角色?
  • 角色移動中如何隱藏左右鍵?當完成移動時,如何顯示左右鍵?
  • 當角色左右移動至末端,如何判定並隱藏左右鍵?
提示:
  1. 宣告左右鍵的遊戲物件
  2. public GameObject objBtnLeft;
  3. 隱藏物件
  4. objBtnLeft.SetActive(false);

步驟12 開始遊戲按鈕

步驟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 車身傾斜控制

步驟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 車身前進轉彎傾斜整合

步驟18 第三人稱角色控制與故宮建物加入Collider

步驟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; } }
  • 死亡重生參考程式

步驟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

系展作品2驗收說明

  • 系展遊戲2展示執行檔
  • 驗收功能
    • 選角畫面自行設計(含遊戲名稱、作者)
    • 可選角數量等於組員數,並更換成組員姓名
    • 切換角色按鈕
    • 遊戲開始按鈕切換至遊戲主場景畫面
    • 進入遊戲主場景,選用角色自動產生
    • 角色可利用鍵盤向上與向左向右鍵進行控制
    • 角色觸發起點開始計時
    • 角色必須觸發中點
    • 角色觸發終點結束計時
    • 2個重生點

系展作品3驗收說明

驗收功能
  • 倒數60秒
  • 四個里程檢查點
  • 每通過一個檢查點會加10秒
  • 第一圈每個檢查點增加10秒,第二圈增加5秒,第三圈以後不再加秒
  • 里程顯示通過圈數與檢查點
  • 秒數結束跳至成果畫面
  • 掉到湖中直接至成果畫面
  • 成果畫面顯示里程
  • 重玩鈕重玩
  • 離開鈕離開遊戲