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

这篇具有很好参考价值的文章主要介绍了Unity 鼠标拖动旋转物体,并且物体不会越转越乱。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

代码如下:文章来源地址https://www.toymoban.com/news/detail-617483.html

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);
        }
    }

到了这里,关于Unity 鼠标拖动旋转物体,并且物体不会越转越乱的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity】摄像机跟随鼠标移动以物体为中心旋转 物体根据视线方向移动

    描述 实现摄像机根据鼠标移动跟随物体旋转,以摄像机前物体为中心,摄像机围绕物体旋转,并使摄像机时刻指向物体 实现效果 Unity 组件设置 Camera 组件设置 Body 组件设置 实现代码 CameraRotateMove.cs 摄像机跟随和旋转 move_better.cs 物体根据按键移动

    2024年02月08日
    浏览(91)
  • 【Unity脚本开源】记录鼠标按下的位置和移动的距离来进行物体的旋转,并在鼠标释放后将物体恢复到初始旋转位置

    ♥️作者:白日参商 🤵‍♂️个人主页:白日参商主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!! 🎈🎈加油! 加油! 加油! 加油 🎈欢迎评论 💬点赞👍🏻 收藏 📂加关注+! 提针对这个需求,以下是示例脚本代码: ♥️作者

    2024年02月12日
    浏览(44)
  • 相机围绕物体旋转,并且有Y轴角度限制

    unity 相机围绕物体旋转,并且有Y轴角度限制,可通过parameters.offset 修改使目标物不在画面中心 using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.EventSystems; using UnityEngine.UI; public class CameraController : MonoBehaviour { public static CameraController instance; public Transf

    2024年02月09日
    浏览(47)
  • ThreeJs的场景实现鼠标拖动旋转控制

            前面一个章节中已经实现在场景中放置一个正方体,并添加灯光使得正方体可见。但是由于是静态的还不能证明是3D的,我们需要添加一些控制器,使得通过鼠标控制正方体可以动起来,实现真正的3D效果,由此引入OrbitControls组件,他实质是改变相机的位置,实现

    2024年02月07日
    浏览(59)
  • UE4中实现鼠标拖动游戏中的物体

    一、显示鼠标光标、启用鼠标点击事件         可以在关卡蓝图中或者游戏模式中加入下面代码  二、点击物体进入选中状态  三、根据通道获取命中结果          通过这个函数可以获取当前鼠标光标下接触的actor,重新设定actor位置即可。这里可以将类型转换去掉,就可

    2024年02月11日
    浏览(53)
  • unity中 使用IDragHandler拖动交换子物体

    using DG.Tweening; using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using VRSightCheck.Scripts; public class SwapPanel : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler {     /// summary     /// 是否已经响应拖拽     /// /summary     public static bool isDrag = false;     priv

    2024年02月05日
    浏览(35)
  • 使用Vue2开发一个图片预览组件,支持多图切换、缩放旋转、鼠标滚轮、键盘按键、拖动等等操作

    话不多说,咱们赶紧来开启本章的内容,这次小编给各位带来的依旧是实用类文章,分享如何开发一个完整的 图片预览组件 ,它支持多图切换、放大缩小、旋转、鼠标滚轮操作、键盘按键控制、拖动等等的功能,并且使用方便、易扩展,零依赖。 项目演示技术小编采用的是

    2024年02月09日
    浏览(78)
  • Unity 物体旋转

          在Unity中经常会用到物体的旋转,常用的方式一般是使用欧拉角和四元数。 欧拉角: Demo:    让物体分别绕x,y,z轴旋转 1 rad。    这里有个问题,当物体绕x轴旋转90度之后,再让y或z轴继续旋转,会发现,物体只能绕   y轴旋转。出现这种现象的原因是死锁了。欧拉角

    2024年02月13日
    浏览(40)
  • Unity物体旋转

    在Unity中,旋转是指将对象绕其自身的某个轴旋转一定角度的操作。 Unity提供了多种旋转方法,以下是其中的一些: 如果需要缓慢的旋转可以使用第4,5两个方法之一 Unity官方还提供很多方法,可以参考官方文档 1.Transform.Rotate方法 Transform.Rotate方法是最基本的旋转方法,它可

    2024年02月09日
    浏览(44)
  • unity旋转物体的操作

            例如绕物体的Z轴在-40°~40°之间进行旋转 注意!!! Unity引擎中使用的欧拉角范围在0°~360° 而脚本中的角度的范围却没有这个限制 若脚本中的角度在这个范围外,Unity会在引擎内把该角度转换在这个范围内 所以当脚本中角度为**负数**或**超过**360°**时会转换为

    2024年01月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包