Unity3D 相機跟隨主角移動

來源:互聯網
上載者:User

標籤:

這裡給主相機綁定一個指令碼。

指令碼寫為:

using UnityEngine;using System.Collections;public class camerafollow : MonoBehaviour {    //主攝像機跟隨主角一起移動    public float xMargin = 1f;    public float yMargin = 1f;    public float xSmooth = 8f;    public float ySmooth = 8f;    public Vector2 maxXandY;    public Vector2 minXandY;// Use this for initialization    private Transform player;void Start () {
//這裡獲得是綁定的主角,需要一起跟隨移動,就要獲得主角的屬性 player = GameObject.FindGameObjectWithTag("pk_0").transform; maxXandY.x = 10; maxXandY.y = 10;} bool checkxmargin() { return Mathf.Abs(transform.position.x - player.position.x) > xMargin; } bool checkymargin() { return Mathf.Abs(transform.position.y - player.position.y) > yMargin; }// Update is called once per framevoid Update () { Trackplayer();} //跟蹤主角 void Trackplayer() { float targetx = transform.position.x; float targety = transform.position.y; if (checkxmargin()) { targetx = Mathf.Lerp(transform.position.x, player.position.x, xSmooth * Time.deltaTime); } if (checkymargin()) { targety = Mathf.Lerp(transform.position.y, player.position.y, xSmooth * Time.deltaTime); } targetx = Mathf.Clamp(targetx, minXandY.x, maxXandY.y); targety = Mathf.Clamp(targety, minXandY.y, maxXandY.y); transform.position = new Vector3(targetx, targety,transform.position.z); }}

  :

 

Unity3D 相機跟隨主角移動

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.