Unity 鼠标拖动旋转物体,并且物体不会越转越乱

2023-10-26

用Mathf.Abs(绝对值)计算鼠标水平和竖直方向谁的位移更大,减少因为一丢丢的其他方向移动导致的物体微幅旋转影响后面物体旋转会越来越混乱。这样可以让物体旋转更好的单个方向进行旋转。

代码如下:

public float speed = 2f;

    void Update()
    {
        if (Input.GetMouseButton(0))
        {
            float OffsetX = Input.GetAxis("Mouse X");
            float OffsetY = Input.GetAxis("Mouse Y");
            if(Mathf.Abs( OffsetY)> Mathf.Abs(OffsetX))//对比水平和竖直方向谁的位移量更大,来决定旋转哪个方向,避免多个方向位移。
                transform.Rotate(new Vector3(-OffsetY, 0, 0) * speed, Space.World);
            else
                transform.Rotate(new Vector3(0, -OffsetX, 0) * speed, Space.World);
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity 鼠标拖动旋转物体,并且物体不会越转越乱 的相关文章

  • Unity动画控制器animator.CrossFade

    需要特别注意 1 CrossFade虽然可以不用任何逻辑来链接而直接跳转 但是CrossFade只能覆盖其他动画 当当前动画播放完毕而没有跳出这个动画时再次调用CrossFade将会失败 造成动画依旧停在原位 参数animator Cros
  • Unity中按钮检测鼠标状态

    改方法主要是用于按钮检测鼠标的进入 滑出 点击 抬起 长按 长按停止 1 先将下面这个脚本挂载到需要检测鼠标状态的按钮上 using System Collections using System Collections Generic u
  • Unity动画系统详解

    目录 动画编辑器 编辑器面板 动画复用 前言 人形重定向动画 Humanoid 通用动画 Generic 旧版本动画 Legacy 动画控制器 系统状态 切换条件 状态机脚本 IK动画 反向动力学 BlendTree 混合树 Animato
  • Unity3d 插件 系列——DoTweenPro介绍(图文详细+案例)

    Unity3d 插件 系列 DoTweenPro介绍 图文详细 案例 前言 一 DoTweenPro简介 二 DoTweenPro安装 三 DoTweenPro主要组件 1 DoTweenAnimation 2 DoTweenPath 3
  • Unity中UI框架的使用1-添加面板、显示Loading页面

    其中BasePanel和Canvas都是挂在面板的预制物上的 1 导入我们的UI框架 本篇文章中有用的是两个UIPanelType NUIManager和NBasePanel 会放在文章最后供大家使用 2 先将我们做好的Panel设置成预制
  • Unity之获取游戏物体对象或组件的几个方法

    文章目录 前言 通过物体名称获取对象 GameObject Find Transform Find 通过物体标签获取对象 GameObject FindWithTag GameObject FindGameObjectWithTag Gam
  • unity中创建询问弹出窗口

    在开发过程中进程会遇到需要弹出一个窗口询问用户是否进行的操作 今天就来制作一个这样弹出窗口 然后根据弹出窗口的选择内容不同进行不同的操作 本例中主要是为了删除一个数据 而在删除数据操作前需要得到用户的一个确认操作 这里面主要用到了Notif
  • 【IMGUI】 各种辅助类 EditorGUIUtility、EditorUtility、GUIUtility、GUILayoutUtility

    EditorGUIUtility class in Editor 继承自 GUIUtility EditorGUI 的各种辅助程序 EditorGUIUtility currentViewWidth 我尝试打印了下这个值和position
  • unity: C#的Action Event Delegate的异同

    目录 一 Action 二 Event 三 Action和Event区别 四 Delegate 总结 Action Event Delegate的异同 前言 Action Event和Delegate都是C 语言中的重要概念 分别用于管理函
  • 【Unity】按Esc进入操作菜单

    本文章是基于如下视频的自我总结 https www youtube com watch v JivuXdrIHK0 步骤如下 1 在Canvas 界面添加一个Panel Panel中添加一个按钮 调整按钮的大小为合适大小 调整字体的大小为合
  • unity实现鼠标右键控制视角

    主要实现的功能是相机跟随主角 鼠标右击移动后 相机的视角会旋转 思路 在主角里创建空的子物体 把相机绑在空物体上 通过旋转空物体来实现视角的旋转 要把相机调整到适当位置 代码如下 public float rotateSpeed 100 设
  • Unity万向节死锁解决方案(2023/12/4)

    1 万向节死锁无法解决 这是因为它的特性就是如此 就像玻璃杯就是玻璃 这不可否认 别钻牛角尖昂 2 大多数情况下欧拉角足够用 例如 CF 摄像机不可能绕z轴旋转 x轴旋转也不会超过九十度 因为那样人物的腰子会被扭断 塔防游戏 保卫萝卜 吃鸡
  • 【转载】【Unity】WebSocket通信

    1 前言 Unity客户端常用的与服务器通信的方式有socket http webSocket 本文主要实现一个简单的WebSocket通信案例 包含客户端 服务器 实现了两端的通信以及客户端向服务器发送关闭连接请求的功能 实现上没有使用U
  • 【Unity】运行时创建曲线(贝塞尔的运用)

    Unity 运行时创建线 贝塞尔的运用 1 实现的目标 在运行状态下创建一条可以使用贝塞尔方法实时编辑的网格曲线 2 原理介绍 2 1 曲线的创建 unity建立网格曲线可以参考 Unity程序化网格体 的实现方法 主要分为顶点 三角面 U
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • VS2022 | 显示Unreal Engine日志

    VS2022 显示Unreal Engine日志 视图 gt 其他窗口 gt Unreal Engine日志 视图 gt 其他窗口 gt Unreal Engine日志
  • 游戏开发创建操作之玩家信息系统的建立

    游戏一般都需要玩家信息系统 那么我们应该如何搭建玩家信息系统 接下来我将展示一种简单的方法 完整代码如下 using System Collections using System Collections Generic using Uni
  • 游戏开发常见操作梳理系列之——玩家信息的显示系统

    在游戏中 有不少游戏在左上角会出现玩家的头像和等级以及血量 这就是玩家的信息显示系统 那么这些是如何制作的呢 接下来我将讲讲代码的操作 其它操作我会在其它笔记中一一说明 敬请期待 信息的显示相当简单就是控制一些UI 然后在其它系统里面填写相
  • 游戏开发常见操作梳理之NPC药品商店系统(NGUI版)

    后续会出UGUI Json的版本 敬请期待 游戏开发中经常会出现药品商店 实际操作与武器商店类似 甚至根据实际情况可以简化设置 废话不多说 直接上代码 药品商店的源码 using System Collections using Syste

随机推荐

  • OSQL 命令行工具

    1 什么是 Osql osql 工具是一个 Microsoft Windows 32 命令提示符工具 您可以使用它运行 Transact SQL 语句和脚本文件 osql 工具使用 ODBC 数据库应用程序编程接口 API 与服务器通讯 在
  • EulerOS常用命令参考

    最近在使用华为云的欧拉系统 发现命令手册比较难找 找了一下官方文档 有一份比较详细的在eSignt手册下 如下地址 需要请自行跳转 参考如下文档 EulerOS常用命令参考 eSight 20 1 维护指南 12 华为
  • 软件工程—白盒测试习题答案

    一 问题描述 为以下程序设计满足指定覆盖准则的测试用例 测试用例数量应尽可能少 其中 判定1 x gt 3 z lt 10 的真分支为b 假分支为c 判定2 x 4 y gt 5 的真分支为d 假分支为e 条件1 x gt 3 的两种取值由
  • 最近邻插值、双线性插值

    1 最近邻插值 越是简单的模型越适合用来举例子 我们就举个简单的图像 3X3 的256级灰度图 也就是高为3个象素 宽也是3个象素的图像 每个象素的取值可以是 0 255 代表该像素的亮度 255代表最亮 也就是白色 0代表最暗 即黑色 假
  • html input ng model,AngularJS ng-model用法及代码示例

    ngModel是绑定输入 选择和文本区域 并将所需的用户值存储在变量中的指令 我们可以在需要该值时使用该变量 在验证过程中也以某种形式使用它 我们可以将ngModel用于 输入文本 复选框 无线电 数 电子邮件 网址 日期 datetime
  • 人工智能研究的新前线:生成式对抗网络

    林懿伦 戴星原 李力 王晓 王飞跃 来源 科学网 摘要 生成式对抗网络 Generative adversarial networks GAN 是当前人工智能学界最为重要的研究热点之一 其突出的生成能力不仅可用于生成各类图像和自然语言数据
  • iptables 实现域名过滤

    1 需求 过滤指定的域名 网站 如www baidu com www bilibili com 2 实现方案 方案1 字符串过滤 iptables A FOWARD m string algo kmp string bilibili com
  • Dynamics 365 CRM Online 使用Ribbon Workbench 2016在view或form上添加按钮并实现CURD

    目标 Dynamics 365 CRM Online 使用Ribbon Workbench 2016在view或form上方添加按钮并根据View中所选中的记录实现CURD 内容步骤 1 安装Ribbon workbench 2016 可参
  • 『Asp.Net 组件』Asp.Net 服务器组件 内嵌CSS:将CSS封装到程序集中

    代码 using System using System Web using System Web UI using System Web UI HtmlControls using System Web UI WebControls na
  • ubuntu执行apt-get install出现E: Unable to locate package 问题

    报错原因 就是没找到你要安装的那个软件 解决方法 1 检查你要安装的软件名中 是不是吧英文的 写成了中文的 2 所要安装的那个软件已经不存在了 极有可能是改名了 所以你需要执行apt cache search 关键字 查找你所要安装的这类软
  • W800系列

    目录 续前文 调试前配置 下载调试 增加一个新的demo 目前存在的问题 待解决 win11系统提示调试错误 驱动问题解决步骤 供复现及参考分析用 调试仿真错误 T HeadDebugServer运行截图 续前文 W800系列 ST LIN
  • 用例的一些知识

    一 用例执行 说明 执行结果与用例的期望结果不一致 含义 为缺陷 提示 用例结果不通过为缺陷 需要进行缺陷管理 二 缺陷 01定义 软件中存在的各种问题 都为缺陷 简称bug 02缺陷标准 少功能 功能错误 多功能 缺少隐形功能 易用性 软
  • Android NDK 开发:实战案例

    0 前言 如果只学理论 不做实践 不踩踩坑 一般很难发现真正实践项目中的问题的 也比较难以加深对技术的理解 所以延续上篇 JNI 的实战Android NDK开发 JNI实战篇 这篇主要是一些 NDK 小项目的练习 由于这些项目网上都有 d
  • CGAL---点云处理

    CGAL是一款几何处理库 但是介绍其在点云中处理的资料比较少 现介绍一个专门介绍CGAL在点云数据中处理的网站 比包括常见的点云数据处理 功能包括 1 聚类 欧式聚类 2 配准 ICP 3 简化 格网 4 平滑 5 法向量估算 6 特征估算
  • C++ static的作用

    1 什么是static static 是C 中很常用的修饰符 它被用来控制变量的存储方式和可见性 2 为什么要引入static 函数内部定义的变量 在程序执行到它的定义处时 编译器为它在栈上分配空间 大家知道 函数在栈上分配的空间在此函数执
  • 鱼眼去锯齿

    include
  • hexo更换主题后出现问题:WARN No layout: index.html

    hexo更换主题后出现问题 WARN No layout index html hexo本地测试运行重启后页面空白 hexo g出现以上错误 错误原因 运行git clone 指令获得主题后 假设是NEXT主题 在theme主题下保存文件夹
  • 火狐不能同步的问题

    火狐不能同步的问题 解决方法 下载同版本的软件并且切换成同一个服务器类型 打开 帮助 gt 关于Firefox 查看连个软件版本号和上线时间是否一致 如果不一致 则下载最新版 同版本同上线时间 的软件 如果一致 右上角菜单 gt 选项 gt
  • 【状态估计】基于UKF法、AUKF法的电力系统三相状态估计研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及数据 1 概述 基于UKF法和AUKF法的电力系统三相状
  • Unity 鼠标拖动旋转物体,并且物体不会越转越乱

    用Mathf Abs 绝对值 计算鼠标水平和竖直方向谁的位移更大 减少因为一丢丢的其他方向移动导致的物体微幅旋转影响后面物体旋转会越来越混乱 这样可以让物体旋转更好的单个方向进行旋转 代码如下 public float speed 2f v