Unity中世界坐标与相对于某个物体的相对坐标的转换
最近在开发XR会议, 会上报一些姿态信息在多个端侧进行同步,由于在不同的端侧定位的位置是不一样的,如果你上传的是世界坐标,其实你在另个端侧根本就不能定位出来。
所以我们在上报姿态信息时,都是相对于某个物体的相对坐标,然后在端侧在进行转换成相对坐标。
设定roomObject为你要改变的相对物体,
世界坐标转换成相对于roomObject这个物体的相对坐标:
Vector3 headLocalPosition = roomObject.transform.InverseTransformPoint(headWorldPosition);Quaternion headLocalRotation = Quaternion.Inverse(roomObject.transform.rotation) * headWorldRotation;
相对于roomObject这个物体的相对坐标转换成世界坐标:
Vector3 headWorldPosition= roomObject.transform.TransformPoint(headLocalPosition);Quaternion headWorldRotation= roomObject.transform.rotation * headLocalRotation;
这样,我们的姿态信息在多个端侧进行流转时,我们统一转换成相对与某个物体的坐标,然后发送给其他端侧,其他端侧在根据相对物体转换成世界坐标。
参考文献:
What is the rotation equivalent of InverseTransformPoint? - Unity Answers
What's the math behind transform.TransformPoint()? - Unity Forum
Unity中世界坐标与相对于某个物体的相对坐标的转换相关推荐
- Python计算机视觉:在阈值化图像中使用center_of_mass()函数寻找每个物体的中心坐标
Python计算机视觉:在阈值化图像中使用center_of_mass()函数寻找每个物体的中心坐标 <Python计算机视觉>第一章练习第七题: 使用形态学操作处理阈值化图像.在发现一些 ...
- Unity中基于Gpu Instance进行大量物体渲染的实现与分析(一)
图 一个使用gpu instance绘制4000棵树的场景 在3D渲染中,尤其是现代3D游戏中,我希望能够绘制越来越多的场景物体,这对于设备(尤其是移动端)的性能是个极大的考验,对于新一代的渲染ap ...
- Unity中,实现鼠标点击物体,触发事件
对于UI,很容易能够实现鼠标点击,从而触发事件,但是对于游戏中的物体,则需要多进行一些操作. 原理很简单,就是由鼠标点击处发射线,与游戏物体发生碰撞,碰撞到的物体,就是你点击到的物体.具体操作如下: ...
- Unity中添加组件/启用禁用游戏物体
常用变量 transform组件 场景当中的任何游戏物体,必须有一个transform组件.用来定位位置,游戏物体存在场景当中不可能没有位置,所以每个游戏物体有且只有一个transform组件,且不能 ...
- unity中世界坐标和绝对坐标之间的转换
public class TEST : MonoBehaviour {void Start () {Debug.Log(transform.position);}// Update is called ...
- 在Unity中实现体素化
在Unity中实现体素化 博客链接:在Unity中实现体素化 体素化 类似与用网格存储二维平面,将三维空间划分成大量尺寸相同的小方块的过程就称之为体素化. 为什么要体素化 以下是个人理解 当场景中多边 ...
- 浅谈Unity中的rotation和Quaternion的乘法
动手写游戏以后一个比较切身的体会,就是实际操作能检验很多语言的细节,也许平时看API文档,或者看一些教程的时候并没有深刻的体会,因为大多情况下你只知道了该怎么做,却不知道为什么要这么做,或者怎么想到这 ...
- 【Unity学习笔记】Unity中的欧拉角(Euler Angle)和万向节(Gimbal)
声明:此篇文章是个人学习笔记,并非教程,所以内容可能不够严谨.可作参考,但不保证绝对正确.如果你发现我的文章有什么错误,非常欢迎指正,谢谢哦. 目录 1 奇怪的现象 1.2现象一 1.2 现象二 1. ...
- Unity中制作UI光晕效果(发光效果)
Unity中,我们怎么制作UI物体发光的渐隐渐现的效果呢? 比如说我们有一张月亮光晕的精灵图片 我们可以给它添加一个CanvasGroup组件 我们可以发现,组件上的Alpha值可以控制图片的透明度, ...
- 在Unity中模仿游戏《江南百景图》中物体的出现效果
在Unity中模仿游戏<江南百景图>中物体的出现效果 1. 效果 1.1. 游戏中的效果 1.2. 在Unity中模仿的效果 2. 思路 3. 实现 3.1. 图片 3.2. shader ...
最新文章
- 剑指offer(11-25题)详解
- Servlet 的生命周期
- P4149-[IOI2011]Race【点分治】
- 如何使用Windows OVERLAPPED优化你的应用
- kubernetes系列11—PV和PVC详解
- linux 测试网络端口通不通_能否使用一台矢量网络分析仪来控制多台 E5092A 以增加测试端口数?...
- 软件工程中逻辑覆盖的例题_干货丨一文读懂:飞算全自动软件工程平台如何提升软件开发效率...
- 素数and约数and反素数
- JavaScript判断受访域名,调用不同的js文件
- 关于“2021中国隧道与地下空间大会暨中国(城市)地下空间学会(筹)成立大会”的通知
- nfc和红外线的区别_比较NFC支付、蓝牙支付、红外线支付技术的优缺点
- linux 虚拟ip 作用,linux-高可用之虚拟ip地址(VIP)
- java 调用打印机
- SaaS-HRM(3)企业部门管理前后台
- Stata:VAR-中的脉冲响应分析-(IRF)
- Raptor-水仙花数
- 电脑小知识:Windows 10 系统自带截图方法全解,赶紧收藏一下!
- mysql 创建索引语句
- mysql表怎么移动列_excel移动整列的方法图解步骤
- 学习笔记(01):8小时学会HTML网页开发-了解HTML