[发明专利]一种3D对象在虚拟场景中的节点化组织方法在审
申请号: | 201810475996.X | 申请日: | 2018-05-17 |
公开(公告)号: | CN108734788A | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 程正 | 申请(专利权)人: | 成都明镜视觉科技有限公司 |
主分类号: | G06T19/00 | 分类号: | G06T19/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610041 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种3D对象在虚拟场景中的节点化组织方法,针对3D对象在场景中进行节点化的过程中所涉及的节点对象的三个属性位置(position)、旋转(rotation)、缩放(scale)以及局部坐标系(Local)和世界坐标系(World)进行处理,局部坐标系表示节点对象相对于父节点对象的位置、旋转以及缩放,世界坐标系表示节点对象在3D空间中的实际位置、旋转以及缩放;所述3D对象在虚拟场景中的节点化组织方法包括对节点对象进行定义、对节点进行渲染处理对新生节点的处理、将一个节点树分支下的子节或者子节点树移动到另一个节点下的处理四个部分。 | ||
搜索关键词: | 节点对象 虚拟场景 缩放 局部坐标系 世界坐标系 实际位置 属性位置 父节点 节点树 子节点 子节 渲染 场景 移动 | ||
【主权项】:
1.一种3D对象在虚拟场景中的节点化组织方法,针对3D对象在场景中进行节点化的过程中所涉及的节点对象的三个属性位置(position)、旋转(rotation)、缩放(scale)以及局部坐标系(Local)和世界坐标系(World)进行处理,其特征在于,局部坐标系表示节点对象相对于父节点对象的位置、旋转以及缩放,世界坐标系表示节点对象在3D空间中的实际位置、旋转以及缩放;所述3D对象在虚拟场景中的节点化组织方法包括对节点对象进行定义、对节点进行渲染处理对新生节点的处理、将一个节点树分支下的子节或者子节点树移动到另一个节点下的处理四个部分;对节点对象进行定义,包括如下几个步骤;s11、用position、rotation以及scale分别表示节点对象在世界坐标系下的位置、旋转以及缩放;s12、用localPosition、localRotation、localScale分别表示节点对象在局部坐标系下的位置、旋转以及缩放;s13、节点对象通过_parent属性设置其父节点,通过_children数组索引其子节点,以建立节点数的双向链表,保证从任意一个节点可以遍历到整颗节点树;并且提供了iterateUp以及iterateDown调用分别用来从当前节点向上遍历到场景节点树的根节点,以及向下遍历该节点的所有子节点;对节点进行渲染,是通过分别计算出节点的position、rotation、scale属性值来组成矩阵传给渲染引擎进行渲染实现的;其中,position、rotation、scale的计算均需要调用iterateUP遍历其所有父节点通过localPosition计算出最终的position、rotation和scale,切rotation的计算需要使用四元数;对新生节点的处理,具体方法为将新生成的节点对象加入到已经存在的节点对象下作为其子节点,每一个节点对象均实现了一个名为addChild函数,addChild函数将新节点对象的position、rotation和scale与它的父节点的position、rotation和scale进行运算,其中position与scale运算只需要进行一个除法运算即可得到新节点的localPosition、localScale,对于rotation则需要使用四元数进行运算得到新节点的localRotation,然后再将新节点要挂载的节点作为其_parent属性,将新节点加入到挂载节点的_children当中,这样就建立了一颗新的节点树;将一个节点树分支下的子节或者子节点树移动到另一个节点下的处理,具体方法为在移动节点时纪录下该节点的position,rotation和scale,然后在挂载节点时将数值赋值给相应的属性即可,其中,这个过程中要保持节点及其子节点的position,rotation和scale不变,具体是将position,rotation和scale均表达为ES6中的get和set属性,并在赋值时对position,rotation和scale进行处理同时保证localPosition、localRotation以及localScale的正确来实现节点及其子节点的position,rotation和scale不变。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都明镜视觉科技有限公司,未经成都明镜视觉科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810475996.X/,转载请声明来源钻瓜专利网。