Unity 用鍵盤上下左右實現攝影機移動
分類
建立時間: 2023年1月2日 08:18
更新時間: 2023年1月2日 08:20
說明
在《深入淺出 C# 4/e》的 Unity 實驗室 #6 場景導航,裡面有一個腳本是用來控制攝影機的,這也是我第一次控制攝影機,雖然用起來很粗糙,但裡面程式很簡單,很適合新手學習。
腳本
這個腳本主要是用來拍攝玩家,然後可以旋轉、拉近拉遠,原本書中玩家可以透過滑鼠點擊畫面的地板,讓玩家可以移動到此位置,但本篇只是想分享攝影機的功能,所以大家可以隨便建立一個物件當作玩家,體驗一下控制攝影機的感覺。
MoveCamera.cs
using UnityEngine;
public class MoveCamera : MonoBehaviour
{
[SerializeField]
private Transform Player;
/// <summary>
/// 控制旋轉的速度
/// </summary>
[SerializeField]
private float Angle = 3F;
/// <summary>
/// 控制拉近拉遠的速度
/// </summary>
[SerializeField]
private float ZoomSpeed = 0.25F;
// Update is called once per frame
void Update()
{
// 取得滾輪滾動換算的數值
float scrollWheelValue = Input.GetAxis("Mouse ScrollWheel");
transform.position *= 1F + scrollWheelValue * ZoomSpeed;
// 取得鍵盤輸入
if (Input.GetKey(KeyCode.DownArrow))
{
// 繞著玩家旋轉
transform.RotateAround(Player.position, Vector3.left, Angle);
}
else if (Input.GetKey(KeyCode.LeftArrow))
{
transform.RotateAround(Player.position, Vector3.down, Angle);
}
else if (Input.GetKey(KeyCode.RightArrow))
{
transform.RotateAround(Player.position, Vector3.up, Angle);
}
else if (Input.GetKey(KeyCode.UpArrow))
{
transform.RotateAround(Player.position, Vector3.right, Angle);
}
// 看著玩家
transform.LookAt(Player.position);
}
}
將腳本加到攝影機的遊戲物件,然後將玩家物件拉到 Player 欄位,啟動遊戲後,使用上下左右鍵旋轉攝影機,滾輪拉近拉遠。
觀看次數: 1512
cameraunityscript
一杯咖啡的力量,勝過千言萬語的感謝。
支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!