一种基于三维引擎的动态模型搭建方法

文档序号:6436341阅读:275来源:国知局
专利名称:一种基于三维引擎的动态模型搭建方法
一种基于三维引擎的动态模型搭建方法技术领域
本发明属于计算机三维模型技术领域,涉及三维引擎动态模型搭建,为一种基于三维引擎的动态模型搭建方法。
背景技术
随着三维仿真技术的不断完善更新,虚拟技术变得越来越普遍,三维仿真项目也越做越大,涉及到的三维模型的数量越来越多,模型搭建所需的时间越来越长,繁琐程度也相应增大。
在虚拟仿真的实际运用中,经常会碰到这样种情况,实际的需要虚拟仿真的物件为有很多部件组成,例如电器仪表设备-电压表,电压表上包含了液晶的显示器(或者指针型仪表)、开关按钮、调试按钮、电压选择按钮。在实际仿真中,需要对电压表进行控制,控制上面每个组件的状态。这个时候面临两个问题
1、整体建模和分开建模的问题
a、要求导入模型的材质会很大或者搭建的模型数量会很多;
b、渲染模型时需要先分开模型再渲染,耗费大量时间;
2、部件状态跟后台数据的配合问题
a、用户无法更新模型的部件状态,只能通过编写后台程序来更新;
b、模型对用户来说不具备可塑性;
现有技术可以提供解决整体建模和分开建模的问题,但是在部件状态和后台数据的配合问题方面却是无能为力,模型的部件状态只能通过后台来改变,用户完全没有改变的权限。发明内容
本发明要解决的问题是对于三维引擎动态模型的搭建,现有技术中只能通过编写后台数据来更新模型,对于用户而言模型可塑性差。
本发明的技术方案为一种基于三维引擎的动态模型搭建方法,对设备进行三维动态模型搭建,包括以下步骤
1)分析动态模型搭建所需所有组件,列出动态模型的组件列表;
2)在三维引擎实体文件夹DEF目录下创建实体文本文档,格式为“.def”,打开文档编写实体代码定义组件列表中所需的组件实体,直至列表中所有组件实体完成定义,并对各组件实体的状态属性进行初始化;
3)在三维引擎模型文件夹models目录下创建模型文本文档,格式为“.cfg”,打开文档编写基本参数代码,用于将设备的模型基本参数导入到引擎中,包括设备名称、设备编码、设备模型和脚本对象,设备名称为对要搭建的模型命名;设备编码为对模型的标识; 设备模型为导入设备模型框架对应的模型材质;脚本对象为对设备名称的标识;
4)打开步骤幻中创建的“.cfg”格式模型文本文档,编写输入/输出数据代码,用于将点表信息导入到引擎中,所述点表即设备中各组件的输入输出状态的集合,包括4种输入/输出状态DI、DO、YD、AO ;其中DI、YD为输入状态,DO、AO为输出状态,DI表示以组件开关状态代表输入值,YD表示以组件连线状态代表输入值;DO为整型输出,表示以组件状态改变代表输出值,AO为浮点型输出,表示以浮点数值表示输出值;
5)打开步骤幻中创建的“.cfg”格式模型文本文档,编写组件数据代码,用于将组件信息导入到引擎中,组件信息包括组件类型、组件名称、组件输入状态和组件输出状态, 组件类型为组件对应的实体类型;组件名称为该组件的标识;组件输入状态为组件的属性信息,包括输入端口、模型、外观贴图、模型路径和组件朝向;组件输出状态为组件的输出端口、输出通道和显示规则信息;
6)初始化三维引擎,通过三维引擎设备编辑器打开“.cfg”格式模型文本文档,使得设备的动态模型导入到引擎中,用户在引擎场景中看到设备的三维动态模型,并通过设备编辑器查看设备对应的基本参数、点表和各组件信息;
7)用户通过步骤6)中打开的设备编辑器,在设备编辑器中对导入引擎中的设备动态模型的基本参数、点表、组件信息进行增删改操作,完成增删改操作后保存并覆盖原 “.cfg”格式模型文本文档,即得到用户理想的模型;其中更新基本参数信息,对应的设备模型的信息就会发生改变;更新点表信息,仿真设备输入/输出状态发生改变;更新组件信息,仿真设备的组件将发生改变。
设备动态模型设有显示屏时,编写显示屏代码导入显示屏信息,显示屏信息包括设备的不同工作模式以及该模式下显示屏的分辨率;在步骤6)查看显示屏信息,根据动态模型需求在步骤7)更新显示屏模式信息,设备的显示模式对应发生改变。
本发明针对现有技术中对于用户,模型可塑性差这一缺陷进行完善,由于本发明编写的代码与三维引擎关联紧密,代码是依据三维引擎的设备编辑器来编写的,并且封装在三维引擎中的,而现实中的设备代码都是与三维引擎之间独立的,因此本发明中用户可以通过三维引擎中的设备编辑器打开设备模型,在设备总列表中查看和更新模型的状态属性,以达到更新模型的操作。
现有技术中也有对三维模型的整体分模块进行更新搭建的加载,本发明相比现有技术,其突出的特点和显著的进步是在于将模型代码化的同时,依托于三维渲染引擎,不仅可以通过对后台代码的编写来更新模型,更进一步的是用户可以通过仿真设备信息列表的简单操作改变模型列表中的设备参数、组件等信息,用户的权限得到提升;本发明编写的代码与三维引擎紧密关联,用户只能通过引擎中设备编辑器操作修改设备信息,而无法改变引擎内部的实体代码,既方便用户根据自身需求动态调整设备的三维模型,又极大保护了实体代码,操作简单安全;用户可在已有模型上进行更新操作,无需搭建新模型,省去了麻烦的代码操作。


图1为本发明三维动态组件的组成结构示意图。
图2为本发明三维动态组件开发的流程示意图。
具体实施方式
如图1和图2,本发明包括以下步骤
1)分析动态模型搭建所需所有部件,列出动态模型的组件列表;
2)在三维引擎实体文件夹DEF目录下创建实体文本文档,格式为“.def”,打开文档编写实体代码定义组件列表中所需的组件实体,直至列表中所有组件实体完成定义,并对各组件实体的状态属性进行初始化;
3)在三维引擎模型文件夹models目录下创建模型文本文档,格式为“.cfg”,打开文档编写基本参数代码,用于将设备的模型基本参数导入到引擎中,包括设备名称、设备编码、设备模型和脚本对象,设备名称为对要搭建的模型命名;设备编码为对模型的标识; 设备模型为导入设备模型框架对应的模型材质(.ASE或者.md5meSh文件);脚本对象为对设备名称的标识;
4)打开步骤幻中创建的“.cfg”格式模型文本文档,编写输入/输出数据代码,用于将点表信息导入到引擎中,所述点表即设备中各组件的输入输出状态的集合,包括4种输入/输出状态DI、DO、YD、AO ;其中DI、YD为输入状态,DO、AO为输出状态,DI表示以组件开关状态代表输入值,YD表示以组件连线状态代表输入值;DO为整型输出,表示以组件状态改变代表输出值,AO为浮点型输出,表示以浮点数值表示输出值;
5)打开步骤幻中创建的“.cfg”格式模型文本文档,编写组件数据代码,用于将组件信息导入到引擎中,组件信息包括组件类型、组件名称、组件输入状态和组件输出状态, 组件类型为组件对应的实体类型;组件名称为该组件的标识;组件输入状态为组件的属性信息,包括输入端口、模型、外观贴图、模型路径和组件朝向;组件输出状态为组件的输出端口、输出通道和显示规则信息;
6)初始化三维引擎,通过三维引擎设备编辑器打开“.cfg”格式模型文本文档,使得设备的动态模型导入到引擎中,用户在引擎场景中看到设备的三维动态模型,并通过设备编辑器查看设备对应的基本参数、点表和各组件信息;
7)用户通过步骤6)中打开的设备编辑器,在设备编辑器中对导入引擎中的设备动态模型的基本参数、点表、组件信息进行增删改操作,完成增删改操作后保存并覆盖原 “.cfg”格式模型文本文档,即得到用户理想的模型;其中更新基本参数信息,对应的设备模型的信息就会发生改变;更新点表信息,仿真设备输入/输出状态发生改变;更新组件信息,仿真设备的组件将发生改变。
进一步的,设备动态模型设有显示屏时,编写显示屏代码导入显示屏信息,显示屏信息包括设备的不同工作模式以及该模式下显示屏的分辨率;在步骤6)查看显示屏信息, 根据动态模型需求在步骤7)更新显示屏模式信息,设备的显示模式对应发生改变。
下面以电压表的三维动态模型搭建为具体实施例说明本发明的实施。
把电压表分成简单外观、通用开关、通用液晶显示器、通用仪表、调节按钮、接线柱等几个部分。对各个组件进行独立建模。在使用的时候再通过组件合并,组成整个电压表。 这样做有3个优点
1)、可以很好的把模型组件通用化,不同的电压表可以选择不同的组件直接合并完成,减少通用建模量;
2)、在组件控制方面,可以单独定义和控制组件状态,包括显示内容等;
3)、用户可以根据需要通过简单操作更新仿真设备。5
1、确定搭建电压表所需的所有组件
根据所要搭建的模型,用一张表列出所需的组件;
权利要求
1 一种基于三维引擎的动态模型搭建方法,其特征是对设备进行三维动态模型搭建, 包括以下步骤1)分析动态模型搭建所需所有组件,列出动态模型的组件列表;2)在三维引擎实体文件夹DEF目录下创建实体文本文档,格式为“.def”,打开文档编写实体代码定义组件列表中所需的组件实体,直至列表中所有组件实体完成定义,并对各组件实体的状态属性进行初始化;3)在三维引擎模型文件夹models目录下创建模型文本文档,格式为“.cfg”,打开文档编写基本参数代码,用于将设备的模型基本参数导入到引擎中,包括设备名称、设备编码、 设备模型和脚本对象,设备名称为对要搭建的模型命名;设备编码为对模型的标识;设备模型为导入设备模型框架对应的模型材质;脚本对象为对设备名称的标识;4)打开步骤幻中创建的“.cfg”格式模型文本文档,编写输入/输出数据代码,用于将点表信息导入到引擎中,所述点表即设备中各组件的输入输出状态的集合,包括4种输入/ 输出状态DI、D0、YD、A0 ;其中DI、YD为输入状态,DO、AO为输出状态,DI表示以组件开关状态代表输入值,YD表示以组件连线状态代表输入值;DO为整型输出,表示以组件状态改变代表输出值,AO为浮点型输出,表示以浮点数值表示输出值;5)打开步骤幻中创建的“.cfg”格式模型文本文档,编写组件数据代码,用于将组件信息导入到引擎中,组件信息包括组件类型、组件名称、组件输入状态和组件输出状态,组件类型为组件对应的实体类型;组件名称为该组件的标识;组件输入状态为组件的属性信息,包括输入端口、模型、外观贴图、模型路径和组件朝向;组件输出状态为组件的输出端口、输出通道和显示规则信息;6)初始化三维引擎,通过三维引擎设备编辑器打开“.cfg”格式模型文本文档,使得设备的动态模型导入到引擎中,用户在引擎场景中看到设备的三维动态模型,并通过设备编辑器查看设备对应的基本参数、点表和各组件信息;7)用户通过步骤6)中打开的设备编辑器,在设备编辑器中对导入引擎中的设备动态模型的基本参数、点表、组件信息进行增删改操作,完成增删改操作后保存并覆盖原“.cfg” 格式模型文本文档,即得到用户理想的模型;其中更新基本参数信息,对应的设备模型的信息就会发生改变;更新点表信息,仿真设备输入/输出状态发生改变;更新组件信息,仿真设备的组件将发生改变。
2.根据权利要求1所述的一种基于三维引擎的动态模型搭建方法,其特征是设备动态模型设有显示屏时,编写显示屏代码导入显示屏信息,显示屏信息包括设备的不同工作模式以及该模式下显示屏的分辨率;在步骤6)查看显示屏信息,根据动态模型需求在步骤7) 更新显示屏模式信息,设备的显示模式对应发生改变。
全文摘要
一种基于三维引擎的动态模型搭建方法,用于设备的三维动态模型搭建,将设备分为组件分别代码化,再由用户根据需要自行搭建设备的三维动态模型,并对各组件的参数按需要进行修改。本发明将模型代码化的同时,依托于三维渲染引擎,不仅可以通过对后台代码的编写来更新模型,更进一步的是用户可以通过仿真设备信息列表的简单操作改变模型列表中的设备参数、组件等信息;用户的权限得到提升,操作简单安全,用户可在已有模型上进行更新操作,省去了麻烦的代码操作。
文档编号G06T13/20GK102509331SQ201110326378
公开日2012年6月20日 申请日期2011年10月25日 优先权日2011年10月25日
发明者张伟, 张绚, 赵道勇 申请人:江苏南大先腾信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1