[发明专利]面向三维对象控制的脚本语言系统与控制方法无效
申请号: | 200910077229.4 | 申请日: | 2009-01-20 |
公开(公告)号: | CN101482822A | 公开(公告)日: | 2009-07-15 |
发明(设计)人: | 郝爱民;王莉莉;王振;赵沁平;丛宇 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06T15/70 |
代理公司: | 北京科迪生专利代理有限责任公司 | 代理人: | 成金玉;卢 纪 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 三维 对象 控制 脚本语言 系统 方法 | ||
技术领域
本发明涉及一种面向三维对象控制的脚本语言系统与控制方法,属于虚拟现实技术领 域。
背景技术
根据对象控制侧重点不同,目前三维对象控制方法主要分为两类:面向对象属性设置的 控制方法和面向对象动作设置的控制方法。
目前通用的游戏引擎多采用面向对象属性设置的控制方法。首先通过配置文件设定场景 中的对象属性,然后用户通过游戏界面控制对象运动过程。使用这种控制方式往往只能配置 对象的静态参数。
提供面向动作控制的控制方法最出名的系统当算是Virtools。Virtools通过给每一个 模型提供动作能力并对动作能力参数设定控制模型运动过程。但是普通用户很难熟练使用该 方法实现对三维对象的控制,因为熟练使用Virtools之后才能掌握该种控制方法。
目前控制方法实现分为两类:一类是通过用户使用界面(GUI)实现(例如3D MAX)。使 用该技术控制对象较为直接但开发过程较为复杂,开发周期一般较长(大约一般需要至少一 年的时间)。另外一类通过配置文件实现(目前很多三维场景演示系统都采用此方法),由于 这种实现技术通过配置文件中的多种关键字标识各参数,使得编辑该配置文件较为复杂,同 时,该技术不是通过语义检查参数错误,报错机制较为简单,很难检查出配置文件中的语义 错误,使得在配置文件较大的情况下很难查错改错,使得用户输入错误率提高。
发明内容
本发明的技术解决问题:克服现有技术的不足,提供一种面向三维对象控制的脚本语言 系统与控制方法,用户不必专门培训便能够通过编写脚本控制三维对象,为非专业人士使用 虚拟现实系统提供了一种灵活的人机交互接口,缩短了开发周期;减少了用户输入错误,提 高了系统的可维护性和易修改性。
本发明的技术解决方案:面向三维对象控制的脚本语言系统,如图1所示包括:
语法定义文件:定义脚本语言语法规则,该语法规则覆盖对象参数设置、运动过程控制、 漫游控制和场景设置,该语法规则存储在语法定义文件中;
语法定义支持模块:对语法定义文件进行解析,分离出终结符、非终结符和关键字,并 对语法定义文件中的标识符进行识别,所述的语法定义文件由语法规则和关键字组成,语法 规则由终结符和非终结符组成,同时基于终结符、非终结符、关键字和识别出的语法定义文 件中的标识符,把语法定义文件中的语法规则通过索引的形式映射到语法规则表,解析完成 后分别形成终结符号表、非终结符号表、关键字表以及语法规则表,然后基于终结符号表和 非终结符号表以及语法规则表再计算出每一个终结符、非终结符的first集以及非终结符的 follow集,最后基于每个非终结符的first集和follow集以及语法规则表映射形成预测分 析表,再将终结符、非终结符及每个非终结符的first集和follow集、关键字、语法规则 表和预测分析表存放在解析结果文件中,供词法分析模块、语法分析模块和语义分析模块调 用;
词法分析模块:对用户按照语法定义文件中的脚本语言语法规则编写的脚本进行词法分 析,通过调用解析结果文件检查脚本中的每一个单词是否符合语法定义规则,确定每个单词 的属性,即是哪一种关键字,关键字分为NUM、IDENTIFIER和STRING三种,并以单词串的 形式输出至语法分析模块;
语法语义分析模块:根据解析结果文件中的预测分析表,对词法分析模块输出的单词串 进行语法分析,检查单词串中语句是否符合语法规则表中的语法规则,每分析完单词串的一 个语句,判断该语句是否符合语法定义文件中的语法规则,如果不符合该语句的构成,该语 句的构成包括终结符、非终结符和关键字,则报告脚本中存在错误,语法分析终止,如果符 合便得到该语句的构成,则对该语句的构成进行语义分析,判断该语句的构成为终结符、非 终结符和关键字中哪一种符号,并进行相应的存储;当所有的单词串中的所有语句进行语义 分析完后,所有语句的构成形成语义分析树,各语句存放在语法分析树的节点中;
语义解释模块:遍历语法语义分析模块形成的语义分析树,完成对该语义分析树中各节 点中存放的语句的解释,将解释后的语句内容作为参数放置在事件等待链表中等待绘制引擎 模块触发执行;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910077229.4/2.html,转载请声明来源钻瓜专利网。