当前位置: 首页 > news >正文

Unity 摄像机控制器

Unity 摄像机控制器

一个功能完整的Unity摄像机控制脚本,支持鼠标拖动移动、旋转、缩放,并惯性效果。

功能特点

  • 鼠标左键拖动:摄像机上下左右移动
  • 鼠标右键拖动:摄像机围绕目标点旋转
  • 鼠标滚轮:摄像机缩放
  • 平滑旋转:使用SmoothDamp实现流畅的旋转过渡
  • 惯性旋转:支持旋转惯性,提升操作手感
  • 视角重置:一键返回初始视角
  • 参数可调:所有操作速度、限制和效果都可通过Inspector调整

目标设置

  • Target:摄像机围绕旋转的目标点(可选)
  • Use Camera Position As Target`:如果没有指定目标,是否使用摄像机初始位置作为参考点
  • 移动设置
  • Move Speed:鼠标左键拖动时的移动速度
  • Move Smooth Time:移动时的平滑时间
旋转设置
  • Rotation Speed:鼠标右键拖动时的旋转速度
  • Min Vertical Angle:垂直旋转的最小角度限制
  • Max Vertical Angle:垂直旋转的最大角度限制
  • Rotation Smooth Time:旋转时的平滑时间
惯性设置
  • Enable Inertia:是否启用惯性旋转
  • Inertia Damping:惯性衰减系数(值越小,惯性持续时间越长)
  • Inertia Threshold:惯性阈值(低于此值时停止惯性)
缩放设置
  • Zoom Speed:鼠标滚轮缩放速度
  • Min Zoom Distance:最小缩放距离
  • Max Zoom Distance:最大缩放距离
  • Zoom Smooth Time:缩放时的平滑时间
视角重置
  • Reset View Key:重置视角的快捷键
  • Reset Smooth Time:重置视角时的平滑时间
注意事项
  • 如果没有指定目标点,摄像机会围绕自身旋转
  • 建议在场景中创建一个空物体作为目标点,这样可以更好地控制旋转中心
  • 调整平滑时间和惯性参数可以获得不同的操作手感
  • 垂直旋转角度限制可以防止摄像机翻转过头

以下为示例代码,亲测可用

using UnityEngine;/// <summary>
/// 摄像机控制器 - 实现鼠标控制摄像机移动、旋转、缩放和平滑惯性效果
/// </summary>
[RequireComponent(typeof(Camera))]
public class CameraController : MonoBehaviour
{[Header("目标设置")][Tooltip("摄像机围绕旋转的目标点")]public Transform target;[Tooltip("如果没有指定目标,是否使用摄像机初始位置作为参考点")]public bool useCameraPositionAsTarget = true;[Header("移动设置")][Tooltip("鼠标左键拖动时的移动速度")]public float moveSpeed = 5f;[Tooltip("移动时的平滑时间")]public float moveSmoothTime = 0.3f;[Header("旋转设置")][Tooltip("鼠标右键拖动时的旋转速度")]public float rotationSpeed = 100f;[Tooltip("垂直旋转的最小角度限制")]public float minVerticalAngle = -80f;[Tooltip("垂直旋转的最大角度限制")]public float maxVerticalAngle = 80f;[Tooltip("旋转时的平滑时间")]public float rotationSmoothTime = 0.3f;[Header("惯性设置")][Tooltip("是否启用惯性旋转")]public bool enableInertia = true;[Tooltip("惯性衰减系数 (值越小,惯性持续时间越长)")]public float inertiaDamping = 5f;[
http://www.dtcms.com/a/574625.html

相关文章:

  • 吉林智能网站建设价格中国联通 腾讯
  • dw做简易表格网站企业推广公司
  • 本网站只做信息展示用邮箱地址做网站域名好吗
  • 学习:JavaScript(6)
  • 5a景区网站建设网页制作培训学费
  • 电子商务网站设计步骤2019网页游戏排行榜
  • jsp网站入门html企业网站主页模板
  • k8s:pod-1
  • 蓝牙钥匙 第45次 密码学基础在蓝牙钥匙中的应用:构建数字车锁的安全基石
  • Java练习——常用API1
  • hyip网站开发推荐个做淘宝主图视频的网站
  • 企业网站建设所需要的资料wordpress有什么数据库引擎
  • 上海云盾除了WAF,CDN还提供哪些细粒度的访问控制功能?
  • 高级机器学习作业(二)度量学习 + 稀疏学习 + GMM-EM半监督学习
  • Retimer vs Redriver:高速信号传输的“修复师”与“整形师”
  • 基于电鱼 RK3588 AI 工控机的智慧工地视频智能分析方案——减少布线复杂度与网络延迟,实现高效边缘智能
  • layout常用操作,DFF触发器版图为例
  • 海报设计网站官网网站建设服务条款
  • 网站建设是什么语言wordpress站关注别人
  • 创建网站怎么创怎样用网站做app
  • 制作购物网站教程南京设计公司有哪些公司
  • cmd控制台出现 系统找不到指定的路径。
  • 婚恋网站建设教程网站源码还可以做授权么
  • 【App开发】Mumu模拟器安装使用与Android Studio连接指南
  • 宝安中心地铁站是几号线通辽网站制作
  • 广东网站备案多长时间自助建站代理
  • 从零开始搭建 flask 博客实验(3)
  • 使用 Python 解释 Telegram 被封禁的原因(附中文版与中文群组频道搜索机器人示例)
  • Rust 练习册 3:深入理解闭包(Closure)
  • 官方网站制作wordpress 镜像