当调用别人的接口时,经常会有获取位置或向量的接口。遇到这些数据时,先要弄清楚现在获取的数据在哪个坐标系下的。

是否需要进行坐标系变换,一般提供的位置和向量都是在世界坐标系的,此时需要注意:

  ①对方的坐标系是左手坐标系还是右手坐标系

 因为Unity是左手坐标系,如果接口提供的数据是基于右手坐标系的话,我们需要把z值取反后,看起来的效果才是正常的。

  ②如果我们通过接口拿到的数据,我们想把它跟随场景中“Camera Rig”物体移动和旋转

 为了实现“Camera Rig”物体移动我们拿到的位置也跟着移动,“Camera Rig”物体旋转时我们拿到的位置和向量也跟着旋转。我们

需要用“Camera Rig”物体的移动和旋转创建一个变换矩阵,把拿到的数据乘这个矩阵即可实现。

    Vector3 point = GetPoint();
Vector3 dir = GetDir(); //创建矩阵
Transform target = CameraRig.transform;
Matrix4x4 mat = Matrix4x4.TRS(target.position, target.rotation, Vector3.one); //变换位置点
point = mat.MultiplyPoint(point); //变换向量
dir = mat.MultiplyVector(dir);

最新文章

  1. DB2常用sql命令
  2. Hibernate类中集合的映射
  3. 在线PDF编辑网站http://www.pdfescape.com
  4. 11个强大的Visual Studio调试小技巧(转)
  5. PHP MySQL 创建数据库
  6. Slack 开源替代品 Rocket.Chat(聊天,文件上传等等)
  7. sql server 2008 (3)
  8. git-daemon的快捷搭建
  9. 两张图解读Java异常与断言
  10. oracle系列笔记(2)---多表查询
  11. 第10天:CSS初始化操作
  12. checkeds 选中获取tbale表格中某一列td标签中的值
  13. 模拟银行业务的JS实现
  14. Jenkins配置项目构建后的钉钉通知
  15. CAD扩展属性的提取--FME方式
  16. [转]NSIS常用代码整理
  17. Android数据填充器LayoutInflater
  18. React的setState如何实现同步处理数据
  19. Mac系统升级至OS X Mavericks后Genymotion出现的问题及解决方法
  20. 什么是设计模式?【php】

热门文章

  1. 苹果手机Chrome浏览器显示input:disabled时字体颜色总是为浅灰色
  2. HttpContext.Current.Server.MapPath("") 未将对象设置到引用的
  3. CodeForces - 1236B (简单组合数学)
  4. 基于Spark.NET和ML.NET Automated ML (自动学习)进行餐厅等级的检查预测
  5. postman---post请求数据类型
  6. Jenkins显示reportng测试报告
  7. 【未完成】【oracle】存储过程按日期循环
  8. c#数组没有Remove方法,转换为list,再使用Remove方法(例如数组 a,b,c 去除b 只剩a c)
  9. Java List<T> 去重
  10. Mac流程图的软件