當前位置:編程學習大全網 - 編程軟體 - 在Unity3D中如何讓攝像機圍繞某個特定的對象旋轉?

在Unity3D中如何讓攝像機圍繞某個特定的對象旋轉?

在制作遊戲時我們需要讓攝像機圍繞某個特定對象旋轉,以便使用戶更方便觀察該對象。我們需要用到transform的RotateAround(vector3 postion,vector3 axis,float angle)函數(註:本文僅用C#)。

下面例子可以讓妳更好的理解:

遊戲界面:壹個攝像機Main Camera,壹個方體Cube

在Project視圖中創建壹個新的腳本文件Gamelogic1.cs

代碼界面:代碼如下

using UnityEngine;

using System.Collections;

public class Gamelogic1: MonoBehaviour {

public GameObject cube;

Vector2 p1,p2;//用來記錄鼠標的位置,以便計算旋轉幅度

// Use this for initialization

void Start () {

originalPosition=transform.position;

cube=GameObject.Find("Cube");}// Update is called once per frame

void Update () {

if(Input.GetMouseButtonDown(1)){p1=new Vector2(Input.mousePosition.x,Input.mousePosition.y);//鼠標右鍵按下時記錄鼠標位置p1}if(Input.GetMouseButton(1)){p2=new Vector2(Input.mousePosition.x,Input.mousePosition.y);//鼠標右鍵拖動時記錄鼠標位置p2

//下面開始旋轉,僅在水平方向上進行旋轉

float dx=p2.x-p1.x;

transform.RotateAround(cube.transform.position,vector3.up,dx*Time.delTime);}}PS:您的Unity3D的MonoDevelop可能不支持中文,如出現錯誤,請將上面示例代碼中的中文註釋去掉

編輯好代碼之後,在視圖界面將Gamelogic1.cs拖到攝像機上,以便使代碼能執行。這樣您就可以在水平方向上按任意角度查看對象了。

編程小記:可以多參考壹下Unity的腳本參考,那裏有所有對象、屬性、方法的解釋及示例,當然前提是您英文要好O(∩_∩)O哈哈~

  • 上一篇:據說春天在石阡代代相傳。
  • 下一篇:歐姆龍編碼器輸出電壓是多少
  • copyright 2024編程學習大全網