[发明专利]一种基于OpenSceneGraph的三维动画制作方法有效
申请号: | 201510620905.3 | 申请日: | 2015-09-25 |
公开(公告)号: | CN105184843B | 公开(公告)日: | 2018-01-26 |
发明(设计)人: | 邹腊梅;高亚红;杨卫东;金留嘉;万敏;钟鸣 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06T13/20 | 分类号: | G06T13/20;G06T13/40 |
代理公司: | 华中科技大学专利中心42201 | 代理人: | 赵伟 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 openscenegraph 三维动画 制作方法 | ||
技术领域
本发明属于场景图形模拟仿真技术领域,更具体地,涉及一种基于OpenSceneGraph的三维动画制作方法。
背景技术
OpenSceneGraph(OSG)是一个开源的高性能三维图像渲染引擎,基于修改的LGPL协议(OSGPL)免费发布,广泛用于视觉仿真、游戏、虚拟现实、科学可视化和建模等领域,它以成为工业标准的OpenGL为底层平台,使用可移植性的ANSI C++编写而成;解决了使用OpenGVS、Vega等商业引擎开发成本过高,不利于产品推广的问题,从实用的角度上更有意义,效果不亚于商业视景渲染软件。
虚拟视景技术,是虚拟仿真视景技术中一个重要分支,其组成部分主要包括仿真建模技术、动画仿真技术和实时视景生成技术。在虚拟视景中,动画的渲染非常重要,可以添加更多的娱乐和互动。目前,OSG中实现逼真的动画技术主要是骨骼动画,其显示效果非常逼真。但其技术难度非常高。在一些场景中,有一部分动画起到很重要的锦上添花的效果,使得场景更加真实、绚丽,但这部分动画效果主要是视觉上的需求,并不需要精确度;这种情况下使用骨骼动画将会耗费大量的资源。
以制作海底鱼群运动动画为例,游动的鱼群、波动的海草是必不可少的场景成员,若使用骨骼动画来实现,需要制作大量三维模型,并进行鱼类身体游动的计算,而大量的鱼群游动不是简单的平动,其还具有鱼类身体的扭动;但它们大部分并非是场景中的主体目标,而是修饰整个场景,使其更具有真实性;为了实现真实动画效果采用骨骼动画,计算工作量巨大,将耗费大量资源。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于OpenSceneGraph的三维动画制作方法,其目的在于利用二维图片运动达到高度仿真三维动画视觉效果,克服了传统模型动画实现的复杂性。
为实现上述目的,按照本发明的一个方面,提供了一种基于OpenSceneGraph的三维动画制作方法,包括以下步骤:
(1)删除原始图片中的背景纹理,获得仅包含目标物体纹理信息的第一图片,将所述第一图片保存为带有透明度信息的格式,获得仅包含目标物体纹理信息且带有透明度的第二图片;
(2)设置第二图片每一帧的纹理坐标对应关系,获得各帧对应的子图;
(3)对所述子图添加广告牌;
(4)采用OpenSceneGraph的路径动画类创建路径动画对象,并将该路径动画对象关联至步骤(3)所述广告牌的节点,使得路径动画对象成为广告牌子节点;
(5)采用OpenSceneGraph的矩阵变换类创建矩阵变换对象和矩阵变化节点,将步骤(3)所述广告牌的节点关联至所述矩阵变换对象下;通过所述矩阵变换对象改变图片的位置和姿态信息,产生相对于三维场景参考系的位置和姿态变化效果;
(6)采用OpenSceneGraph的单视景器类创建单视景器对象,采用OpenSceneGraph的组节点类创建场景根节点,将步骤(5)中获得的矩阵变换对象关联至所述根节点下,并将单视景器对象的场景数据设置为根节点;
(7)采用OpenSceneGraph的帧函数完成各帧的场景数据更新并渲染绘制场景,获得三维动画。
优选地,步骤(2)创建子图的步骤具体如下:
(2.1)采用OpenSceneGraph的纹理类创建纹理对象,并设置纹理大小、纹理颜色格式特征;
(2.2)采用OpenSceneGraph的几何体类创建几何体对象,且将其设置为动态数据变量,使得该变量可在每一帧进行数据更新,且指定所述几何体对象局部坐标系的笛卡尔坐标系;
(2.3)采用OpenSceneGraph的三维数组类创建三维数组对象,用以存放纹理,采用OpenSceneGraph的二维数组类创建二维数组对象,用以存放纹理坐标;进行纹理映射,完成几何体对象与纹理坐标绑定;
(2.4)将上述纹理坐标对象与几何体对象进行关联,并设置几何体的定点数组;
(2.5)采用OpenSceneGraph的四维数组类创建颜色数组对象,将颜色对象关联到步骤(2.2)中创建的几何体对象上;并将所述包含目标物体纹理信息且带有透明度的图片分为20*20的小格子,将小格顶点坐标与颜色坐标一对一对应,完成纹理映射;
(2.6)创建图片对象,将步骤(1)获得的包含目标物体纹理信息且带有透明度的图片数据存入该图片对象,并将图片对象关联至(2.1)中创建的纹理对象上;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510620905.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种停车场智能投币收费系统
- 下一篇:控制头像切换的方法和装置