建立一個專案

使用 Asset Store 下載 Make Your Fantasy Game – Lite

匯入之後找到 Demo 6 場景點兩下載入

畫面便會顯示成這樣 :

接著使用 Asset Store 下載 Unity Chan 匯入

拖拉 UnityChan > Prefabs > for Locomotion 底下的 unitychan

陰影是因為角色沒光線導致暗的,所以加入一個光源
GameObject > Light > Directional Light

現在執行你會發現角色跟 Camera 各跑各的
將 Camera 設定成 MainCamera


在 Asserts 建立新的資料夾,命名為 Scripts

Scripts 資料夾底下,增加 CameraFollow.cs (Orz 忘記從哪裡抄來的程式碼了)
using UnityEngine;
using System.Collections;
//添加到 Component 選單
[AddComponentMenu("CameraControl/Follow")]
public class CameraFollow : MonoBehaviour
{
//攝影機的高度距離
public float camera_height = 10.0f;
//攝影機的水平距離
public float camera_distance = 10.0f;
public Transform player;
private Transform m_camera;
void Start()
{
//如果找不到攝影機,請到Camera 把 Tag 設定為 main
m_camera = Camera.main.transform;
}
void Update()
{
m_camera.LookAt (player); //轉向主角
//y軸轉向(變成主角在面前)
m_camera.eulerAngles = new Vector3(m_camera.eulerAngles.x,
player.eulerAngles.y,
m_camera.eulerAngles.z);
//取得y角度
float angle = m_camera.eulerAngles.y;
//根據角度計算距離差
float deltaX = camera_distance * Mathf.Sin(angle * Mathf.PI / 180);
float deltaZ = camera_distance * Mathf.Cos(angle * Mathf.PI / 180);
m_camera.position = new Vector3(player.position.x - deltaX,
player.position.y + camera_height,
player.position.z - deltaZ);
}
}
回到 Camera 把 Camera Move 的 Script 取消掉

然後使用 Component 選擇 CameraControl > Follow

拖拉 unitychan 到 Player

然後按執行 :

執行結果 :

