CN105354872B - 一种基于3d网页游戏的渲染引擎、实现方法及制作工具 - Google Patents
一种基于3d网页游戏的渲染引擎、实现方法及制作工具 Download PDFInfo
- Publication number
- CN105354872B CN105354872B CN201510738588.5A CN201510738588A CN105354872B CN 105354872 B CN105354872 B CN 105354872B CN 201510738588 A CN201510738588 A CN 201510738588A CN 105354872 B CN105354872 B CN 105354872B
- Authority
- CN
- China
- Prior art keywords
- rendering engine
- animation
- module
- rendering
- scene
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种基于3D网页游戏的渲染引擎、实现方法及制作工具,所述渲染引擎,包括:解析及加载模块,从工作流最终输出的自定义文件格式中读取、解压缩和解析出具体渲染所需要的信息,实现非阻塞解析;场景管理模块,用于实现视域剔除、场景物体遍历分类、拾取和鼠标事件派发以及渲染流程管理;摄像机及控制模块,用于实现场景漫游和实现摄像机动画;渲染模块,用于渲染一个物体所需要的所有信息,包含对几何体、材质、动画以及变换矩阵的渲染。所述制作工具,包括导出插件、自定义文件格式、3D编辑器、特效制作工具以及UI制作工具。本发明具有良好的跨平台性和可扩展性,能够大大缩短游戏开发周期,并降低开发门槛。
Description
技术领域
本发明涉及一种渲染引擎,尤其涉及一种基于3D网页游戏的渲染引擎,并涉及该基于3D网页游戏的渲染引擎实现方法及制作工具。
背景技术
现阶段网页游戏已步入3D高品质大型游戏时代,而基于原生Stage3D的游戏开发非常困难,开发人员学习与熟悉成本高,而且没有一套高效、易用的开发流程,导致在开发过程中,过多关注底层技术和开发流程,而忽略了游戏本身的可玩性等。使得开发流程过长,对人员素质要求过高,以及项目结构混乱,代码难以维护。
发明内容
本发明所要解决的技术问题是需要根据网页游戏的技术特点和基本需求,进而提供一个高性能、封装优良和结构模块清晰良好的具有核心代码库的基于3D网页游戏的渲染引擎,并涉及该基于3D网页游戏的渲染引擎实现方法及制作工具。
对此,本发明提供一种基于3D网页游戏的渲染引擎,包括:
解析及加载模块,从工作流最终输出的渲染引擎的自定义文件格式中读取、解压缩和解析出具体渲染所需要的信息,实现非阻塞解析;
场景管理模块,用于实现视域剔除、场景物体遍历分类、拾取和鼠标事件派发以及渲染流程管理;
摄像机及控制模块,用于实现场景漫游和实现摄像机动画,并对特效、关键帧动画、模型动作、摄像机动画和声音进行组合,然后在时间轴上进行调整,进而得到最终的特效和技能;
渲染模块,用于渲染一个物体所需要的所有信息,包含对几何体、材质、动画以及变换矩阵的渲染。
本发明的进一步改进在于,所述解析及加载模块的具体过程包括:解压缩,然后解析一个自定义文件,并检查本次解析的时间;当本次解析时间在设定的阈值内则直接开始下一个解压缩的过程,当本次解析时间超出设定的阈值则等待下一帧后开始解析。
本发明的进一步改进在于,所述场景管理模块中,所述视域剔除根据可见性判断物体是否在视野中可见,进而剔除被遮挡或者视野外的物体以降低实时渲染压力;所述场景物体遍历分类依据层级关系以及材质是否半透明对物体进行分类以及确定渲染顺序;所述拾取和鼠标事件派发用于判断相交和鼠标检测,可以检测游戏中指定物体的边缘或包围框,当两个物体碰撞时,可以防止相互穿透;所述渲染流程管理用于负责管理整个渲染引擎渲染的过程。
本发明还提供一种基于3D网页游戏的渲染引擎实现方法,所述渲染引擎实现方法用于实现如上所述的基于3D网页游戏的渲染引擎,并包括以下步骤:
步骤S1,设置渲染引擎的自定义文件格式;
步骤S2,渲染引擎基于C++语言的3DMax导出插件;
步骤S3,通过3D编辑器对3D场景进行优化处理;
步骤S4,通过UI编辑器制作UI素材库。
本发明的进一步改进在于,所述步骤S1中,所述自定义文件格式以块为解析的基本单位,实现对图片的分块压缩与非阻塞的解析,同时实现对场景数据的复用和压缩。
本发明的进一步改进在于,所述步骤S2中,所述导出插件包括导出美术制作的场景、动画、材质、灯光和模型中的至少一种插件。
本发明的进一步改进在于,所述步骤S3中,所述优化处理包括设置灯光、设置材质效果、刷地表、画路径、摆放特效、粒子动画、关键帧动画、条带、震动和测试中的至少一种优化处理;优化处理之后将更改结果保存为所述步骤S1中的渲染引擎的自定义文件格式,在保存过程中,自动对所存储的文件进行压缩、删减、同类识别合并和组合。
本发明的进一步改进在于,所述步骤S3中,所述3D编辑器为用户与3D渲染引擎交互的接口,用户通过3D编辑器对原始的三维场景、三维角色和三维特效分别进行制作、编辑、加工和优化,该过程中,用户对原始文件的各种属性的修改,最终会自动存储到所述的自定义文件格式的文件中,并最终由渲染引擎进行解析、加载和渲染。
本发明的进一步改进在于,所述步骤S4中,所述UI素材库用于实现素材的拖拽、缩放、调整和九宫格编辑,并将素材转化为3D渲染引擎所使用的文件格式。
本发明还提供一种基于3D网页游戏的渲染引擎制作工具,所述渲染引擎制作工具用于实现如上所述的基于3D网页游戏的渲染引擎,并包括:
导出插件,所述导出插件安装在3DMax中,用于将美术制作好的原始模型和动作从3DMax转化为所述渲染引擎可直接使用的自定义文件格式;
自定义文件格式,存储所述渲染引擎渲染时所需要的场景信息;
3D编辑器,用于对所述自定义文件格式进行处理;
特效制作工具,集成于所述3D编辑器中,用于游戏中技能、动画和场景物效的制作;
UI制作工具,用于为游戏制作专用的基于GPU渲染的3D UI,所述渲染引擎的核心代码库调用所述UI制作工具。
与现有技术相比,本发明的有益效果在于:具有良好的跨平台性和可扩展性,同时采用各种先进的优化技术,具有非常好的渲染性能、资源压缩率和运行速率等;同时在实现了渲染引擎的核心代码库基础上,扩展开发出一系列配套的基于3D网页游戏的渲染引擎制作工具,形成一套完成的游戏开发工作流程,使用简单、直观和易于上手,可供游戏开发中的各种人员角色协作使用,能够大大缩短游戏开发周期,并降低开发门槛。
附图说明
图1是本发明一种实施例的***结构示意图;
图2是本发明一种实施例的框架结构示意图;
图3是本发明另一种实施例的工作流程示意图;
图4是本发明另一种实施例制作3D网页游戏的工作流程示意图;
图5是本发明另一种实施例的3D编辑器的框架结构示意图;
图6是本发明另一种实施例的动画与技能编辑的框架结构示意图;
图7是本发明再一种实施例的***工作流示意图。
具体实施方式
下面结合附图,对本发明的较优的实施例作进一步的详细说明:
实施例1:
如图1所示,本例提供一种基于3D网页游戏的渲染引擎,包括:
解析及加载模块,从工作流最终输出的渲染引擎的自定义文件格式中读取、解压缩和解析出具体渲染所需要的信息,实现非阻塞解析;
场景管理模块,用于实现视域剔除、场景物体遍历分类、拾取和鼠标事件派发以及渲染流程管理;
摄像机及控制模块,用于实现场景漫游和实现摄像机动画,并对特效、关键帧动画、模型动作、摄像机动画和声音进行组合,然后在时间轴上进行调整,进而得到最终的特效和技能;
渲染模块,用于渲染一个物体所需要的所有信息,包含对几何体、材质、动画以及变换矩阵的渲染。
本例在渲染引擎中,使用C++重写了所述解析及加载模块,替换了Flash自带的加载资源的方法,使内存可以控制,同时可以异步加载,使用多个Worker,加快了可进入场景的速度;在解析时,大数据被解析为ByteArray类型,并使用快速内存的方式进行操作,不仅减少了内存的使用,还提升了解析的效率。所述解析及加载模块、场景管理模块、摄像机及控制模块和渲染模块共同构成所述渲染引擎的核心代码库,其详细的框架结构示意图如图2所示,本例所述渲染引擎的核心代码库灵活易用,结构清晰,扩展性强,稳定性强,方便开发与维护;同时由于提供了一系列制作工具的支持,学习成本低,开发周期短。
所述渲染引擎用于驱动上层游戏的渲染以及一些底层的逻辑管理,比如路径的选择、摄像机漫游、拾取交互、模型动画驱动和碰撞检测等。
所述解析及加载模块,从工作流最终输出的渲染引擎的自定义文件格式中读取、解压缩和解析出具体渲染所需要的信息,如模型、动作、贴图、灯光等;进而实现了非阻塞解析,其具体过程是:第一、解压缩,然后解析一个模块或一个自定义文件;第二、检查本次解析的时间,假设本次解析时间比较短,如本次解析时间在设定的阈值内,则直接开始下一个BLOCK,即直接开始下一个解压缩的过程;第三、解压缩,然后解析另一个模块或另一个自定义文件;检查本次解析的时间,假设本次解析时间超出设定的阈值,则等待下一帧数据后再开始解析;所述设定的阈值可以根据实际情况或用户的需求进行设置。
所述场景管理模块用于实现视域剔除、场景物体遍历分类、拾取、鼠标事件派发,渲染流程管理。所述视域剔除主要根据可见性判断物体是否在视野中可见,剔除被遮挡或者视野外的物体,能有效降低实时渲染压力;所述场景物体遍历分类依据层级关系以及材质是否半透明对某些特殊处理的物体进行分类以及确定渲染顺序;所述拾取和鼠标事件派发用于判断相交和鼠标检测,可以检测游戏中指定物体的边缘或包围框,当两个物体碰撞时,可以防止相互穿透;所述渲染流程管理则负责管理整个渲染引擎渲染的过程。
摄像机及控制模块在场景中假定一个摄像机,并通过这个摄像机观察场景,摄像机所在的位置称设置为投影中心,所看到的场景的范围为平截头体,将平截头体中物体压扁并呈现在屏幕上的坐标变换,得到最终显示在屏幕上的场景。摄像机附着在控制器上,由控制器控制其平移、旋转。常用的控制器有第一人称控制器,常应用于射击类等游戏,围绕控制器,跟随控制器,常用于赛车类游戏。渲染引擎中自定义了智能摄像机,提供类弹簧的缓动效果,对旋转和平移做了一定限制,使之能够根据人物周围的碰撞体智能检测离人物的远近。
图2中,所述渲染模块还包括实体模块、光照阴影模块、材质模块、动画模块和后置模块;所述实体模块包含了渲染一个物体所需要的所有信息,主要包含几何体、材质、动画以及变换矩阵,该实体模块包含于所述渲染模块之中。光照阴影模块,所述光照阴影模块用于编组和收集场景中的灯光,影响物体表面材质表现效果;阴影则是为了模拟现实中的背光面的投影,达到更生动的表现效果。材质模块,所述材质模块中的材质影响模型最终的颜色和对光的反映,模块中支持材质额外的特殊的效果,比如雾、蚀刻、消散和环境贴图等。动画模块,所述动画模块中的动画是游戏中不可缺少的元素,本例核心代码库中支持的动画种类包括顶点动画、骨骼动画、关键帧动画、粒子动画、组合动画和其他动画。在动画模块的骨骼动画模块中,由于Flash自身寄存器的限制,传统的做法中,只能支持38根左右的骨骼,在本引擎中,通过采用对偶四元数替换矩阵,将每根骨骼所需要的寄存器从4个降为3个,从而可以支持到55根骨骼,进一步通过浮点数拆分,使一个寄存器可以存储两个数据,将骨骼上限扩展到100,此外,通过自动骨骼拆分,可以不限制骨骼数目。后置效果模块,所述后置效果模块是指在渲染流程的最后,应用于全屏的特殊效果,往往能带来更为真实或者更加漂亮的效果,所述后置效果模块包含于所述渲染模块之中。所述渲染模块还包括寻路模块,所述寻路模块是用于自动确认人物在场景中的行动路径,引擎中在Worker中生成寻路数据,避免卡顿。
从上述技术方案可以看出,本例是基于Stage3D提供从底层渲染到上层游戏开发工作流的完整支持,具有Flash/AIR本身的良好跨平台性和可移植性,方便游戏开发者在桌面及手机平台上开发游戏,降低手机/网页游戏开发门槛,提供一套完整解决方案;而且该渲染引擎不仅可以运行在PC浏览器上,也可以在手机浏览器上或打包成客户端发布,并可支持Android和iOS;此外,所述渲染引擎运行在GPU上,通过GPU实现加速能够大大提高游戏体验。
本例所述解析及加载模块的具体过程包括:解压缩,然后解析一个自定义文件,并检查本次解析的时间;当本次解析时间在设定的阈值内则直接开始下一个解压缩的过程,当本次解析时间超出设定的阈值则等待下一帧后开始解析。具体的,第一、解压缩,然后解析一个模块或一个自定义文件;第二、检查本次解析的时间,假设本次解析时间比较短,如本次解析时间在设定的阈值内,则直接开始下一个BLOCK,即直接开始下一个解压缩的过程;第三、解压缩,然后解析另一个模块或另一个自定义文件;检查本次解析的时间,假设本次解析时间超出设定的阈值,则等待下一帧数据后再开始解析;所述设定的阈值可以根据实际情况或用户的需求进行设置。所述设定的阈值可以根据用户的自定义需要进行设置,该设定的阈值可以般参考解析一帧数据的时间。
本例所述场景管理模块中,所述视域剔除根据可见性判断物体是否在视野中可见,进而剔除被遮挡或者视野外的物体以降低实时渲染压力;所述场景物体遍历分类依据层级关系以及材质是否半透明对物体进行分类以及确定渲染顺序;所述拾取和鼠标事件派发用于判断相交和鼠标检测,可以检测游戏中指定物体的边缘或包围框,当两个物体碰撞时,可以防止相互穿透;所述渲染流程管理用于负责管理整个渲染引擎渲染的过程。
实施例2:
如图3所示,本例还提供一种基于3D网页游戏的渲染引擎实现方法,所述渲染引擎实现方法用于实现如实施例1所述的基于3D网页游戏的渲染引擎,并包括以下步骤:
步骤S1,设置渲染引擎的自定义文件格式;
步骤S2,渲染引擎基于C++语言的3DMax导出插件;
步骤S3,通过3D编辑器对3D场景进行优化处理;
步骤S4,通过UI编辑器制作UI素材库。
本例所述步骤S1中,所述自定义文件格式是对应渲染引擎功能定义的二进制文件格式,用于保存引擎在实际项目中所使用到的场景、模型以及其它数据。自定义文件能够良好的适应网页游戏的需求。在存储中,数据被按照不同类型和相关性划分为块,具有良好的独立性,同时也能够对资源的分块压缩与非阻塞的解析。在自定义文件的压缩上,对数据做了大量的优化、精简及复用,使用二进制格式,并采用LZMA进行压缩;自定义文件格式具有良好的可扩展性,同时具有良好的向前及向后可兼容性,可以在并不改变文件结构的情况下加入新的数据格式,同时旧的解析器在不知道新的规则时也可以正确解析。
所述步骤S2中,所述导出插件包括导出美术制作的场景、动画、材质、灯光和模型中的至少一种插件。
本例所述步骤S3中,所述优化处理包括设置灯光、设置材质效果、刷地表、画路径、摆放特效、粒子动画、关键帧动画、条带、震动和测试中的至少一种优化处理;优化处理之后将更改结果保存为所述步骤S1中的渲染引擎的自定义文件格式,在保存过程中,自动对所存储的文件进行压缩、删减、同类识别合并和组合。所述步骤S3中,所述3D编辑器为用户与3D渲染引擎交互的接口,用户通过3D编辑器对原始的三维场景、三维角色和三维特效分别进行制作、编辑、加工和优化,该过程中,用户对原始文件的各种属性的修改,最终会自动存储到所述的自定义文件格式的文件中,并最终由渲染引擎进行解析、加载和渲染。
本例所述步骤S4中,所述UI素材库用于实现素材的拖拽、缩放、调整和九宫格编辑,并将素材转化为3D渲染引擎所使用的文件格式。
本例所实现的渲染引擎提供一套基于自身工具的完善的游戏制作流程,具体流程如图4所示,包括以下详细步骤:
步骤S1,渲染引擎使用自定义文件格式,该自定义文件格式包含渲染引擎的相关元素,以块为解析的基本单位,实现分块压缩与非阻塞的解析,同时实现了场景数据的复用和高效率的压缩。所述自定义文件格式可以根据实际需要或用户事先的约定来进行自定义设置,便于灵活处理,以作为渲染引擎的专用的文件格式。
步骤S2,渲染引擎导出插件,所述渲染引擎基于原生C++语言的3DMax导出插件,支持3DMax 2014,一键安装,能够导出美术制作的场景、动画、材质、灯光和模型等。
步骤S3,通过3D编辑器对3D场景进一步优化,比如设置灯光、设置材质效果、刷地表、画路径、摆放特效、粒子动画、关键帧动画、条带、震动和测试等,设置材质效果包括设置雾、水、高光参数和烘焙贴图效果灯;同时将更改结果保存为所述自定义文件格式,在保存时,会对所存储的文件进行压缩、删减、同类识别合并和组合等优化。
3D编辑器的底层基于3D的渲染引擎的核心代码库,与核心代码库实现无缝连接,实现所见即所得,能够方便的将3D编辑器所制作和导出的模型、动画直接在游戏中进行组合使用。
下面结合图5对3D编辑器做进一步的详细描述:3D编辑器是用户与3D的渲染引擎相交互的接口,用户通过3D编辑器对原始的三维场景、三维角色和三维特效等分别进行制作、编辑、加工和优化,比如给场景加上烘焙的阴影、射合适的灯光以及添加适合的阻挡层,又比如给人物添加发光、法线和配入动画,以及制作***的粒子特效等。用户对原始文件的各种属性的修改,最终会被存储到前面所述的自定义文件格式的文件中,并最终由渲染引擎进行解析、加载和渲染。
3D编辑器主用包括下面几个方面的功能:
第一、模型与场景编辑,在模型与场景的3D编辑器中,主要针对下面几个方面:1、指定模型所在的层,比如默认进行普通渲染,当指示为碰撞层时则参与碰撞检测,当指示为幻影层时则在特定时段为其中运动的物体添加幻影,所述特定时段可以根据实际情况或用户的需求进行设置和修改,当指示为发光层时则会对层中所有物体加上发光的后置特效等;2、编辑模型的空间属性以及包围框,包围框用于碰撞以及鼠标拾取判断等;3、材质指定,用于指定模型所用到的材质。
第二、粒子特效编辑器,粒子特效编辑器主要用于编辑和制作基于GPU渲染的粒子特效,同时也可以制作出各种基于关键帧和序列帧的特效,进而使得本例的功能得以完善强大,操作方便,同时有非常好的性能优化。粒子特效编辑器能够为成千上万个粒子,在特定的时间内指定不同的运动轨迹、大小、颜色、速度、位置、加速度和uv等变化,结合少量的模型,即可制作出炫丽的技能或场景特效。
第三、声音编辑,支持声音与模型的绑定,根据模型的位置远近播放相应的三维立体音效。
第四、材质编辑,1、材质编辑影响到模型最终渲染与表现,包括:指定漫反射、高光反射、法线贴图,以及漫反射、高光和自发光系数。2、材质编辑影响模型灯光的指定和渲染方式的设置。3、材质编辑影响材质效果添加,可以为模型的材质添加多种渲染效果,比如边缘光、环境反射、变色和雾等。
第五、灯光编辑,通过对灯光的颜色、方向、漫反射参数和高光系数等进行调节,并使用Phong着色法的光照模型影响最终材质渲染效果。所述Phong着色法(Phong shading),是三维电脑图像的绘图技巧之一,结合了多边形物体表面反射光的亮度,并以特定位置的表面法线作为像素参考值,以插值方式来估计其他位置像素的色值。
摄像机设置和漫游,支持场景漫游、编辑摄像机动画。
第七、动画与技能编辑,可以对各种不同的特效、关键帧动画、模型动作、摄像机动画和声音进行组合,然后在时间轴上进行调整,成为更为复杂的特效和技能。所述动画与技能编辑的框架结构示意图如图6所示。
第八、资源优化压缩,在3D编辑器中,提供多种对资源优化和压缩的方法。比如对场景中模型顶点数据的删除重复,对模型资源的共享使用,对动作的量化处理、贴图使用高效的压缩算法等。此外,还包括对行走区域的编辑。
步骤S4,通过UI编辑器制作UI素材库,所述UI编辑器能够良好的管理和制作UI素材库,支持方便的拖拽、缩放、调整和九宫格编辑等,可以形成策划美术程序可协作的工作流程;可保存为中间格式,同时最终转化为3D的渲染引擎的核心代码库所使用的格式,进而制作出与3D无缝接合并实现GPU加速的UI素材库。
实施例3:
如图7所示,本例还提供一种基于3D网页游戏的渲染引擎制作工具,所述渲染引擎制作工具用于实现如实施例1所述的基于3D网页游戏的渲染引擎,并包括:
导出插件,所述导出插件安装在3DMax中,用于将美术制作好的原始模型和动作从3DMax转化为所述渲染引擎可直接使用的自定义文件格式;
自定义文件格式,存储所述渲染引擎渲染时所需要的场景信息;
3D编辑器,用于对所述自定义文件格式进行处理;
特效制作工具,集成于所述3D编辑器中,用于游戏中技能、动画和场景物效的制作;
UI制作工具,用于为游戏制作专用的基于GPU渲染的3D UI,所述渲染引擎的核心代码库调用所述UI制作工具。
所述制作工具,包括导出插件,用于将美术资源导出为引擎专用格式;场景编辑器,用于对场景和模型进行加工,制作特效、关键帧动画和摄像机动画,并和模型动作及声音等进行组合,即所述场景编辑器包括自定义格式、3D编辑器和特效制作工具;UI制作工具,用于制作游戏所需要的2D UI或3D UI。
本例所述的3D编辑器与实施例2所述的3D编辑器是同一个编辑器;本例可以通过实施例2所述的渲染引擎实现方法来实现,本例所述3D编辑器中的核心代码库灵活易用,结构清晰,扩展性强,稳定性强,方便开发与维护;同时由于提供了一系列的渲染引擎制作工具的支持,学习成本低,开发周期短。
所述3D编辑器中的核心代码库也称为3D渲染引擎核心库,用于驱动上层游戏的渲染以及一些底层的逻辑管理,比如路径的选择、摄像机漫游、拾取交互、模型动画驱动和碰撞检测等。
从上述技术方案可以看出,本发明具有良好的跨平台性和可扩展性,同时采用各种先进的优化技术,具有非常好的渲染性能、资源压缩率和运行速率等;同时在实现了渲染引擎的核心代码库基础上,扩展开发出一系列配套的基于3D网页游戏的渲染引擎制作工具,形成一套完成的游戏开发工作流程,使用简单、直观和易于上手,可供游戏开发中的各种人员角色协作使用,能够大大缩短游戏开发周期,并降低开发门槛。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (9)
1.一种基于3D网页游戏的渲染引擎,其特征在于,包括:
解析及加载模块,从工作流最终输出的渲染引擎的自定义文件格式中读取、解压缩和解析出具体渲染所需要的信息,实现非阻塞解析;
场景管理模块,用于实现视域剔除、场景物体遍历分类、拾取和鼠标事件派发以及渲染流程管理;
摄像机及控制模块,用于实现场景漫游和实现摄像机动画,并对特效、关键帧动画、模型动作、摄像机动画和声音进行组合,然后在时间轴上进行调整,进而得到最终的特效和技能;
渲染模块,用于渲染一个物体所需要的所有信息,包含对几何体、材质、动画以及变换矩阵的渲染;
所述渲染模块还包括实体模块、光照阴影模块、材质模块、动画模块、后置效果模块和寻路模块;所述实体模块包含了渲染一个物体所需要的几何体、材质、动画以及变换矩阵信息;所述光照阴影模块用于编组和收集场景中的灯光;所述材质模块用于实现模型最终的颜色和对光的反映;所述动画模块所支持的动画种类包括顶点动画、骨骼动画、关键帧动画、粒子动画和组合动画;所述后置效果模块应用于全屏的特效处理;所述寻路模块用于自动确认人物在场景中的行动路径以生成寻路数据;
所述解析及加载模块的具体过程包括:解压缩,然后解析一个自定义文件,并检查本次解析的时间;当本次解析时间在设定的阈值内则直接开始下一个解压缩的过程,当本次解析时间超出设定的阈值则等待下一帧后开始解析。
2.根据权利要求1所述的基于3D网页游戏的渲染引擎,其特征在于,所述场景管理模块中,所述视域剔除根据可见性判断物体是否在视野中可见,进而剔除被遮挡或者视野外的物体以降低实时渲染压力;所述场景物体遍历分类依据层级关系以及材质是否半透明对物体进行分类以及确定渲染顺序;所述拾取和鼠标事件派发用于判断相交和鼠标检测,可以检测游戏中指定物体的边缘或包围框,当两个物体碰撞时,可以防止相互穿透;所述渲染流程管理用于负责管理整个渲染引擎渲染的过程。
3.一种基于3D网页游戏的渲染引擎实现方法,其特征在于,所述渲染引擎实现方法用于实现如权利要求1或2任意一项所述的基于3D网页游戏的渲染引擎,并包括以下步骤:
步骤S1,设置渲染引擎的自定义文件格式;
步骤S2,渲染引擎基于C++语言的3DMax导出插件;
步骤S3,通过3D编辑器对3D场景进行优化处理;
步骤S4,通过UI编辑器制作UI素材库。
4.根据权利要求3所述的基于3D网页游戏的渲染引擎实现方法,其特征在于,所述步骤S1中,所述自定义文件格式以块为解析的基本单位,实现对图片的分块压缩与非阻塞的解析,同时实现对场景数据的复用和压缩。
5.根据权利要求3所述的基于3D网页游戏的渲染引擎实现方法,其特征在于,所述步骤S2中,所述导出插件包括导出美术制作的场景、动画、材质、灯光和模型中的至少一种插件。
6.根据权利要求3所述的基于3D网页游戏的渲染引擎实现方法,其特征在于,所述步骤S3中,所述优化处理包括设置灯光、设置材质效果、刷地表、画路径、摆放特效、粒子动画、关键帧动画、条带、震动和测试中的至少一种优化处理;优化处理之后将更改结果保存为所述步骤S1中的渲染引擎的自定义文件格式,在保存过程中,自动对所存储的文件进行压缩、删减、同类识别合并和组合。
7.根据权利要求6所述的基于3D网页游戏的渲染引擎实现方法,其特征在于,所述步骤S3中,所述3D编辑器为用户与3D渲染引擎交互的接口,用户通过3D编辑器对原始的三维场景、三维角色和三维特效分别进行制作、编辑、加工和优化,该过程中,用户对原始文件的各种属性的修改,最终会自动存储到所述的自定义文件格式的文件中,并最终由渲染引擎进行解析、加载和渲染。
8.根据权利要求3所述的基于3D网页游戏的渲染引擎实现方法,其特征在于,所述步骤S4中,所述UI素材库用于实现素材的拖拽、缩放、调整和九宫格编辑,并将素材转化为3D渲染引擎所使用的文件格式。
9.一种基于3D网页游戏的渲染引擎制作工具,其特征在于,所述渲染引擎制作工具用于实现如权利要求1或2任意一项所述的基于3D网页游戏的渲染引擎,并包括:
导出插件,所述导出插件安装在3DMax中,用于将美术制作好的原始模型和动作从3DMax转化为所述渲染引擎可直接使用的自定义文件格式;
自定义文件格式,存储所述渲染引擎渲染时所需要的场景信息;
3D编辑器,用于对所述自定义文件格式进行处理;
特效制作工具,集成于所述3D编辑器中,用于游戏中技能、动画和场景物效的制作;
UI制作工具,用于为游戏制作专用的基于GPU渲染的3D UI,所述渲染引擎的核心代码库调用所述UI制作工具。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510738588.5A CN105354872B (zh) | 2015-11-04 | 2015-11-04 | 一种基于3d网页游戏的渲染引擎、实现方法及制作工具 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510738588.5A CN105354872B (zh) | 2015-11-04 | 2015-11-04 | 一种基于3d网页游戏的渲染引擎、实现方法及制作工具 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105354872A CN105354872A (zh) | 2016-02-24 |
CN105354872B true CN105354872B (zh) | 2018-02-27 |
Family
ID=55330839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510738588.5A Active CN105354872B (zh) | 2015-11-04 | 2015-11-04 | 一种基于3d网页游戏的渲染引擎、实现方法及制作工具 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105354872B (zh) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562412A (zh) * | 2016-06-30 | 2018-01-09 | 齐游网络科技(上海)有限公司 | 游戏制作管理工具 |
CN106056655B (zh) * | 2016-09-06 | 2019-09-10 | 珠海金山网络游戏科技有限公司 | 一种可编辑的虚拟摄像机***和方法 |
WO2018049682A1 (zh) * | 2016-09-19 | 2018-03-22 | 深圳市大富网络技术有限公司 | 一种虚拟3d场景制作方法及相关设备 |
CN106502729B (zh) * | 2016-10-09 | 2019-05-17 | 武汉斗鱼网络科技有限公司 | 一种Flash播放器的资源加载方法及*** |
CN108062336B (zh) * | 2016-11-09 | 2020-09-04 | 腾讯科技(北京)有限公司 | 媒体信息处理方法及装置 |
CN106600665B (zh) * | 2016-12-01 | 2019-11-22 | 北京像素软件科技股份有限公司 | 一种相机动画路径生成方法和装置 |
CN106709041A (zh) * | 2016-12-29 | 2017-05-24 | 深圳岂凡网络有限公司 | 一种网页图形图像渲染***及方法 |
CN106952329A (zh) * | 2017-02-21 | 2017-07-14 | 长沙趣动文化科技有限公司 | 基于Unity3D与NGUI的粒子特效编辑方法及*** |
CN108287718B (zh) * | 2017-05-27 | 2022-05-17 | 深圳市创梦天地科技有限公司 | 基于游戏引擎的特效编辑方法及装置 |
CN107274466A (zh) * | 2017-05-31 | 2017-10-20 | 珠海金山网络游戏科技有限公司 | 一种实时全身动作捕捉的方法、装置和*** |
CN107230244A (zh) * | 2017-06-08 | 2017-10-03 | 深圳第七大道科技有限公司 | 一种动画文件的生成方法和渲染*** |
CN107315883B (zh) * | 2017-07-03 | 2020-06-16 | 云南交通职业技术学院 | 速度知觉测试方法及*** |
CN107369200B (zh) * | 2017-07-04 | 2021-07-16 | 福建星网视易信息***有限公司 | 一种3d场景特效处理方法及存储设备 |
CN109254716A (zh) * | 2017-07-13 | 2019-01-22 | 富泰华工业(深圳)有限公司 | 互动式屏幕保护***及方法 |
CN107333176A (zh) * | 2017-08-14 | 2017-11-07 | 北京百思科技有限公司 | 一种分布式视频渲染的方法及*** |
CN109669673A (zh) * | 2017-10-12 | 2019-04-23 | 世熠网络科技(上海)有限公司 | 基于html5的游戏引擎装置 |
CN109697123B (zh) * | 2017-10-24 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 游戏动画的渲染方法和装置、存储介质、电子装置 |
CN107918958B (zh) * | 2017-11-07 | 2020-10-30 | 珠海金山网络游戏科技有限公司 | 一种可视化和可定制的三维渲染***及方法 |
CN108010117B (zh) * | 2017-11-30 | 2021-09-28 | 杭州电魂网络科技股份有限公司 | 全屏渲染方法及装置 |
CN108479067B (zh) * | 2018-04-12 | 2019-09-20 | 网易(杭州)网络有限公司 | 游戏画面的渲染方法和装置 |
CN109147023A (zh) * | 2018-07-27 | 2019-01-04 | 北京微播视界科技有限公司 | 基于人脸的三维特效生成方法、装置和电子设备 |
CN109102560B (zh) * | 2018-08-09 | 2023-03-28 | 腾讯科技(深圳)有限公司 | 三维模型渲染方法及装置 |
CN109347916B (zh) * | 2018-09-14 | 2021-10-26 | 北京小米移动软件有限公司 | 游戏交互方法、装置及计算机可读存储介质 |
CN109529345A (zh) * | 2018-11-21 | 2019-03-29 | 北京像素软件科技股份有限公司 | 游戏事件实施方法及装置 |
CN109584344A (zh) * | 2018-11-27 | 2019-04-05 | 上海时丘照明设计有限公司 | 一种3d灯光效果动画制作*** |
CN109598774B (zh) * | 2018-11-30 | 2023-08-29 | 长沙神漫文化科技有限公司 | 一种特效数据渲染方法和装置 |
CN109934897B (zh) * | 2019-03-06 | 2023-01-10 | 珠海金山数字网络科技有限公司 | 一种摆动效果模拟***、方法、计算设备及存储介质 |
CN110090440B (zh) * | 2019-04-30 | 2022-03-11 | 腾讯科技(深圳)有限公司 | 虚拟对象显示方法、装置、电子设备及存储介质 |
CN110827381B (zh) * | 2019-11-04 | 2023-06-16 | 广联达科技股份有限公司 | 基于ThreeJS的图形分层显示方法、装置和存储介质 |
CN111068310B (zh) * | 2019-11-21 | 2021-05-11 | 珠海剑心互动娱乐有限公司 | 一种实现游戏地图无缝加载的方法及*** |
CN111192641B (zh) * | 2019-12-20 | 2023-06-23 | 深圳晶泰科技有限公司 | 一种用于复杂web 3D场景下用户交互的***和方法 |
CN111324340B (zh) * | 2020-02-20 | 2021-07-20 | 腾讯科技(深圳)有限公司 | 基于网页副本的交互方法、装置、存储介质和计算机设备 |
CN111402369B (zh) * | 2020-03-10 | 2023-11-03 | 京东科技控股股份有限公司 | 互动广告的处理方法、装置、终端设备及存储介质 |
CN111437606B (zh) * | 2020-03-30 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 碰撞检测的方法和装置、存储介质及电子装置 |
CN111429553B (zh) * | 2020-04-22 | 2024-03-29 | 同济大学建筑设计研究院(集团)有限公司 | 动画预览方法、装置、计算机设备和存储介质 |
CN111888759A (zh) * | 2020-07-27 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 一种游戏技能释放方法、数据处理方法及装置 |
CN112328237B (zh) * | 2020-11-25 | 2024-06-18 | 北京软通智慧科技有限公司 | 一种场景展示方法、装置、计算机设备和存储介质 |
CN112819929B (zh) * | 2021-03-05 | 2024-02-23 | 网易(杭州)网络有限公司 | 渲染水面方法及装置、电子设备、存储介质 |
CN112802192B (zh) | 2021-03-05 | 2022-01-28 | 艾迪普科技股份有限公司 | 一种可实时交互的三维图形图像播放器 |
CN113509735A (zh) * | 2021-03-30 | 2021-10-19 | 成都完美天智游科技有限公司 | 游戏编辑*** |
CN113259651B (zh) * | 2021-07-07 | 2021-10-15 | 江西科骏实业有限公司 | 立体显示方法、设备、介质及计算机程序产品 |
CN113888398B (zh) * | 2021-10-21 | 2022-06-07 | 北京百度网讯科技有限公司 | 头发渲染方法、装置及电子设备 |
CN115019019B (zh) * | 2022-06-01 | 2024-04-30 | 大连东软信息学院 | 一种实现3d特效编辑器的方法 |
CN115035218B (zh) * | 2022-08-11 | 2022-11-01 | 湖南湘生网络信息有限公司 | 交互动画制作方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067827A (zh) * | 2007-06-14 | 2007-11-07 | 上海创图网络科技发展有限公司 | 一种基于浏览器的三维网页实现方法 |
CN102508644A (zh) * | 2011-09-22 | 2012-06-20 | Tcl集团股份有限公司 | 一种3d用户界面图形引擎架构 |
CN104077797A (zh) * | 2014-05-19 | 2014-10-01 | 无锡梵天信息技术股份有限公司 | 三维游戏动画*** |
CN104267963A (zh) * | 2014-10-10 | 2015-01-07 | 重庆邮电大学 | 一种跨平台角色扮演网络游戏客户端引擎及建立方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855653A (zh) * | 2012-08-23 | 2013-01-02 | 上海创图网络科技发展有限公司 | 一种大规模三维动画人物渲染***及其应用 |
CN103927204A (zh) * | 2014-03-27 | 2014-07-16 | 北京视宴传媒科技有限公司 | 一种网页版三维在线游戏的实现方法 |
-
2015
- 2015-11-04 CN CN201510738588.5A patent/CN105354872B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067827A (zh) * | 2007-06-14 | 2007-11-07 | 上海创图网络科技发展有限公司 | 一种基于浏览器的三维网页实现方法 |
CN102508644A (zh) * | 2011-09-22 | 2012-06-20 | Tcl集团股份有限公司 | 一种3d用户界面图形引擎架构 |
CN104077797A (zh) * | 2014-05-19 | 2014-10-01 | 无锡梵天信息技术股份有限公司 | 三维游戏动画*** |
CN104267963A (zh) * | 2014-10-10 | 2015-01-07 | 重庆邮电大学 | 一种跨平台角色扮演网络游戏客户端引擎及建立方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105354872A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105354872B (zh) | 一种基于3d网页游戏的渲染引擎、实现方法及制作工具 | |
CN102663799B (zh) | 用于利用创作***创建可播放场景的方法和装置 | |
US7145562B2 (en) | Integration of three dimensional scene hierarchy into two dimensional compositing system | |
JP5037574B2 (ja) | 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、および画像処理方法 | |
CN111193876B (zh) | 视频中添加特效的方法及装置 | |
CN108564646A (zh) | 对象的渲染方法和装置、存储介质、电子装置 | |
CN107567642A (zh) | 用于基于体素的三维建模的***、方法和设备 | |
CN106408631B (zh) | 三维宏观展示方法及*** | |
US20080049015A1 (en) | System for development of 3D content used in embedded devices | |
US20110237331A1 (en) | Entertainment device and method of interaction | |
US9588651B1 (en) | Multiple virtual environments | |
Montero et al. | Designing and implementing interactive and realistic augmented reality experiences | |
CN104392479A (zh) | 一种利用灯光索引号对像素进行光照着色的方法 | |
CN107767437B (zh) | 一种多层混合异步渲染方法 | |
CN103413343A (zh) | 一种3d图像动画引擎 | |
US9704290B2 (en) | Deep image identifiers | |
US11157551B2 (en) | Method and device for image loading | |
CN116228960A (zh) | 虚拟博物馆展示***的构建方法、构建***和展示*** | |
Thorn | Learn unity for 2d game development | |
US11625900B2 (en) | Broker for instancing | |
US20230316626A1 (en) | Image rendering method and apparatus, computer device, and computer-readable storage medium | |
CN102880470A (zh) | 一种三维游戏引擎内核结构 | |
KR20120001114A (ko) | 가상세계 실시간 3d 객체 제어와 이를 위한 인터페이스 및 입출력 방법 | |
CN115167940A (zh) | 3d文件加载方法及装置 | |
CN111681317B (zh) | 数据处理方法、装置、电子设备及存储介质 |
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 |