首页 > 其他分享 >Unity 物体围绕自身中心旋转而非轴心

Unity 物体围绕自身中心旋转而非轴心

时间:2023-08-20 13:32:13浏览次数:34  
标签:RotateAround point Vector3 旋转 Unity mouseY mouseX 轴心

Unity 物体围绕自身中心旋转而非轴心_Unity3d

============================================================

Unity 物体围绕自身中心旋转而非轴心_Unity3d_02

在上面两张图坐标中心都在轴中心,但是如果用Rotate进行旋转,第一张是正确的,第二张进行了缩放的物体旋转并不会围绕自身中心旋转.

解决的方法:

//相对于某一个点旋转
//point 相对于哪个点旋转
//axis  相对于point的 哪一个轴旋转
//angle 旋转的角度 和 旋转的速度
transform.RotateAround(Vector3 point, Vector3 axis, float angle);

示例:

if (Event.current.button == 1)//拖拽旋转
{
    var mouseX = Input.GetAxis("Mouse X");
    var mouseY = Input.GetAxis("Mouse Y");
    if (Mathf.Abs(mouseX) > Mathf.Abs(mouseY))
       areaParent.RotateAround(dragMoveBoxCollider.bounds.center, Vector3.up, mouseX * dragRotateSpeed * Time.deltaTime);
    else
       areaParent.RotateAround(dragMoveBoxCollider.bounds.center, Vector3.up, mouseY * dragRotateSpeed * Time.deltaTime);
 }





标签:RotateAround,point,Vector3,旋转,Unity,mouseY,mouseX,轴心
From: https://blog.51cto.com/u_16221841/7160825

相关文章

  • 旋转卡壳
    Smiling&Weeping----一个能升起月亮的身体,必然驮住了无数次日落题目链接:https://www.luogu.com.cn/problem/P1452题目简介:#[USACO03FALL]BeautyContestG/【模板】旋转卡壳##题目描述给定平面上$n$个点,求凸包直径。##输入格式......
  • 旋转矩阵与欧拉角
    旋转矩阵与欧拉角参考文献:[ComputingEuleranglesfromarotationmatrix——GregoryG.Slabaugh]三个主轴的旋转矩阵右手坐标系,逆时针转动角度为正(右手螺旋定则确定)。关于绕\(x\)轴旋转\(\psi\)弧度的主动旋转定义为\[R_x(\psi)=\begin{bmatrix}......
  • 旋转矩阵
    目录旋转的表示旋转向量与旋转矩阵之间的变换旋转向量变成旋转矩阵旋转矩阵变为旋转向量左右手坐标系确定及其旋转正向旋转的表示在三维坐标系中,有三种表达形式旋转矩阵\[R=\begin{bmatrix}r_{11}&r_{12}&r_{13}\\r_{21}&r_{22}&r_{......
  • 平面或空间中任意点的旋转
    平面或空间中任意点的旋转自己琢磨出来的。若有错误请指出。谢谢!1.旋转2D假设平面上有一个点\(P(x,y)\),旋转任意角度\(\beta\),求旋转后的点\(P'(x',y')\)。设平面坐标系上有一个半径为\(r\)的圆,圆心位于原点\(O\)。圆与\(x\)轴正坐标的交点为\(P_0(x_0,y_0)\)。\[P_0=......
  • Unity3D 向量大小比较
    Vector3.sqrMagnitude是指长度的平方,也就是Vector3.magnitude的平方计算向量大小的平方会比计算向量的大小要快很多,因为向量的大小由勾股定理得出,所以有开方操作,如果只是单纯的比较两个向量的大小,可以使用sqrMagnitude会快很多。(获取开始和结束时间经过对比发现没有差别,可能这一......
  • 骚操作:使用RxJava实现ImageView的拖动、旋转和缩放
    本文介绍一种使用Rxjava实现图片交互操作的方法。支持单指拖动,双指旋转缩放,效果如下:自定义View首先自定义TrsImageView继承ImageView,设置ScaleType为Matrix,我们使用矩阵计算最终的translate,rotate和scale。publicclassTrsImageViewextendsImageView{publicTrsImageVi......
  • unity 关于如何调整Canvas画布的大小
    如何调节Canvas画布大小呢?1.先在Hierarchy面板选择Canvas对象2.然后在Inspector找到Canvas3.最后找到RenderMouse,在下拉列表中选择WorldSpace选项;即可更改画布的大小。    ......
  • Unity___编辑器开发
    在Editor模式中执行组件内部的public字段/方法1.确定绑定的组件创建GUI按钮[CustomEditor(typeof(Camera))]publicclassTestInspector:Editor{///<summary>///Inspector扩展,在对应的组件中添加按钮,可以点击后调用方法///</summary>publicov......
  • 【未完】Unity Revit与GLTF导出展示笔记
    Revit模型+材质Web网页加载显示......
  • Unity VirtualCamera的使用
    我今天才明白了解VirtualCamera的强大,他几乎可以满足你对相机的所有需求,包括跟随物体,移动视角等等;1.首先我想介绍的是第一个Priority(优先事项),记住它是取决于你相机哪个先看哪个后看的因素,大号在前,小号在后的排序逻辑;2.Follow和LookAt一个是跟随物体,一个是一直保持看他,如果......