首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在保持相对于另一个GameObject的相对位置不变的情况下旋转GameObjects

在保持相对于另一个GameObject的相对位置不变的情况下旋转GameObjects,可以通过以下步骤实现:

  1. 获取目标GameObject的世界坐标和旋转角度。
  2. 将旋转操作应用于当前GameObject。
  3. 计算旋转后的当前GameObject的世界坐标。
  4. 计算旋转后的当前GameObject相对于目标GameObject的位置偏移量。
  5. 将位置偏移量应用于旋转后的当前GameObject,以保持相对位置不变。

具体实现步骤如下:

  1. 获取目标GameObject的世界坐标和旋转角度:
    • 使用Unity的Transform组件获取目标GameObject的位置和旋转信息。例如,可以使用targetTransform.position获取目标GameObject的世界坐标,使用targetTransform.rotation获取目标GameObject的旋转角度。
  2. 将旋转操作应用于当前GameObject:
    • 使用Unity的Transform组件的Rotate方法,传入旋转角度和旋转轴,将旋转操作应用于当前GameObject。例如,可以使用transform.Rotate(rotationAngle, rotationAxis)进行旋转操作。
  3. 计算旋转后的当前GameObject的世界坐标:
    • 使用Unity的Transform组件的position属性获取旋转后的当前GameObject的世界坐标。例如,可以使用transform.position获取旋转后的当前GameObject的世界坐标。
  4. 计算旋转后的当前GameObject相对于目标GameObject的位置偏移量:
    • 将旋转后的当前GameObject的世界坐标减去目标GameObject的世界坐标,得到相对位置偏移量。例如,可以使用offset = transformedPosition - targetTransform.position计算位置偏移量。
  5. 将位置偏移量应用于旋转后的当前GameObject,以保持相对位置不变:
    • 使用Unity的Transform组件的Translate方法,传入位置偏移量,将偏移量应用于旋转后的当前GameObject。例如,可以使用transform.Translate(offset)将位置偏移量应用于当前GameObject。

这样,通过以上步骤,可以实现在保持相对于另一个GameObject的相对位置不变的情况下旋转GameObjects。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Unity Hololens2开发|(十一)MRTK3 Solver(求解器)

以下求解器提供基本行为构建基块: 求解器类型 描述 Orbital 锁定到指定位置并偏离参照对象 ConstantViewSize 应缩放以保持相对于参照对象视图不变大小 RadialVie 使对象保持在参照对象视锥投射范围内...ConstantViewSize 应缩放以保持相对于参照对象视图不变大小 Follow 使对象保持在参照对象一组用户定义边界内。 InBetween 使对象保持在两个跟踪对象之间。...“Orientation Type(方向类型)”属性确定应用于对象旋转,例如,对象应始终保持原始旋转,或者总是面向摄像头,或者面向驱动其位置转换。...但是,此组件可以发挥作用,以保持在任何跟踪目标类型“视线”范围内。 5.3.Follow Follow 类将元素定位在跟踪目标的前面,相对于其局部前向轴。...因此,如果光线投射是用户凝视方向,则 GameObject 将沿直线从表面上击中点向摄像头靠近。 “Oriention Mode(方向模式)”确定相对于表面上法线应用旋转类型。

30810

Unity ugui Anchor锚点自动适配画布中相对位置

允许我们快速对齐父物体一部分轴向顶点或边,但有时我们并不是要对齐这些,而是需要对齐特定位置某个点,例如: ? 如上图,上面的作战结束之后等级信息B它应该是对齐父物体面板什么位置呢?...当然了,你可以简单将它设置为对齐屏幕右侧中点或者右上,那么此时无论屏幕分辨率如何改变,它锚点Pivot距离屏幕右边缘距离都不变。...显然,这样Anchor预设调整是不太精准,在屏幕分辨率改变较大时,很多不同对齐方式元素有极大几率出现位置偏移甚至重叠。...ugui除了通过自带预设,也可以手动输入Anchor最大值和最小值来调整,当最大值和最小值相同时,它对齐相对百分比一个点: ?...例如上面的B字母中点精准对齐方式是,距离父物体画布宽82.9%高72.7%左右位置,这样无论父物体随着分辨率如何改变,B相对位置保持不变

2.1K10
  • Gizmos菜单_gi clamp

    Selection Outline 选择大纲 请选择外形与周围彩色轮廓显示所选GameObjects。如果所选GameObject延伸到场景视图边缘以外,则轮廓将被裁剪以跟随窗口边缘。...有些Gizmos仅在选择GameObject时绘制,而其他Gizmos由编辑器绘制,无论选择哪个GameObject。它们通常是线框图,用代码而不是位图图形绘制,并且可以是交互式。...一些小玩意儿是被动图形叠加,仅供参考所示(光方向小玩意儿,它显示光方向)。...其他小玩意儿是互动AudioSource 球形范围小玩意儿,您可以单击并拖动来调整AudioSource最大范围。 在移动,缩放,旋转和变换工具也是互动小玩意儿。...它们是平面的,广告牌式叠加层,你可以用它来清楚地表示GameObject位置,而你在你游戏。

    3.7K10

    一键完成对话需求?这款插件你不能错过(Unity3D)

    敌人进攻(任务):在隔壁房间里和NPC谈一谈,来完成这个任务。它演示了如何设置基于计数器任务,在这种情况下是一次杀戮任务。 变更场景与门互动以改变场景。这演示了如何在场景更改中保留数据。...添加对话管理器,拖动预制Assets ► Plugins ► Pixel Crushers ► Dialogue System ► Prefabs ► Dialogue Manager 对话管理器默认设置使其在场景更改时保持不变...Accepted GameObjects 接受对象 对于OnCollision和OnTrigger事件,另一个GameObject必须在这个列表中。...它将摄像机移动到与GameObject(游戏物体)相同位置旋转。你可以添加空GameObjects到场景中,指定绝对摄像机位置。...Position Saver r 保存游戏对象位置旋转。 保存和加载 要从脚本中保存和加载游戏,请使用静态方法pixelcrusher . savesystem。

    4.7K20

    unity3d之核心类介绍

    image.png Object 所有Unity3D基类。 持有实例ID信息。 Component (组件) 所有的Component,都会指向其所属GameObject。...Transform(转换) 主要用于控制物体旋转、移动、缩放。...属性 含义 position 在世界空间坐标transform位置。 localPosition 相对于父级变换位置。如果该变换没有父级,那么等同于Transform.position。...eulerAngles 世界坐标系中旋转(欧拉角)。 localEulerAngles 相对于父级变换旋转角度。 right 世界坐标系中右方向。(世界空间坐标变换红色轴。也就是x轴。)...rotation 世界坐标系中旋转(四元数)。 localRotation 相对于父级变换旋转角度。 localScale 相对于父级缩放比例。 parent 父对象Transform组件。

    1.1K10

    Unity零基础到入门 ☀️| 学会这些Unity常用组件,Unity中必备组件技能学习!

    每个游戏对象都有一个转换 变换位置旋转和缩放值是相对于父变换计算。...如果transform没有父物体,属性将会根据在世界空间中计算 总结一句话就是——Transform是用于控制游戏对象位置旋转和大小比例 下图分别是TransformInspector面板属性图和各种属性...,相对于物体自身坐标 Size 碰撞器大小 Radius 碰撞器半径大小 Radius 碰撞器半径大小 Height 圆柱体高度 Direction 方向 Mesh 选择网格 ????...可以避免因物体移动速度过快而穿过另一个物体情况Continuous Dynamic(动态连续):这种方式可以与所有设置了2或3方式游戏对象进行碰撞检测 Constraints 约束 约束位置旋转...比如想控制游戏对象人物上台阶不会摔倒,或者高速碰到一个墙壁物体时不会胡乱转动的话,则要冻结x,y和z轴旋转centerOfMass:相对于变换原点质心angularVelocity 刚体角速度向量

    3K31

    unity3d新手入门必备教程

    这种功能非常类似于文件夹树功能,一个游戏物体包含在另一个游戏物体中。    需要指出是所有子物体变换值都是相对于父物体,这个被称为局部坐标(Local Coordinates)。...一个游戏物体包含许多不同组件。缺省情况下。所有的游戏物体都包含一个变换(Transform)组件。这是因为变换表示物体位置旋转和缩放。没有变换组件,游戏物体将不会有位置。...现在你将会发现刚体属性显示在检视面板中,如果在该物体被选中情况下按下播放键(Play)你将会有惊喜发现。注意刚体是如何在一个空物体上添加功能。    ...近裁剪面(Near Clip Plane):相对于相机昀近绘制点    ?  远裁剪面(Far Clip Plane):相对于相机昀远绘制点    ?  ...裁剪面(Clip Planes) 近裁剪面(Near)和远裁剪面 (Far Clip Pline)属性决定相机视渲染开始和结束位置。这两个平面与相机方向垂直并相对于相机位置来确定。

    6.3K10

    Unity基础教程-物体运动(七)——移动地面(Going for a Ride)

    本文重点内容: 1、创建可以动平台 2、保持对连接主体追踪 3、尝试保持相对关系 4、支持轨道连接点 这是有关控制角色移动教程系列第七部分。它解决了在运动中地形上站立和导航问题。...但是,只有当当前和先前连接体相同时,该计算才有意义,因此请检查一下。否则,连接速度应保持为零。 ? 2.4 相对于连接做移动 至此,我们知道了我们所站平台速度。...最简单建模方法是使球体加速以匹配其所连接物体速度,然后再加速至相对于连接速度所需速度。...我们可以在AdjustVelocity中做到这一点,方法是从球体速度中减去连接速度,然后使用此相对速度来确定当前X和Z速度。因此,球体速度调整变得相对于连接速度,而其他所有条件保持不变。 ?...因此,在快速加速东西上行走可能很尴尬,这与现实相符。可以通过增加球体最大加速度来缓解。 ? (忽略了平台旋转) 在旋转连接情况下,我们无法跟踪其位置,因为它不受旋转影响。

    2.1K20

    Cinemachine(一)VirtualCamera和Brain简单介绍「建议收藏」

    当一个VirtualCamera混合到另一个时,该过程中,两个VirtualCamera都处于Live状态,当混合结束或者其他情况下,同一时刻内只会存在一个Live状态下VirtualCamera。...相对于Follow目标的模型空间计算偏移,当目标旋转,Camera也会跟着旋转保持偏移量不变。...World Space VirtualCamera在世界坐标中相对于Follow目标原点计算偏移,当目标旋转时,VirtualCamera位置不会发生变化 Simple Follow With World...Up VirtualCamera在世界坐标中相对于Follow目标在世界坐标中移动方向计算偏移和阻尼(不受在Y轴移动影响),例如一开始Camera在目标的世界坐标z轴负方向位置,当目标向世界坐标x...Object Offset 在目标的对象空间中,相对于目标中心点偏移。

    6.2K23

    Unity基本操作以及Roll A Ball

    第二个就是指针图标,可以选择物体移动方向。可以选择x,y,z三个方向进行移动。第三个就是旋转图标,可以对物体进行任意方向旋转。第四个可以改变物体大小。...把物体拖上去之后位置没有变化,但是相对坐标系改变了。 ?...ng cube(1)坐标系还是一样不变,cube这个时候坐标系就是以cube(1)坐标系为准了,就是相对于世界坐标系再减去相对父类坐标系值,0-1就是-1。...首先在scene找到一个比较好视野,然后点击GameObject-Align with view把相机定位到当前视野,之后就用代码来调整了。...相机同步无非就是相机和物体偏移量不变而已,也就是相机和物体相对位置保持不变。 ?

    1K10

    【Unity3D】3D 物体概念 ① ( 轴心点概念 | 物体父子关系 | 子节点相对坐标 )

    物体 进行旋转时 , 也是 绕着 轴心 Pivot 进行旋转 ; 3D 物体 轴心点 位置 , 是在 建模软件 中指定 , 可以设定为任意位置 ; 二、物体父子关系 ---- 有两个物体 ,...随着一起移动 ; 旋转 父物体 A , 子物体 B 也会 随着一起旋转 ; 缩放 父物体 A , 子物体 B 也会 随着一起缩放 ; 如果 删除 父物体 A , 子物体 B 也会 一起删除 ; 三、子节点相对坐标...---- 将 物体 B 坐标 设置为 ( 0 , 0 , 0 ) 时 , 效果如下 , 发现 物体 B 并没有处于世界中心点位置 ; 在 父子节点 中 , 子节点存在一个相对于父节点 相对坐标...; 选中 游戏物体 GameObject 后 , 在 右侧 Inspector 检查器窗口 中看到 坐标 , 都是 相对坐标 , 是相对于父容器节点坐标 ; 物体 A 处于场景中 , 则 父物体...就是整个游戏场景 , 其坐标就是相对于 世界中心 坐标 ; 物体 B 是 物体 A 子节点 , 则 父物体 就是 物体 A , 其坐标就是相对于 父物体 轴心坐标 ; 移动 / 旋转 父物体 时

    1.3K20

    Unity基本操作以及Roll A Ball窗口界面以及菜单Roll A Ball

    第二个就是指针图标,可以选择物体移动方向。可以选择x,y,z三个方向进行移动。第三个就是旋转图标,可以对物体进行任意方向旋转。第四个可以改变物体大小。...把物体拖上去之后位置没有变化,但是相对坐标系改变了。 ?...ng cube(1)坐标系还是一样不变,cube这个时候坐标系就是以cube(1)坐标系为准了,就是相对于世界坐标系再减去相对父类坐标系值,0-1就是-1。...首先在scene找到一个比较好视野,然后点击GameObject-Align with view把相机定位到当前视野,之后就用代码来调整了。...相机同步无非就是相机和物体偏移量不变而已,也就是相机和物体相对位置保持不变。 ?

    1K20

    Unity-AssetsResources and AssetBundles

    文件 GUID 提供了文件位置抽象。只要文件 GUID 和一个文件关联上,那文件在磁盘上位置就变得无关紧要了。这个文件可以随意移动,而不必更新所有引用了该文件对象。...间父-子关系 Instantiating the new GameObjects and Components 实例化新游戏对象和组件 Awakening the new GameObjects and...Components on the main thread 在主线程中激活新游戏对象和组件时间 后三种时间花费一般时不变,不论是从现成结构中或者从存储中加载。...using the new GameObject.Instantiate overloaded variants which accept a parent argument....移动设备:API只会加载AssetBundleHeader,其他数据保留在磁盘中。当调用加载方法或者他们实例ID被间接引用时对象会被按需加载。在这种情况下没有额外内存开销。

    1.8K20

    Unity3D脚印3——Transfor

    Transform组件用于控制物体位置旋转和缩放,这里面涉及两个重点,一个是坐标系,这个包括局部坐标系和世界坐标系关系,另外一个是父子节点,GameObject父子节点关系是通过Transform...localPosition 表示对象相对父节点变换坐标位置 void Translate(Vector3 translation, Space relativeTo = Space.Self); 在...,就是基于局部坐标系移动 旋转相关: 2个Vector3类型变量 eulerAngles 在世界坐标旋转作为欧拉角度 localEulerAngles 相对父节点欧拉角旋转 2个Quaternion...类型变量 rotation 在世界坐标系中旋转角度,是一个Quaternion对象(四元数) localRotation 相对于父节点旋转角度 void Rotate(Vector3 eulerAngles...up) 旋转物体使forward向量指向target位置 缩放相关: 1个Vector3类型变量 localScale 相对于父节点缩放 父子节点相关: parent 变量表示Transform

    73020

    Unity性能调优手册8UI:Canvas,Layout,RaycastTarget,Mask,TextMeshPro,UI显示

    变化是任何变化,主动切换、移动或调整大小,从外观大变化到第一眼看不出来小变化。重建过程成本很高,所以如果执行太多次,或者Canvas中ui数量很大,性能就会受到不利影响。...在这种情况下,如果在父Canvas中放置了大量ui,似乎就会出现导致高负载现象。...此外,如果需要将需求放置在相对于父元素特定位置,即使父元素大小发生了变化,也可以通过调整RectTransform锚点来实现。...text属性,但是还有另一个方法SetText。...如果你使用这个函数并将透明度设置为0,你可以隐藏其CanvasGroup 虽然这些方法有望避免由SetActive引起负载,但你可能需要小心,因为GameObject保持在活动状态。

    59931

    男生pun是什么意思_pun怎么读

    如果该方法失败了(没有房间接受另一个玩家),只需创建一个新房间,并等到其他玩家随机加入它为止。   或者,您客户端可以获得当前可用房间列表。这是通过加入一个大厅来获得。   ...你可以监听一些网络事件回调函数,OnPhotonInstantiate或OnPhotonPlayerConnected,并且你可以触发其中一些事件, PhotonNetwork.Instantiate...图 0-1 Photon Cloud:Photon View 观察Transform   如果你将一个Transform绑定到PhotonView观察属性上,你可以选择同步位置旋转和尺度或玩家这些属性组合...例如那些在找到自己位置后就不再移动箱子。   Reliable Delta Compressed 将更新每个值与它之前值进行比较。未更改值将跳过以保持低流量。接收端只需填入先前更新值。...一个RPC会被在同房间里每个玩家在相同游戏对象上被执行,所以你可以容易地触发整个场景效果就像你可以修改某些GameObject

    2.6K10

    Android样式开发:View Animation篇

    坐标的值可以有三种格式:从-100到100,以”%”结束,表示相对于View本身百分比位置;如果以”%p”结束,表示相对于View父View百分比位置;如果没有任何后缀,表示相对于View本身具体像素值...-100%位置,即在控件左边,与控件本身宽度一致位置;结束位置相对于父控件100%位置,即会移出父控件右边缘位置。...android:pivotX 旋转中心点X坐标,纯数字表示相对于View本身左边缘像素偏移量;带”%”后缀时表示相对于View本身左边缘百分比偏移量;带”%p”后缀时表示相对于父View左边缘百分比偏移量...android:pivotY 旋转中心点Y坐标,纯数字表示相对于View本身顶部边缘像素偏移量;带”%”后缀时表示相对于View本身顶部边缘百分比偏移量;带”%p”后缀时表示相对于父View顶部边缘百分比偏移量...normal 默认值,保持内容在Z轴上位置不变 top 保持在Z周最上层 bottom* 保持在Z轴最下层 android:interpolator 设置动画速率变化,比如加速、减速、匀速等

    1K20

    坐标系与矩阵(3):平移

    从几何角度,这里可以认为新增了一个维度 ? ,当旋转时,每一个点都相对 ? 旋转,自然中心点不变,而平移时,因为新增维度 ? 值为1,则相当于该平面上升到 ?...平面,然后在该平面上实现了平移,而整体上则类似比萨斜塔那般,依旧相对于原点不变。这样,我们新增一个维度,通过高维度线性变换实现低维度仿射变换。下图描述了该过程。 ?...这样,既能满足向量平移不变性,也能保证两点相减为向量,唯一特别处是两点相加,对应是两点中点,这个几何意义。 这样,可得平移矩阵: ? 我们将旋转和平移组合在一起,假设初始位置 ? 可得: ?...后点 ? 这里,提供两种思路。通常二维场景下,我们会把B移到O点 ? ,然后旋转 ? ,最后再移动回B点 ? ,因此对应解为: ? 另一个思路则是默认 ? ,则M从O平移到B,然后绕 ?...旋转,此时A相对于M坐标系位置记为 ? : ? 而 ? 是M从O平移到B时相对位置: ? 前者是坐标点移动,而后者是坐标系移动,不同思路,但最终矩阵都是一致

    2K20

    24年最新综述 | 几何图神经网络

    值得注意是,几何图展现出平移、旋转和/或反射对称性。这是因为控制原子(或粒子)动力学物理定律无论我们如何将物理系统从一个地方平移或旋转另一个地方都是相同。...先驱方法DTNN【222】、DimeNet【135】和GemNet【136】,将输入几何图转换为与旋转或平移不变距离/角度/二面角基标量,构成不变GNNs家族。...图1展示了几何GNNs在代表性任务上相对于传统方法卓越性能。...有了几何信息,我们可以超越对图拓扑有限感知,而是转向整个系统在3D空间中配置更广阔图景,其中重要信息,邻近节点相对方向和方向量度(速度),可以被更好地利用。...我们将几何图指定为数据结构,这在几何信息存在情况下推广了图概念,并允许在某些转换下保持关键对称性。

    36610

    各类加工中切削速度

    主轴转速(以RPM为单位)在车削刀片接触旋转工件直径处转换为切削速度。工件上不同直径需要不同 RPM才能获得相同切削速度。 因此,CNC控制器必须不断改变RPM以保持恒定切削速度。...铣削中切削速度 (SFM) 在铣削操作中,工件是静止,主轴旋转铣刀。主轴转速(以RPM为单位)在铣刀接触工件直径处转换为切削速度。因此,RPM可以在整个操作过程中保持不变。...(与车削相反,您在上面所读到)。 上述简化描述仅适用于典型 90° 铣刀。在倒角或球头铣刀中,铣刀与材料之间啮合点还取决于切削径向和轴向深度。...因此,钻头切削速度应始终保持在较低水平。(相对于铣削和车削) 端面车削和切断时切削速度 (SFM) 在端面加工和切断操作中,切削刀具从外径向中心线移动,在许多情况下,一直移动到直径为零中心。...从夹紧直径开始,主轴速度保持不变,切削速度降低,当切削刀具位于中心线时达到零。 切削速度单位 SFM – 每分钟表面英尺数 SFM 代表“表面英尺/分钟”。

    15310
    领券