zoukankan      html  css  js  c++  java
  • [原][osg][osgEarth]osg::Matrix 父子节点的变化关系

     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当前真正的父节点也是偏移在(飞机等节点)附近的。然后更新的位置是相对位置。

  • 相关阅读:
    vs2008打包过程图解
    [转载]jQuery UI 使用
    [转载]jquery的extend和fn.extend
    [转载]jQuery.extend 函数详解
    jQuery 数据 DOM 元素 核心 属性
    jQuery 遍历
    [转载]JQuery.closest(),parent(),parents()寻找父节点
    (function($){...})(jQuery)是什么意思
    [转载]css hack
    jQuery ajax
  • 原文地址:https://www.cnblogs.com/lyggqm/p/6889224.html
Copyright © 2011-2022 走看看