1. 程式人生 > >Unity 實現簡單的相機跟隨和滑鼠滾輪拉近拉遠視野

Unity 實現簡單的相機跟隨和滑鼠滾輪拉近拉遠視野

1.指令碼掛載在Main Camera 上 ,相機跟隨的實現主要是讓相機的位置和玩家的位置的差值始終保持不變。

2.實現滑鼠滾輪拉近拉遠視野,要先測試一下自己滑鼠滾輪前滑後滑的正負值,每個滑鼠不一定相同。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class Follw_Camera : MonoBehaviour {


public GameObject Player;  //宣告需要跟隨的玩家
private Vector3 offset;   //差值
private Transform playerTransform;  //宣告玩家的Transform元件 
private Transform cameraTransform;  //宣告相機的Transform元件 
public float distance = 0;
public float scrollSpeed = 10;


// Use this for initialization
void Start () {
playerTransform = Player.GetComponent<Transform> (); //得到玩家的Transform元件
cameraTransform = this.GetComponent<Transform> ();   //得到相機的Transform元件
offset = cameraTransform.position - playerTransform.position;  //得到相機和玩家位置的差值
}

// Update is called once per frame
void Update () {
this.transform.position = playerTransform.position + offset;  //玩家的位置加上差值賦值給相機的位置
ScrollView();
}
void ScrollView(){
//print (Input.GetAxis ("Mouse ScrollWheel"));
distance = offset.magnitude;
distance -= Input.GetAxis ("Mouse ScrollWheel") * scrollSpeed;  //往前滑動是正值
if(distance > 26){   //如果距離大於26,就返回26
distance = 26;
}
if(distance < 5){    //如果距離小於5,就返回5
distance = 5;
}
offset = offset.normalized * distance;


}
}