博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[原][osg][osgEarth]osg::Matrix 父子节点的变化关系
阅读量:4317 次
发布时间:2019-06-06

本文共 924 字,大约阅读时间需要 3 分钟。

1 //osg::Matrix offsetmatrix 计算出子节点在父节点下的绝对坐标 2 //osg::Matrix offposition 用来计算当前节点相对父节点的位置 3 osg::Matrix offsetmatrix; 4                 offsetmatrix.setTrans(newposition3); 5                 offsetmatrix.preMultRotate(fatherquat); 6                 offsetmatrix.preMultRotate(itr->_quatOffsetRotate); 7  8                 osg::Matrix offposition; 9                 offposition.setTrans(itr->_v3OffsetPosition);10                 offposition.postMultRotate(fatherquat);11                 offsetmatrix.postMultTranslate(offposition.getTrans());12 13 //此段代码每帧都调用来实现子节点跟随父节点运动,并实现相对偏移和旋转

直接上代码

我目前做的是spark粒子的喷射器跟随osgEarth上一个节点一起运动

并在父节点的基础上做相对偏移,用来做车尾尘,飞机尾焰等特效。

 

代码片段是写在

 SparkUpdatingHandler::handle中的

目的是更新spark喷射器的位置。

有几点要注意的:

1.spark的节点是挂在一个不动的节点下面的,不是挂在动的“父节点”(如飞机等)下面,然后更新spark的喷射器一直跟随“父节点”(飞机)。

2.由于在osgEarth中,“父节点”(飞机等)在空间的位置非常大,spark当前真正的父节点也是偏移在(飞机等节点)附近的。然后更新的位置是相对位置。

转载于:https://www.cnblogs.com/lyggqm/p/6889224.html

你可能感兴趣的文章
Maven配置
查看>>
HttpServletRequest /HttpServletResponse
查看>>
SAM4E单片机之旅——24、使用DSP库求向量数量积
查看>>
从远程库克隆库
查看>>
codeforces Unusual Product
查看>>
hdu4348 - To the moon 可持久化线段树 区间修改 离线处理
查看>>
springMVC中一个class中的多个方法
查看>>
Linux系统安装出错后出现grub rescue的修复方法
查看>>
线段树模板整理
查看>>
[教程][6月4日更新]VMware 8.02虚拟机安装MAC lion 10.7.3教程 附送原版提取镜像InstallESD.iso!...
查看>>
[iOS问题归总]iPhone上传项目遇到的问题
查看>>
Python天天美味(总) --转
查看>>
Spring Framework tutorial
查看>>
【VS开发】win7下让程序默认以管理员身份运行
查看>>
【机器学习】Learning to Rank 简介
查看>>
Unity 使用实体类
查看>>
【转】通过文件锁实现,程序开始运行时,先判断文件是否存在,若存在则表明该程序已经在运行了,如果不存在就用open函数创建该文件,程序退出时关闭文件并删除文件...
查看>>
MySQL常见注意事项及优化
查看>>
流畅的Python (Fluent Python) —— 前言
查看>>
Jquery-menu-aim流畅的菜单滑动体验
查看>>