CN104599319B - 一种3d场景的实时生成方法 - Google Patents
一种3d场景的实时生成方法 Download PDFInfo
- Publication number
- CN104599319B CN104599319B CN201410830804.4A CN201410830804A CN104599319B CN 104599319 B CN104599319 B CN 104599319B CN 201410830804 A CN201410830804 A CN 201410830804A CN 104599319 B CN104599319 B CN 104599319B
- Authority
- CN
- China
- Prior art keywords
- scene
- unity3d
- scenes
- real
- objects
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开一种3D场景的实时生成方法,包括以下步骤:a)建立场景的空间数据库;b)设计自动推理机;确定各个场景内对象的行为模式,写入到一个推理机组件中;声明一个Unity3D空对象,将推理机组件附载于Unity3D空对象上,c)自动推理机驱动;利用Unity3D引擎刷新所有对象的Update()函数,d)以人称控制器为参考对象,划定空间渲染区域;e)实时场景生成;通过查询空间数据库获得Unity3D引擎会再次生成的对象,该对象数据通过自动推理机求得,实时生成3D场景。本发明采用全局空间数据库解决了地理信息的记忆问题,并削弱了游戏逻辑对随机算法的依赖;采用自动推理机方法解决总体场景逻辑怪异和地理上自相矛盾等问题;场景生成的性能相对完全固定地图的模式要高出很多。
Description
技术领域
本发明涉及一种软件应用技术领域,具体的说,本发明设计一种应用于手机游戏的3D场景的实时生成方法。
背景技术
3D场景实时生成方法简介
在手机游戏当中3D场景是由游戏引擎根据算法随机生成的,这包括新场景的创建和旧有场景的删除。具体的做法是预置好一些由相同或不同3D对象组合而成的模型集合,然后根据算法随机在其中选择比较合适的形态组合进行3D场景的实时渲染。
Unity3D游戏开发引擎简介
Unity3D是目前最为流行的游戏开发工具,它是由Unity Technoogies公司开发的专业游戏引擎。它的特点是开发效率高、跨平台和支持多种美术资源文件格式。特别的,Unity还提供了一个网上资源商店(Asset Store),任何Unity用户都可以在这个平台上购买和销售Unity相关资源,包括3D模型、材质贴图、脚本代码、音效、UI界面、扩展插件等。
空间数据库索引技术
空间数据库索引是近年来在应用中发展起来的一个新兴学科。已经提出的多种多维索引技术包括Bang文件,、网格文件、hB树、KDB树、Paramid树、四叉树、R树、R3树、R+树、TV树和VA文件,这些索引主要是用来对点的集合进行索引。能够同时处理区域数据和点数据的索引结构包括区域四叉树、R树和SKD树。3D游戏明显的空间信息特征,因此将空间数据库索引技术引入3D游戏引擎具有重要的价值。
目前市场上3D场景实时生成技术较为成功的解决方案是Imangi Studio的TempleRun系列游戏所采用的游戏逻辑。在Temple Run游戏中,场景的生成是随机出现的。新场景的位置是当前场景最远处地形模块的左侧、右侧或者是后面。而当前场景最近处地形模块移过相机覆盖窗口后将被删除注销。这种方法的优点是保证三角形面数保持在一定限制内,现有的3D场景实时生成技术存在着很多缺点:完全依赖随机算法,不具备记忆功能。总体场景逻辑怪异,地理上自相矛盾。
发明内容
本发明的目的在于提供一种基于自动推理机的3D场景实时生成方法,解决当前手机游戏当中3D场景的动态生成和消亡存在的严重的问题,包括由于系统软硬件资源的限制,3D游戏场景常见的设计方法是随机生成新场景对象同时删除旧场景对象,此类方法造成许多自相矛盾的游戏逻辑。
本发明提供的技术方案是:一种3D场景的实时生成方法,包括以下步骤:
a)建立场景的空间数据库;利用最基本的数据结构(如:散列等)构造微型空间数据库,所有游戏对象做成一个空间数据库;将整个场景划分为若干个独立的小场景,然后将这些小场景以Unity3D形式登记到空间数据库当中;将各个小场景内的对象归类,使对象都具备地理位置属性;
b)设计自动推理机;将已分好类的对象分别制定其生命周期和活动范围,避免对象之间的复杂交互,由此,确定各个场景内对象的行为模式,写入到一个推理机组件中;声明一个Unity3D空对象,将推理机组件附载于Unity3D空对象上,由此,完成自动推理机组件;
c)自动推理机的驱动;
利用Unity3D引擎刷新所有对象的Update()函数,为所有对象建立行为数学模型,更新整个空间数据库中登记的所有对象,由Update()函数驱动;
d)以人称控制器为参考对象,划定一个空间渲染区域;
e)实时场景生成;当相机再次覆盖到已经被删除的对象时,Unity3D引擎会再次生成被删除的对象;空间数据库的对象数据采集于重新生成的对象,重新生成的对象数据通过查询空间数据库获得,重新生成的对象数据通过自动推理机求得,从而实时生成3D场景。
本发明的有益效果是:
本发明采用全局空间数据库解决了地理信息的记忆问题,并削弱了游戏逻辑对随机算法的依赖;采用自动推理机方法解决总体场景逻辑怪异和地理上自相矛盾等问题。
附图说明
当结合附图考虑时,通过参照下面的详细描述,能够更完整更好地理解本发明以及容易得知其中许多伴随的优点,但此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,其中:
图1是本发明的流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参考图1,如图1所示,本发明的一种3D场景的实时生成方法,包括以下步骤:
a)空间数据库的建立
(1)利用最基本的数据结构(如:散列等)构造微型空间数据库,所有游戏对象做成一个空间数据库。
(2)将整个场景划分为若干个独立的小场景。然后将这些小场景以Unity3D形式登记到空间数据库当中。将各个小场景内的对象归类,这些对象都具备地理位置属性。
b)自动推理机的设计
自动推理机是为空间数据库建立的。将已分好类的对象分别制定其生命周期和活动范围,避免对象之间的复杂交互,减少复杂度。由此,各个场景内对象的行为模式就已经确定了。将以上算法写入到一个组件中。
声明一个空对象,将推理机组件附载于其上。由此,自动推理机组件就完成了。
c)自动推理机的驱动
Unity3D引擎会不断地刷新所有对象的Update()函数,这个过程类似操作系统的监视进程。自动推理机组件同样具备Update函数,随着Update函数的刷新,整个空间数据库中登记的所有对象都将得到更新。这个过程模拟了游戏引擎所有对象的生存过程。
d)以人称控制器为参考对象,划定一个空间渲染区域;
e)查询空间数据库,实时生成3D场景;
虽然整个场景的所有对象都是登记在空间数据库之中,然而空间数据库的对象数据并非采集于真实对象。真实对象仅在相机窗口覆盖时才会生成,离开窗口后就会被删除。当相机再次覆盖到已经被删除的对象时,Unity3D引擎会再次生成该对象。再次生成的对象,数据是通过查询空间数据库来获得的,该数据通过自动推理机求得。
该方法的好处是大大地降低了系统开销,如100个小场景的系统开销与4个小场景大概相等。这对于手机游戏是非常合适的。此外,由于空间数据库本身就是记忆的产物,因此不会出现地理信息自相矛盾的问题。
以上实例的说明只是用于帮助理解本发明的核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (1)
1.一种3D场景的实时生成方法,其特征在于,包括以下步骤:
a)建立场景的空间数据库;
利用最基本的数据结构,构造微型空间数据库,所有游戏对象做成一个空间数据库;将整个场景划分为若干个独立的小场景,然后将这些小场景以Unity3D形式登记到空间数据库当中;将各个小场景内的对象归类,使对象都具备地理位置属性;
b)设计自动推理机;
将已分好类的对象分别制定其生命周期和活动范围,避免对象之间的复杂交互,由此,确定各个场景内对象的行为模式,写入到一个推理机组件中;
声明一个Unity3D空对象,将推理机组件附载于Unity3D空对象上,由此,完成自动推理机组件;
c)自动推理机的驱动;
利用Unity3D引擎刷新所有对象的Update()函数,为所有对象建立行为数学模型,更新整个空间数据库中登记的所有对象,由Update()函数驱动;
d)以人称控制器为参考对象,划定一个空间渲染区域;
e)实时场景生成;
当相机再次覆盖到已经被删除的对象时,Unity3D引擎会再次生成被删除的对象;空间数据库的对象数据采集于重新生成的对象,重新生成的对象数据通过查询空间数据库获得,重新生成的对象数据通过自动推理机求得,从而实时生成3D场景。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410830804.4A CN104599319B (zh) | 2014-12-26 | 2014-12-26 | 一种3d场景的实时生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410830804.4A CN104599319B (zh) | 2014-12-26 | 2014-12-26 | 一种3d场景的实时生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104599319A CN104599319A (zh) | 2015-05-06 |
CN104599319B true CN104599319B (zh) | 2017-05-31 |
Family
ID=53125069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410830804.4A Expired - Fee Related CN104599319B (zh) | 2014-12-26 | 2014-12-26 | 一种3d场景的实时生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104599319B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105006017B (zh) * | 2015-07-01 | 2018-07-24 | 国家电网公司 | 基于Unity动态技术生成三维场景仿真方法 |
CN105007477A (zh) * | 2015-07-06 | 2015-10-28 | 四川长虹电器股份有限公司 | 基于Unity3D引擎实现裸眼3D显示的方法 |
CN106708547B (zh) * | 2015-11-12 | 2020-10-27 | 卓望数码技术(深圳)有限公司 | 一种服务插件管理方法和系统 |
CN106170085A (zh) * | 2016-08-02 | 2016-11-30 | 江苏维林苑影像科技有限公司 | 一种无镜立体引擎交互方法 |
CN106846442B (zh) * | 2017-03-06 | 2019-07-02 | 西安电子科技大学 | 基于Unity3D的三维虚拟人群场景生成方法 |
CN109544663B (zh) * | 2018-11-09 | 2023-01-06 | 腾讯科技(深圳)有限公司 | 应用程序的虚拟场景识别与交互键位匹配方法及装置 |
CN114367086A (zh) * | 2021-12-31 | 2022-04-19 | 华南理工大学 | 一种下肢康复训练游戏系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200303A (zh) * | 2014-08-08 | 2014-12-10 | 华迪计算机集团有限公司 | 三维电子沙盘系统 |
-
2014
- 2014-12-26 CN CN201410830804.4A patent/CN104599319B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200303A (zh) * | 2014-08-08 | 2014-12-10 | 华迪计算机集团有限公司 | 三维电子沙盘系统 |
Non-Patent Citations (2)
Title |
---|
Virtual Astronaut for Scientific Visualization-A Prototype for Santa Maria Crater on Mars;Jue Wang et al;《future internet》;20121213;1049-1068 * |
基于Unity3D的虚拟漫游系统;朱惠娟;《计算机系统应用》;20121031;第21卷(第10期);36-39 * |
Also Published As
Publication number | Publication date |
---|---|
CN104599319A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104599319B (zh) | 一种3d场景的实时生成方法 | |
CN106599493B (zh) | 一种三维大场景中bim模型的可视化实现方法 | |
CN103885788B (zh) | 一种基于模型组件化动态web 3d虚拟现实场景的搭建方法及系统 | |
CN110850818B (zh) | 一种实现断路器自动化装配车间的数字孪生建模的方法 | |
CN106815881B (zh) | 一种角色模型的颜色控制方法和装置 | |
CN107170050A (zh) | 物联图元的3d场景建立方法及系统 | |
CN109960717A (zh) | 室内导航路网地图模型数据组织方法及系统 | |
CN104392037B (zh) | 一种城市场景参数化建模系统 | |
CN106021344B (zh) | 一种多适应性cime电网模型共享方法 | |
CN103914869A (zh) | 支持骨架个性化编辑的轻量化三维树木模型构建方法 | |
CN114239237A (zh) | 一种支持数字孪生的配电网仿真场景生成系统与方法 | |
CN105303465A (zh) | 基于cim模型的树形视图定义及展示方法 | |
CN114117619A (zh) | 一种数字孪生车间可组态可重构构建方法和系统 | |
CN104794316A (zh) | 一种3d模型拆分与组合的方法 | |
CN111475602B (zh) | 多版本知识图谱的存储方法、装置、存储介质及电子设备 | |
CN112604283A (zh) | 数据渲染方法及装置 | |
CN104392035B (zh) | 一种基于Web的城市三维建模方法 | |
CN108986205B (zh) | 一种绘制体素模型的方法、装置、设备和存储介质 | |
CN105635807A (zh) | 一种视频编辑方法和装置 | |
CN111445382B (zh) | 一种基于maya三维软件场景资源优化方法 | |
CN106649359A (zh) | 一种空间点数据的处理方法及装置 | |
KR20160008769A (ko) | 삼차원 애니메이션 제작방법 | |
CN112632681B (zh) | 基于虚幻引擎的数字孪生城市模型数据单体化实现方法、装置及存储介质 | |
CN112818452B (zh) | 全过程工程咨询bim应用一体化系统及方法 | |
Chen et al. | Data-driven Reconstruction for Massive Buildings within Urban Scenarios: A Case Study |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170531 Termination date: 20191226 |