Unity场景相机视角控制

以上帝视角控制相机在场景中的移动、旋转

父物体与相机为子物体的结合实现,父物体与相机Z轴正方向相对

脚本挂在给父物体

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

public class CamreViewCtrl : MonoBehaviour {

public float moveSpeed = 20.0f;
public float rotateSpeed = 20.0f;
public float viewSpeed = 20.0f;
private Vector3 mouseInitPos;
private Transform mainCamTrans;

private void Awake()
{
mainCamTrans = GetComponentInChildren< Camera>(). transform;
}

// Use this for initialization
void Start () {
        
    }
    
     // Update is called once per frame
     void Update () {
if ( Input. GetMouseButton( 2)) {
float x = Input. GetAxis( "Mouse X") * moveSpeed * Time. deltaTime;
float z = Input. GetAxis( "Mouse Y") * moveSpeed * Time. deltaTime;
transform. Translate( x,- z, 0, Space. Self);
transform. position = new Vector3( transform. position. x, 0, transform. position. z);
//transform.position -= new Vector3(x, 0, z);
}
if ( Input. GetMouseButton( 1))
{
float Rotx = Input. GetAxis( "Mouse Y") * rotateSpeed * Time. deltaTime;
float Roty = Input. GetAxis( "Mouse X") * rotateSpeed * Time. deltaTime;
transform. eulerAngles += new Vector3( Rotx, Roty, 0);
}
if ( Input. GetAxis( "Mouse ScrollWheel") != 0)
{
moveSpeed -= Input. GetAxis( "Mouse ScrollWheel") * viewSpeed * Time. deltaTime;
mainCamTrans. Translate( new Vector3( 0, 0, Input. GetAxis( "Mouse ScrollWheel") * viewSpeed * Time. deltaTime), Space. Self);
}

}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值