System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及三维场景管理,尤其涉及一种基于结构化查询语言的三维场景管理方法及装置。
技术介绍
1、基于标签的场景查询和管理技术是一种在游戏开发和其他3d应用中常见的技术,它允许开发者使用标签来标记和识别场景中的对象。这种方法可以让开发者更容易地查询和操作满足特定条件的一组对象,而不必单独处理每一个对象,可以让开发者快速、灵活地处理场景中的对象。通过合理使用标签,开发者可以轻松地创建复杂的游戏逻辑,而无需写大量的硬编码。
2、现有技术中针对标签的三维场景的查询方式较为简单,在面对复杂逻辑的场景查询需求时,需要开发者编写对应的代码逻辑实现,且要求开发者足够了解所有对象的相关参数,否则无法完成代码逻辑的开发,整体三维场景管理技术的耦合性较强。
技术实现思路
1、有鉴于此,本专利技术实施例提供了一种基于结构化查询语言的三维场景管理方法及装置,用以解决现有技三维场景管理术难以支持复杂逻辑的场景查询,且耦合性较强的问题。
2、本专利技术采用的技术方案是:
3、第一方面,本专利技术提供了一种基于结构化查询语言的三维场景管理方法,包括:
4、获取调用方输入的结构化查询语句并进行词素分析,获得三维场景的词素列表;
5、依据预设语法规则对所述词素列表中的词素进行合法性校验,并根据合法性校验结果构建语法树;
6、对所述语法树进行语义分析,获得语义分析结果;
7、依据所述语义分析结果,从所述三维场景的根节点开始遍历场景对
8、读取所述暂存对象列表中的场景对象,并按照语法树的方式组装查询结果并将所述查询结果返回至调用方。
9、进一步地,所述获取调用方输入的结构化查询语句并进行词素分析,获得三维场景的词素列表,包括:
10、获取调用方按照结构化查询语言编写的结构化查询语句,并对所述结构化查询语句进行词素分解,获得三维场景中具有词素序列的词素列表;所述结构化查询语句包括数据查询语句、数据增加语句、数据删除语句和数据修改语句;所述词素包含关键字、标识符、运算符和字面量。
11、进一步地,所述依据预设语法规则对所述词素列表中的词素进行合法性校验,并根据合法性校验结果构建语法树,包括:
12、依据结构化语言的预设语法规则,检测所述词素列表中各个词素是否合法,若词素列表中的词素均合法,则按照词素列表的词素序列的结构,构建用以表示结构化查询语句结构的语法树;
13、若词素列表中存在不合法的词素,则返回语法树构建失败到调用方。
14、进一步地,所述对所述语法树进行语义分析,获得语义分析结果,包括:
15、检测所述语法树中是否存在场景对象,若不存在场景对象,则返回语义异常至调用方;
16、若存在场景对象,则检测所述语法树中场景对象的参数进行有效性检测,判断参数的数据类型是否正确,如果参数的数据类型不正确,则返回语义分析异常至调用方;
17、如果参数的数据类型正确,则所述语法树不存在语义问题,输出语义分析结果。
18、进一步地,所述依据所述语义分析结果,从所述三维场景的根节点开始遍历场景对象,并依据所述语法树对遍历的场景对象进行匹配筛选,将筛选出的场景对象存入暂存对象列表,包括:
19、基于语义分析结果,从所述三维场景的根节点开始,对三维场景中的场景对象进行遍历,并在遍历过程中,按照语法树的语法规则判断遍历的场景对象是否符合结构化查询语句中的场景对象类型;若符合结构化查询语句中的场景对象类型,则将遍历的场景对象存入暂存对象列表;若不符合结构化查询语句中的场景对象类型,遍历下一节点的场景对象;
20、当三维场景中所有场景对象的遍历完成或触发语法树的退出节点时,输出暂存对象列表。
21、第二方面,本专利技术提供一种基于结构化查询语言的三维场景管理装置,包括:
22、第一分析模块,用于获取调用方输入的结构化查询语句并进行词素分析,获得三维场景的词素列表;
23、第二分析模块,用于依据预设语法规则对所述词素列表中的词素进行合法性校验,并根据合法性校验结果构建语法树;
24、第三分析模块,用于对所述语法树进行语义分析,获得语义分析结果;
25、对象筛选模块,用于依据所述语义分析结果,从所述三维场景的根节点开始遍历场景对象,并依据所述语法树对遍历的场景对象进行匹配筛选,将筛选出的场景对象存入暂存对象列表;
26、数据返回模块,用于读取所述暂存对象列表中的场景对象,并按照语法树的方式组装查询结果并将所述查询结果返回至调用方。
27、综上所述,本专利技术的有益效果如下:
28、本专利技术提供的一种基于结构化查询语言的三维场景管理方法,其先对输入的结构化查询语句进行词素分析和语法分析,并根据分析结果,将结构化查询语句抽象为对应的语法树,并对语法树进行语义分析,通过语法树的语法规则在三维场景中快速筛选出结构化查询语句所需要的场景对象,可以有效检测出结构化查询语句的语义问题,能够适用调用方复杂的结构化查询语言解析,有效的支持复杂的业务请求。本专利技术通过使用统一的结构化查询语言来作为三维场景和外部模块交互的媒介层,可以通过极少量的开发与不同平台数据和不同开发环境的终端进行数据对接,进行三维场景数据的管理和更新,能够实现对传统三维场景管理软件的解耦。
本文档来自技高网...【技术保护点】
1.一种基于结构化查询语言的三维场景管理方法,其特征在于,包括:
2.根据权利要求1所述的基于结构化查询语言的三维场景管理方法,其特征在于,所述获取调用方输入的结构化查询语句并进行词素分析,获得三维场景的词素列表,包括:
3.根据权利要求1所述的基于结构化查询语言的三维场景管理方法,其特征在于,所述依据预设语法规则对所述词素列表中的词素进行合法性校验,并根据合法性校验结果构建语法树,包括:
4.根据权利要求1所述的基于结构化查询语言的三维场景管理方法,其特征在于,所述对所述语法树进行语义分析,获得语义分析结果,包括:
5.根据权利要求1所述的基于结构化查询语言的三维场景管理方法,其特征在于,所述依据所述语义分析结果,从所述三维场景的根节点开始遍历场景对象,并依据所述语法树对遍历的场景对象进行匹配筛选,将筛选出的场景对象存入暂存对象列表,包括:
6.一种基于结构化查询语言的三维场景管理装置,其特征在于,包括:
【技术特征摘要】
1.一种基于结构化查询语言的三维场景管理方法,其特征在于,包括:
2.根据权利要求1所述的基于结构化查询语言的三维场景管理方法,其特征在于,所述获取调用方输入的结构化查询语句并进行词素分析,获得三维场景的词素列表,包括:
3.根据权利要求1所述的基于结构化查询语言的三维场景管理方法,其特征在于,所述依据预设语法规则对所述词素列表中的词素进行合法性校验,并根据合法性校验结果构建语法树,包括:
4.根据权...
【专利技术属性】
技术研发人员:李志,伍琦,李志刚,谭龙,陈宇,刘孝卫,邱德顺,石博文,
申请(专利权)人:子亥科技成都有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。