unity摄像机控制脚本

本文介绍了Unity中的摄像机结构,并分享了一段已验证适用于安卓平台的摄像机控制脚本,需要注意旋转速度和阻尼值的调整以避免反转问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、摄像机结构
在这里插入图片描述
二、安卓端已验证,可以使用;调整旋转的速度和阻尼值的时候需谨慎,否则会出现反转现象(完整包下载链接
三、代码

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

/// <summary>
/// 控制摄像机旋转移动
/// </summary>
public class CameraControl_Move : MonoBehaviour
{
   
    [HideInInspector]
    public Transform target = null;
    private Transform verticalPivot = null;  //垂直旋转
    private Transform horizontalPivot = null;  //水平旋转
    private Camera mCamera = null;

    private float horizontalAngle = 0;  //水平旋转的角度Y
    private float verticalAngle = 0;  //垂直旋转的角度X
    private float rotateSpeed = 5f;  //视角旋转的速度
    private float rotateDamp = 5f;  //旋转的阻尼感
    private Quaternion horizontalRot = Quaternion.identity;  //水平旋转的角度
    private Quaternion verticalRot = Quaternion.identity;  //垂直旋转的角度

    private float moveSpeed = 1;  //视角移动速度
    private float moveDamp = 10;  //移动的阻尼感

    private float minDistance = 5;  //距离模型最小距离
    private float maxDistance = 300;  //距离模型最大距离
    private float currentDistance = 0;  //距离模型的距离
    private float scaleSpeed = 100;  //视角缩放速度
    private float scaleDamp = 10;  //缩放的阻尼感

    #region 手机端参数
    private float preFingerDistance = 0;  //两个手指按下的时候之间的初始距离
    private float preFingerDistance_Move = 0;
    #endregion

    private bool isLocking = true;  //延迟解锁
    private string currentRoom = "OutScene";

    public struct ValueConfig
    {
   
        public string roomName {
    get; set; }
        public float minDistance {
    get; set; }
        public float maxDistance {
    get; set; }
        public float distance {
    get; set; }
        public float moveSpeed {
    get; set; }
        public float scaleSpeed {
    get; set; }
        public float rotX {
    get; set; }
        public float rotY {
    get; set; }
    }

    private List<ValueConfig> valueConfigList = new List<ValueConfig>() {
   
        new ValueConfig {
   
            roomName =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值