iT邦幫忙

2022 iThome 鐵人賽

DAY 11
1
自我挑戰組

從零開始用Unity設計遊戲系列 第 11

目標:控制攝影機

  • 分享至 

  • xImage
  •  

今天是挑戰的第11天,不知不覺已經過了1/3了~~

今天要來介紹攝影機的控制,目標是要加入更隨角色的功能,還有在移動後不能超出邊界!

以下的程式碼是讓攝影機更隨角色。

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

public class Cameracontrol : MonoBehaviour
{
    GameObject player;
    // Start is called before the first frame update
    void Start()
    {
        this.player = GameObject.Find("player");
    }

    // Update is called once per frame
    void Update()
    {
        Vector3 playerPos = this.player.transform.position;
        transform.position = new Vector3(
            playerPos.x, playerPos.y, transform.position.z);
    }
}

首先是this.player = GameObject.Find("player");先來簡單介紹一下this的用法。"this"代表本身載入的物件,也就是說this.player代表是本身載入的物件所持有的player變數。

接著尋找到Player的變數後,設定要更隨playerPos(角色的位置),並以向量來表示,這編是設定跟隨的是X軸,y軸。

再來介紹一下另一種更簡單的方法,在打完程式後發現更好用的也是更多人在用的外掛"Cinemachine",在右上角的Window裡中的Package Manager

https://ithelp.ithome.com.tw/upload/images/20220924/201510249xo8h1s4Ts.pnghttps://ithelp.ithome.com.tw/upload/images/20220924/20151024lufTSvEXpw.png

先安裝下來後,輸出到專案裡。之後用"Cinemachine"新增Virtual Camera,接著在右側就會有補少選項能設定其中的Follow把我們要的物件拉過去就能直接選定攝影機要更隨的物件!!

https://ithelp.ithome.com.tw/upload/images/20220924/201510243X2Q9VLYhN.png


上一篇
優化角色移動(跳躍)!
下一篇
目標:控制攝影機(二)
系列文
從零開始用Unity設計遊戲30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言