CN117392306A - 一种虚拟对象的渲染方法、装置、电子设备及存储介质 - Google Patents
一种虚拟对象的渲染方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117392306A CN117392306A CN202311238745.7A CN202311238745A CN117392306A CN 117392306 A CN117392306 A CN 117392306A CN 202311238745 A CN202311238745 A CN 202311238745A CN 117392306 A CN117392306 A CN 117392306A
- Authority
- CN
- China
- Prior art keywords
- node
- attribute
- wire frame
- virtual object
- nodes
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000009877 rendering Methods 0.000 title claims abstract description 53
- 230000000694 effects Effects 0.000 claims abstract description 210
- 239000000463 material Substances 0.000 claims abstract description 126
- 230000014509 gene expression Effects 0.000 claims abstract description 113
- 238000004364 calculation method Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims description 34
- 125000001475 halogen functional group Chemical group 0.000 claims description 33
- 238000002156 mixing Methods 0.000 claims description 15
- 238000007499 fusion processing Methods 0.000 claims description 8
- 230000004927 fusion Effects 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 abstract description 19
- 238000003672 processing method Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 22
- 230000001276 controlling effect Effects 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000008188 pellet Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000005299 abrasion Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 239000011365 complex material Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚拟对象的渲染方法、装置、电子设备、以及计算机可读存储介质,该方法包括:获取初始材质球对应的表面节点和线框节点;根据语言表达式,将表面节点进行组建以生成节点计算连接信息;根据语言表达式,将线框节点进行组建以生成线框模式信息;在混合材质球中,根据语言表达式将节点计算连接信息和线框模式信息进行融合处理,渲染并会和呈现所述虚拟对象的全息影像效果和线框透视效果。上述方法制备的虚拟对象,既能将全息影像效果或线框透视效果进行单独呈现,也能将二者进行会和呈现;其处理方式快速高效、制作流程便捷,程序简单、数据计算量小。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种虚拟对象的渲染方法、装置、电子设备、以及计算机可读存储介质。
背景技术
随着计算机技术的发展,三维制作软件如Maya、3D Max、Blender、C4D等在日常生活中的应用随处可见。三维制作软件由于能够创建复杂的三维场景、角色、动画、特效等内容,因此被广泛的应用在游戏、电影、电视、广告、建筑、设计等领域中。
三维制作软件作为帮助创作者创造虚拟三维世界的软件,为了更好地模拟物体在不同视角下的真实外观,当前市场对三维制作软件提出了更高的要求。以虚拟游戏场景的制作过程为例,三维制作软件除了需要满足创作者基础内容创建的需求之外,还需要考虑虚拟游戏场景的真实感和视觉体验效果,即游戏用户在游戏过程中的体验感和沉浸感。其中,全息影像效果、线框透视效果作为影响虚拟游戏场景真实感和视觉体验效果的关键因素,实现全息影像效果和线框透视效果在虚拟对象上的会和呈现成为当下图像处理技术的研究重点。然而,现有的三维制作软件中,若想要将全息影像效果和线框透视效果会和呈现,其处理过程数据计算量庞大、制作流程复杂繁琐,制作周期长且在人力成本和资源成本方面的消耗较大。
因此,如何实现三维制作软件中同一虚拟对象内全息影像效果和线框透视效果的会和呈现,且处理过程中制作流程简单高效、制作周期耗时少、资源消耗小,已成为一项亟待解决的技术问题。
发明内容
本申请提供了一种虚拟对象的渲染方法、装置、电子设备、以及计算机可读存储介质,以解决现有的三维制作软件实现全息影像效果和线框透视效果会和呈现时,其处理过程数据计算量庞大、制作流程复杂繁琐,制作周期长且在人力成本和资源成本方面消耗较大的技术问题。
第一方面,本申请实施例提供了一种虚拟对象的渲染方法,所述方法包括:
获取初始材质球对应的表面节点和线框节点,所述表面节点为第一初始材质球用于创建标准表面的节点;所述线框节点为第二初始材质球用于创建线框表示形式的节点;
根据语言表达式,将所述表面节点进行组建以生成节点计算连接信息;所述节点计算连接信息用于创建虚拟对象的全息影像效果;
根据所述语言表达式,将所述线框节点进行组建以生成线框模式信息;所述线框模式信息用于创建所述虚拟对象的线框透视效果;
在混合材质球中,根据所述语言表达式将所述节点计算连接信息和所述线框模式信息进行融合处理,渲染并会和呈现所述虚拟对象的全息影像效果和线框透视效果。
第二方面,本申请实施例提供了一种虚拟对象的渲染装置,所述装置包括:节点获取单元、表面节点处理单元、线框节点处理单元、虚拟对象生成单元;
所述节点获取单元,用于获取初始材质球对应的表面节点和线框节点,所述表面节点为第一初始材质球用于创建标准表面的节点;所述线框节点为第二初始材质球用于创建线框表示形式的节点;
所述表面节点处理单元,用于根据语言表达式将所述表面节点进行组建以生成节点计算连接信息;所述节点计算连接信息用于创建虚拟对象的全息影像效果;
所述线框节点处理单元,用于根据所述语言表达式将所述线框节点进行组建以生成线框模式信息;所述线框模式信息用于创建所述虚拟对象的线框透视效果;
所述虚拟对象生成单元,用于在混合材质球中,根据所述语言表达式将所述节点计算连接信息和所述线框模式信息进行融合处理,渲染并会和呈现所述虚拟对象的全息影像效果和线框透视效果。
第三方面,本申请实施例提供了一种电子设备,包括:存储器、处理器;所述存储器,用于存储一条或多条计算机指令;所述处理器,用于执行所述一条或多条计算机指令,以实现上述方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有一条或多条计算机指令,该指令被处理器执行时,执行上述方法。
与现有技术相比,本申请提供的虚拟对象的渲染方法,在虚拟对象的渲染处理过程中,通过获取第一初始材质球对应的表面节点和第二初始材质球对应的线框节点,根据语言表达式,将所述表面节点进行组建以生成节点计算连接信息,实现虚拟对象全息影像效果的创建;根据所述语言表达式,将所述线框节点进行组建以生成线框模式信息,实现虚拟对象线框透视效果的创建;通过在混合材质球中根据所述语言表达式将所述节点计算连接信息和所述线框模式信息进行融合处理、使得全息影像效果和线框透视效果在虚拟对象中会和呈现,所生成的虚拟对象可同时具备上述两种效果。上述方法制备的虚拟对象,既能将全息影像效果或线框透视效果进行单独呈现,也能将二者进行会和呈现。该渲染过程借助语言表达式,处理方式快速高效、制作流程便捷,程序简单、数据计算量小,其全息影像效果和线框透视效果具有自由调节空间,对全息类视觉效果的呈现具有重要意义。
附图说明
图1是本申请实施例提供的一种全息影像效果的示意图;
图2是本申请实施例提供的一种线框透视效果的示意图;
图3是本申请实施例提供的一种虚拟对象的渲染方法的应用系统图;
图4是本申请第一实施例提供的虚拟对象的渲染方法流程图;
图5是本申请第一实施例提供的三维制作软件属性编辑器中设置乘积节点全息颜色的界面示意图;
图6是本申请第一实施例提供的属性连接关系建立之前虚拟对象的效果示意图;
图7是本申请第一实施例提供的属性连接关系建立之后虚拟对象的效果示意图;
图8是本申请第一实施例提供的获取比例参数值的界面示意图;
图9是本申请第一实施例提供的不同比例参数值对应的虚拟对象示意图;
图10是本申请第一实施例提供的全息影像效果和线框透视效果对应的虚拟对象的示意图;
图11是本申请第一实施例提供的不同发光效果参数对应的虚拟对象的示意图;
图12是本申请第二实施例提供的虚拟对象的渲染装置的结构示意图;
图13是本申请第三实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。应当理解,在本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或者两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
在详细说明本申请的实施方式之前,为了便于理解,以下对本申请实施例涉及的名词进行解释。
全息影像效果,也可称之为X射线全息或菲涅尔效果,是指三维制作软件模拟真实世界所制成的三维图像效果。作为计算机图形学(Computer Graphics,CG)领域迎合当前市场需求的产物,通过激光介质使得图像呈现立体效果。该图像具有立体感和深度感,可以从不同角度进行观察,以便于用户更好的理解和探索复杂的虚拟对象。为了便于理解三维制作软件所绘制的图像获得的全息影像效果,请参考图1的示意。图1为一种全息影像效果的示意图,如图1所示,用户从固定角度观察软件中制作的虚拟对象赛车时,由于软件中设置了该虚拟对象赛车的大小、位置、颜色、形状和动作等参数,通过X射线穿过物体并记录其反射或透射的信息,然后将这些信息转换为三维(3D)图像,使得制作获得的图像更真实、自然、立体效果显著。进一步地,若用户观察角度发生变化,用户观察到的上述虚拟对象赛车也会随之发生改变。
线框透视效果是指通过在绘图软件上绘制3D物体的线框图形来模拟其外观所产生的视觉效果。线框透视是指通过一组从用户观察者的位置看来投影到屏幕上的直线,进而创建立体图像。这些直线可以表示物体的表面、内部结构,而不仅仅是实际的物体形状。线框透视可用于创建许多不同类型的3D图形,包括建筑物、机器人和动物等。为了便于理解三维制作软件所绘制的图像获得的线框透视效果,请参考图2的示意。图2为一种线框透视效果的示意图,如图2所示,通过在三维制作软件中使用线框透视效果来模拟赛车在不同视角下的外观,例如图中从正面观察赛车时的外观,进而清楚地看到赛车的形状以及内部结构。
全息影像效果和线框透视效果的相关技术作为计算机图形学领域的代表性成果,实现了3D图像的创建并模拟了现实世界中的物理现象。然而,现有的三维制作软件中,可以单独实现全息影像效果或者线框透视效果。例如,在Maya(玛雅)软件中,可以使用Houdini插件来创建全息影像效果,也可以使用骨骼动画工具来创建线框透视效果。在3D Max软件中,可以使用Vray插件来创建全息影像效果,也可以使用MaxScript语言来创建线框透视效果等。现有的三维制作软件中,若想要将全息影像效果和线框透视效果二者会和呈现,其处理过程数据计算量庞大、制作流程复杂繁琐,制作周期长且在人力成本和资源成本方面的消耗较大。现有技术中,如何实现三维制作软件中全息影像效果和线框透视效果的会和呈现,且处理过程中制作流程简单高效、制作周期耗时少、资源消耗小,已成为一项亟待解决的技术问题。
有鉴于此,本申请提供一种虚拟对象的渲染方法、装置、电子设备、以及计算机可读存储介质,以满足用户线框透视效果和全息影像效果同时呈现的现实需求,且处理过程中制作流程简单高效、制作周期耗时少、资源消耗小。
为了使本申请的目的、技术方案更加清楚直观,下面将结合附图及实施例,对本申请实施例提供的方法进行详细说明。应理解的是,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。可以理解的是,下面几个实施例可以单独存在,以及在本申请提供的各实施例之间不冲突的情况下下述的实施例及实施例中的特征可以相互组合,对于相同或相似的内容,在不同的实施例中不再重复说明。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定,在某些情况下,可以以不同于此的顺序执行所示出或描述的步骤。
下面结合具体实施例及附图对本申请所述的虚拟对象的渲染方法、装置、电子设备、以及计算机可读存储介质进一步详细说明。
图3是本申请实施例提供的一种虚拟对象的渲染方法的应用系统图。如图3所示,本申请实施例提供的虚拟对象的渲染方法,该方法部署于服务端302,所述系统还包括用户端301。
所述用户端301可以为智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理(Personal Digital Assistant,PDA)等任一设备,为虚拟对象的创建者所在的终端,所述用户端301设置有三维制作软件。所述服务端302可以是位于所述用户端301内部的服务模块、也可以是与所述用户端301连接的服务设备,还可以是与多个所述用户端301连接的服务器。所述服务端302能够在虚拟对象的创建者通过用户端301设置虚拟对象模型的参数时,基于部署的方法在三维场景中渲染出具有全息影像效果和线框透视效果的虚拟对象。
本申请第一实施例提供了一种虚拟对象的渲染方法,该方法用于获得具有全息影像效果和线框透视效果的虚拟对象。
以下结合图4所示的虚拟对象的渲染方法的流程图对本实施例提供的方法进行详细说明。以下描述所涉及的实施例用于解释本申请的技术方案,并不作为实际使用的限定。
图4是本实施例提供的虚拟对象的渲染方法的流程图。
如图4所示,本实施例提供的虚拟对象的渲染方法,应用于三维制作软件,所述方法包括如下步骤S410至步骤S440。
步骤S410,获取初始材质球对应的表面节点和线框节点,所述表面节点为第一初始材质球用于创建标准表面的节点;所述线框节点为第二初始材质球用于创建线框表示形式的节点。
本步骤用于获得进行虚拟对象渲染处理的表面节点和线框节点。
所述初始材质球是指在3D建模过程中使用的一种快速创建简单模型并设置材质的工具。在实际应用中,材质球可以用来快速创建一些简单的模型,例如球体、立方体等。材质球通常包含多个参数,如颜色、纹理、反射、透明度等,可以通过编辑这些参数来调整虚拟对象的外观。
所述初始材质球包括:第一初始材质球和第二初始材质球。其中,第一初始材质球为制作全息影像效果提供创作基础、第二初始材质球为制作线框透视效果提供创作基础。
所述表面节点是指第一初始材质球对应的节点中,用于创建标准表面的节点。该节点通常用于创建虚拟对象中的平面、墙壁、地板等表面。所述线框节点是指第二初始材质球对应的节点中,用于创建虚拟对象的线框表示形式的节点。例如,虚拟对象的骨架或者边界等。
在本实施例中,将上述第一初始材质球用子材质球1表示、将第二初始材质球用子材质球2表示。例如,将上述第一初始材质球中的表面节点用“aistandardsurface3”表示。将上述第二初始材质球中的线框节点用“aiwireframe1”表示。
需要理解的是,节点作为三维制作软件中的基本元素,可用于控制和传递数据,进而编辑和创建复杂的材质效果。节点可以连接到材质球上,用于编辑和控制材质的属性和效果。通过节点将各种属性和参数连接在一起,以实现虚拟对象的渲染和显示。在三维制作软件中,材质球和节点通常是结合使用,二者是相互依赖的关系,材质球提供了基本的材质属性,而节点则提供了编辑和控制这些属性的能力。在虚拟对象的渲染过程中,为了将全息影像效果和线框透视效果在同一虚拟对象中会和呈现,处理过程中还涉及所选取的节点类型以及节点之间属性的连接。
作为一种具体实现方式,可通过如下方式获取初始材质球对应的表面节点和线框节点:
在三维制作软件maya中,通过用户手动创建阿诺德aistandarsurface材质得以实现初始材质球的建立(子材质球1、子材质球2的建立)。与之对应的,根据材质球与节点之间的相互关系,能够获取到子材质球1的“aistandardsurface3”表面节点、以及子材质球2的“aiwireframe1”线框节点。当然,在maya软件中,子材质球1、子材质球2各自对应的节点还包括Diffuse节点、Specular节点、Reflection节点等。这些节点也可以用于控制材质的不同属性,例如漫反射、镜面反射、折射等,上述类型的节点在本实施例中不作为关注重点。需要理解的是,材质球与节点之间的相互关系是指材质球与节点之间的绑定关系。在三维制作软件中,通常情况下材质球可以被绑定在节点上,用以指定该虚拟对象的材质属性。
其中,aistandarsurface材质是阿诺德Arnold中的一种材质,用于模拟各种不同类型的表面外观。aistandarsurface材质具有许多强大的功能,包括对颜色、透明度、反射、漫反射、高光的控制。该材质的使用非常直观,可以通过节点来控制各种表面外观。
具体实施时,通过用户手动打开Maya软件,在菜单栏中依次点击“Window”>“Materials”>“Material Editor”;在Material Editor中,依次点击“New”>“StandardSurface”,实现aistandarsurface材质对应的初始材质球的创建,进而实现服务端对“aistandardsurface3”表面节点、“aiwireframe1”线框节点的获取。
步骤S420,根据语言表达式,将所述表面节点进行组建以生成节点计算连接信息。所述节点计算连接信息用于创建虚拟对象的全息影像效果。
本步骤用于获得第一类型节点对应的节点计算连接信息。
所述语言表达式是指用于三维制作软件的脚本语言所形成的句式,用于控制三维制作软件中的节点和属性。例如,三维制作软件maya使用的mel语言表达式。所述语言表达式为具有节点之间的属性关联关系控制功能的表达式;通过语言表达式,能够将不同节点的属性之间建立属性关联关系。在本实施例中,所述语言表达式还可用于将所述节点计算连接信息和线框模式信息进行融合处理,进而实现节点计算连接信息对应的全息影像效果和线框模式信息对应的线框透视效果进行效果融合调整处理。
其中,maya软件作为三维动画、建模、渲染和特效软件,能够用于创建各种不同类型的三维图形(虚拟对象),包括人物、动物、机器人、建筑物和环境等。mel语言表达式用于控制maya的功能和自定义工作流程,可以用来创建自定义工具、自动化工作流程和执行复杂的任务。mel语言表达式可以在命令行中输入,也可以在maya的节点编辑器中使用。
所述节点计算连接信息用于创建虚拟对象的全息影像效果;节点计算连接信息能够表示表面节点的属性和其他节点(面比率节点、乘积节点)属性之间的关系。在三维制作软件中,借助语言表达式将表面节点的属性和其他节点(面比率节点、乘积节点)属性之间建立属性连接关系,能够实现虚拟对象全息影像效果的创建。所述节点计算连接信息用于在三维制作软件中,当创建/获取到一个新的节点时,它会自动搜索其上一级节点的属性,并将其链接到当前节点的属性中。需要理解的是,该连接信息(模式)可以帮助用户更快地设置节点的属性,并减少手动连接节点的时间。此外,由于该模式下可以避免计算相同的属性,因此底层节点计算连接模式(节点计算连接信息)还可以提高节点的性能。
在本实施例提供的一种可选实现方式中,所述根据语言表达式将所述表面节点组建生成节点计算连接信息,具体可以包括如下步骤S421至步骤S422:
步骤S421,在所述第一初始材质球中,根据语言表达式将所述表面节点与面比率节点、乘积节点之间建立属性关联关系;所述面比率节点为创建所述全息影像效果的起始节点;所述乘积节点为实现所述全息影像效果变换的节点;所述属性关联关系用于表示节点之间属性的连接关系;
步骤S422,将所述属性关联关系进行组建以生成所述节点计算连接信息。
其中,所述面比率节点为所述第一初始材质球用于控制材质折射或反射效果的节点,同时面比率节点也为创建所述全息影像效果的起始节点;在本实施例中,所述面比率节点还可用于控制虚拟对象模型面的大小和比例,,也可理解为虚拟对象生成全息影像效果(菲涅尔效果)的起始源头节点。该节点也可以用于调整虚拟对象模型中不同面的大小和比例,以便在渲染过程中获得更加真实和平滑的表面效果。面比率节点通常与其他节点结合使用。在本实施例中,将上述面比率节点用“aiFacingRatio2”表示。
所述乘积节点为所述第一初始材质球用于实现所述全息影像效果变换的节点,同时所述乘积节点是指用于执行数学乘法运算的节点。该节点可以接受两个或多个输入参数,并将它们相乘,生成一个输出结果。乘积节点可以用于控制和调整虚拟对象模型的属性和参数,该节点还可以用于计算复杂的数学表达式,例如对数、指数、三角函数等。在本实施例中,将上述乘积节点用“aiMultiply2”表示。
在本实施例提供的一种可选实现方式中,所述根据语言表达式将所述表面节点与面比率节点、乘积节点之间建立属性关联关系,包括:将所述乘积节点的颜色输出属性连接到所述表面节点的颜色输出属性,并将所述面比率节点的透明度输出属性连接到所述乘积节点的输入属性,得到所述属性关联关系。属性关联关系如前所述,用于表示节点之间属性的连接关系。
为了便于理解上述过程,在一种具体实现方式中,服务端可通过获取来自客户端mel语言表达式自定义的如下代码,将表面节点“aistandardsurface3”与面比率节点“aiFacingRatio2”、乘积节点“aiMultiply2”之间建立属性关联关系,进而组建生成如下所示的节点计算连接信息:
connectAttr-f aiMultiply2.outcolor aistandardsurface3.emissioncolor;
(代码表达式1.1)
//Result:Connected aiMultiply2.outColor to aistandardsurface3.emissionColor.//
(代码表达式1.2)
defaultNavigation-ce-source aiFacingRatio2-destinationaiMultiply2.input2;
(代码表达式1.3)
connectAttr-force aiFacingRatio2.outTransparency aiMultiply2.input2;
(代码表达式1.4)
//Result:Connected aiFacingRatio2.outTransparency toaiMultiply2.input2.//
(代码表达式1.5)
其中,代码表达式1.1表示命令将“aiMultiply2”节点(乘积节点)的“outcolor”属性(颜色输出属性)连接到“aistandardsurface3”节点(表面节点)的“emissioncolor”属性(颜色输出属性/发射颜色属性)。这将导致“aistandardsurface3”节点的颜色属性值在用作发射颜色之前乘以“aiMultiply2”节点的颜色属性值。
代码表达式1.2表示上述代码表达式1.1命令的预期结果,具体为“aiMultiply2”节点(乘积节点)的“outcolor”属性(颜色输出属性)与“aistandardsurface3”节点(表面节点)的“emissioncolor”属性(颜色输出属性)之间的连接成功建立。“aistandardsurface3”节点的颜色属性值现在将由“aiMultiply2”节点的颜色属性值决定。
代码表达式1.3表示将“aiFacingRatio2”节点(面比率节点)连接到“aiMultiply2”节点(乘积节点)的“input2”属性(输入属性)。
代码表达式1.4表示命令强制连接“aiFacingRatio2”节点(面比率节点)的outTransparency属性(透明度输出属性)与“aiMultiply2”节点(乘积节点)的input2属性(输入属性)。这将导致“aiFacingRatio2”节点的透明度属性值直接传递给“aiMultiply2”节点属性值。
代码表达式1.5表示上述代码表达式1.4命令的预期结果,具体为“aiFacingRatio2”节点(面比率节点)的“outTransparency”属性(透明度输出属性)与“aiMultiply2”节点(乘积节点)的“input2”属性(输入属性)之间的连接成功建立。“aiFacingRatio2”节点的透明度属性值现在将直接传递给“aiMultiply2”节点属性值。
上述代码表达式1.1-1.5整体作为节点计算连接信息的代码化表达,用于表示节点及节点属性之间建立的有关全息影像的底层节点连接。属性关联关系作为三维制作软件中具有相关性的节点之间的显示化表达,用于表示节点之间存在连接。需要理解的是,在maya中input属性作为用于设置节点输入的属性。该属性通常用于将两个节点的输入连接起来,以实现节点之间的数据传递。
通过上述表面节点与面比率节点、乘积节点之间属性关联关系的建立,能够实现第一初始材质球-子材质球1得到全息影像效果,即创建生成虚拟对象的全息影像效果。全息影像效果如前所述,此处不再赘述。
在本实施例中,第一初始材质球得到全息影像效果的过程中,还可根据用户端用户自定义的全息颜色,实现与之对应的全息影像效果。全息颜色是指在全息影像效果中使用的颜色。为了便于理解上述用户自定义的全息颜色,请参考图5的示意。图5为三维制作软件属性编辑器中设置乘积节点全息颜色的界面示意图。如图所示,用户在该界面的“Input1”属性中选择对应的全息颜色(属性值),进而确定出乘积节点“aiMultiply2”在全息影像效果过程中所采用的颜色。同理,面比率节点的透明度属性对应值也可采用上述方式得到,此处不再赘述。由于该过程对全息影像效果对应的属性数据(全息颜色、透明度属性对应值)进行了设置,那么上述全息影像效果为对应该属性数据的影像效果。若上述属性数据不改变,其全息影像效果也无法进行改变。
步骤S430,根据所述语言表达式,将所述线框节点进行组建以生成线框模式信息。所述线框模式信息用于创建所述虚拟对象的线框透视效果。
所述语言表达式如前所述,是具有节点之间的属性关联关系控制功能的表达式;所述线框模式信息能够表示线框节点的属性和其他节点(通用节点)属性之间的关系。在三维制作软件中,借助语言表达式将线框节点的属性和其他节点(通用节点)属性之间建立属性连接关系,能够实现虚拟对象线框透视效果的创建。
所述线框模式信息是用于显示虚拟对象模型的网格形状的信息。例如,maya软件中的wireframe信息。在wireframe模式下,虚拟对象模型的表面不显示,而是显示为线条,可以更清楚地看到虚拟对象模型的形状和结构,以便于更容易的检查和调整虚拟对象的外观和动作。因此,在maya软件中,可以使用各种mel语言表达式来控制wireframe信息。例如,显示或隐藏wireframe模式、设置线条的颜色和样式等。
在本实施例提供的一种可选实现方式中,所述根据所述语言表达式将所述线框节点组建生成线框模式信息,具体可以包括如下步骤S431至步骤S433:
步骤S431,在所述第二初始材质球中,根据语言表达式将所述线框节点的不透明属性和通用节点的透明属性之间建立属性连接关系;所述通用节点为所述第二初始材质球进行材质渲染的节点。
步骤S432,获取所述线框节点的不透明属性对应的调整数据;所述调整数据包括以下数据中的一个或多个:边缘属性调整数据、颜色填充属性调整数据、线条颜色属性调整数据。
步骤S433,将所述调整数据和所述属性连接关系进行组建以生成所述线框模式信息。
其中,所述线框节点为第二初始材质球用于创建线框表示形式的节点;所述线框节点的不透明属性用于指示线框节点的线条是否透明。由于线框节点不包含任何实体或填充,只是一些线条组成的形状,因此在线框透视效果设置过程中,将线框节点的不透明属性与通用节点的透明属性之间建立属性连接关系,能够实现通用节点的不透明度调整。
所述通用节点为所述第二初始材质球进行材质渲染的节点;所述通用节点也指所述第二初始材质球除线框节点之外的的节点。在本实施例中,将上述第二初始材质球-子材质球2的通用节点用“aiStandardSurface1”表示。需要理解的是,在三维软件中,通用节点本身不具有不透明属性(通用节点对应透明属性),通过将线框节点的不透明属性连接到上述通用节点透明属性,进而实现线框本身作为“ploy-四边面”呈现在虚拟对象的模型上。为了便于理解将线框本身作为“ploy-四边面”呈现在虚拟对象模型上的过程,请参考图6和图7的示意。图6为属性连接关系建立之前虚拟对象的效果示意图、图7为属性连接关系建立之后虚拟对象的效果示意图。该示例中均采用虚拟游戏角色头部模型进行示意。即图示举例为第二初始材质球中,根据语言表达式将线框节点的不透明属性和通用节点的透明属性之间建立属性连接关系之前和建立属性连接关系之后的示意图。
如图6所示,在属性连接关系建立之前,原有的通用节点的透明属性导致虚拟游戏角色头部模型只能显示模型的轮廓,模型所呈现的是模型面和线整体一体化的效果。在属性连接关系建立之后,如图7所示,既能观察到虚拟游戏角色头部模型的轮廓,同时线框本身作为“ploy-四边面”呈现在虚拟游戏角色头部模型上。
上述线框本身作为“ploy-四边面”呈现在虚拟对象模型上的过程,需要在wireframe模式下进行。通常情况下,线框节点对应的线框本身不能直接作为“ploy-四边面”使用,因为线框自身没有四边形的形状。但是,在wireframe模式下可以显示网格面来模拟四边形的形状。
为了便于理解上述过程,在一种具体实现方式中,服务端可通过获取来自客户端mel语言表达式自定义的如下代码,将线框节点“aiwireframe1”的不透明属性和通用节点“aiStandardSurface1”的透明属性之间建立属性连接关系:
connectAttr-f aiwireframel.outTranaparency pasted_aiStandardSurface1.opacity;
(代码表达式2.1)
//Result:Connected aiwireframe1.outTransparency to pasted_aiStandardSurface1.opacity.//
(代码表达式2.2)
其中,代码表达式2.1表示使用connectAttr命令将“aiwireframe1”节点(线框节点)的“outTranaparency”(不透明属性-输出属性)和“aiStandardSurface1”节点(通用节点)的“opacity”(透明属性-输入属性)建立连接。
代码表达式2.2表示上述代码表达式2.1命令的预期结果,具体为“aiwireframe1”节点(线框节点)的“outTranaparency”属性和“aiStandardSurfacel”节点(通用节点)的“opacity”属性之间的连接成功建立。
需要理解的是,在maya软件中,通过上述过程将两个节点的输入属性和输出属性连接在一起,从而实现属性值数据的传递和处理。在此过程中,连接的目的是将“aiwireframe1”节点的不透明度数值(属性值)传递到“aiStandardSurface1”节点的输入属性(透明度属性)中,从而控制虚拟对象模型线框样式呈现效果的过程。
其中,所述线框节点的不透明属性对应的调整数据,至少包括以下数据中的一个或多个:边缘属性调整数据、颜色填充属性调整数据、线条颜色属性调整数据。边缘属性调整数据用于模型边缘线框效果的调整;颜色填充属性调整数据用于模型线框颜色填充效果的调整;线条颜色属性调整数据用于模型线条颜色效果的调整。
例如,maya软件中,“edgeType”属性对应的属性值-边缘属性对应的数据;“fillColor”属性对应的属性值-颜色填充属性对应的数据;“lineColor”属性对应的属性值-线条颜色属性对应的数据。其中,“edgeType”属性用于表示线框边缘类型。通过设置edgeType属性对应的数据,可以控制模型的布线是以“ploy-四边面”呈现、还是以“ploy-三角面”呈现;本实施例中是以“ploy-四边面”方式呈现。“fillColor”属性用于填充图形或元素的颜色。“lineColor”属性用于表示线条颜色。maya软件中获取线框透视效果的原则是-黑透白不透。
为了便于理解上述调整数据,在一种具体实现方式中,服务端可通过获取来自客户端mel语言表达式自定义的如下代码,获取线框节点“aiwireframe1”的不透明属性“outTranaparency”对应的调整数据:
setAttr“aiWireframe2.edgeType”1; (代码表达式3.1)
setAttr“aiWireframe2.fillColor”-type double3 1 1 1; (代码表达式3.2)
setAttr“aiWireframe2.lineColor”-type double3 0 0 0;(代码表达式3.3)
其中,代码表达式3.1表示命令将“aiWireframe2”节点的“edgeType”属性对应的数据设置为1。“edgeType”属性控制线框显示的边的类型。数据值“1”对应于“斜面”边缘,表示线框角落处是圆角。
代码表达式3.2表示命令将“aiWireframe2”节点的“fillColor”属性设置为类型3的双精度类型,其对应的数据值为1,1,1。“fillColor”属性控制线框对应的填充颜色,类型3表示允许使用三个单独的值(r,g,b)指定线框对应的填充颜色。数据值“1,1,1”表示对应于(1,1,1)的颜色,即白色。
代码表达式3.3表示命令将“aiWireframe2”节点的“lineColor”属性设置为类型3的双精度类型,其对应的数据值为0,0,0。“lineColor”属性控制线框线的颜色,并且类型3表示允许使用三个单独的值(r,g,b)指定线框线条的颜色。数据值“0,0,0”表示对应于(0,0,0)的颜色,即黑色。
需要理解的是,上述线框节点的不透明属性对应的调整数据,可以为用户自定义的数据,也可以为三维制作软件默认设置的数据。在maya软件中,通过获得线框节点“aiwireframe1”的不透明属性“outTranaparency”中:“edgeType”属性对应的属性值-边缘属性对应的数据,或者,“fillColor”属性对应的属性值-颜色填充属性对应的数据,或者,“lineColor”属性对应的属性值-线条颜色属性对应的数据,或者以上几种属性的任意组合,进而实现线框的样式设置。例如,solid”(实线)、“dotted”(点线)、“dashed”(虚线)、“red”(红色)、“green”(绿色)、“blue”(蓝色)等。进一步地,依据上述调整数据,以及将“aiwireframe1”节点的不透明度值(属性值)传递到"aiStandardSurface1"节点的输入属性(透明度属性)中的属性连接关系,使得第二子材质球-子材质球2得到线框透视效果。
通过上述线框节点的不透明属性和通用节点的透明属性之间属性连接关系的建立、以及线框节点的不透明属性对应调整数据的获取,进而组建生成线框模式信息。前述代码表达式2.1-2.2、3.1-3.3整体作为线框透视信息的代码化表达,表明了节点及节点属性之间建立的有关线框透视的底层节点连接。使用上述线框模式信息,能够实现第二初始材质球-子材质球2得到线框透视效果。线框透视效果如前所述,此处不再赘述。由于该过程对线框透视效果对应的调整数据(边缘属性调整数据、颜色填充属性调整数据、线条颜色属性调整数据)进行了设置,那么上述线框透视效果为对应该调整数据的透视效果。若上述参数不改变,其线框透视效果也无法进行改变。
步骤S440,在混合材质球中,根据所述语言表达式将所述节点计算连接信息和所述线框模式信息进行融合处理,渲染并会和呈现所述虚拟对象的全息影像效果和线框透视效果。
所述混合材质球同样作为3D建模过程中快速创建简单模型并设置材质的工具,该材质球与初始材质球区别在于,混合材质球可实现一种或多种效果的会和呈现。例如,全息影像效果和线框透视效果的会和呈现。
在本实施例中,上述混合材质球是指maya软件中的aimixshader材质球。该aimixshader材质球同样为用户在maya软件创建得到。aimixshader材质球可以用于模拟各种类型的物体表面。例如,模拟金属表面的反射和折射效果、模拟塑料表面的磨损和划痕效果等。
其中,所述在混合材质球中,根据所述语言表达式将所述节点计算连接信息和所述线框模式信息进行融合处理,包括:根据所述语言表达式,将所述第一初始材质球对应的节点计算连接信息和所述第二初始材质球对应的线框模式信息按比例进行融合处理。
需要理解的是,上述第一初始材质球、第二初始材质球与混合材质球在三维制作软件中相关联。混合材质球所呈现的效果来源为第一初始材质球的全息影像效果和第二初始材质球的线框透视效果。通过前述步骤,第一初始材质球的全息影像效果已确定,第二初始材质球的线框透视效果已确定,本步骤是将上述两种效果在混合材质球中进行按比例进行会和呈现的过程。
作为一种具体实现方式,可通过如下方式将所述第一初始材质球对应的节点计算连接信息和所述第二初始材质球对应的线框模式信息按比例进行融合处理,,包括如下步骤S441-S444:
步骤S441,根据所述语言表达式,将所述表面节点的颜色输出属性连接到所述混合材质球的属性混合节点的第一输入属性;所述属性混合节点用于将来自不同节点的属性对应属性值进行混合处理;
步骤S442,根据所述语言表达式,将通用节点的透明属性连接到所述混合材质球的属性混合节点的第二输入属性;
步骤S443,获取所述混合材质球的属性混合节点对应的第一输入属性和第二输入属性的比例参数值;
步骤S444,在所述混合材质球中,根据所述比例参数值将所述节点计算连接信息对应的全息影像效果和线框模式信息对应的线框透视效果进行效果融合调整处理。
所述混合材质球的属性混合节点用于将来自不同节点的属性混合在一起,以创建独特的视觉效果。即,属性混合节点作为第一初始材质球的表面节点的颜色输出属性、第二初始材质球的通用节点的透明属性的连接节点,通过控制比例参数值(全息影像效果和线框透视效果的权重大小),进而实现混合材质球中最终效果的会和呈现。
为了便于理解上述步骤S441-步骤S442,采用如下代码示意,服务端可通过自定义的如下代码mel语言表达式,实现上述属性之间的连接:
connectAttr-f aistandardsurface1.outcolor aiMixShader2.shader1;
(代码表达式4.1)
//Result:Connected aistandardsurface1.outColor toaiMixShader2.shader1.//
(代码表达式4.2)
connectAttr-f aistandardsurface3.outcolor aiMixShader2.shader2;
(代码表达式4.3)
//Result:Connected aistandardsurface3.outColor toaiMixShader2.shader2.//
(代码表达式4.4)
其中,代码表达式4.1表示命令将“aistandardsurface1”节点(通用节点)的“outcolor”属性(透明属性-颜色输出属性)连接到“aiMixShader2”节点(属性混合节点)的“shader1”属性(第二输入属性)。
代码表达式4.2表示上述代码表达式4.1命令的预期结果,具体为“aistandardsurface1”节点的“outcolor”属性与“aiMixShader2”节点的“shader1”输入之间的连接已经成功建立。“aistandardsurface1”节点的颜色值现在将传递给“aiMixShader2”节点。
代码表达式4.3表示命令将“aistandardsurface3”节点(表面节点)的“outcolor”属性(颜色输出属性)连接到“aiMixShader2”节点(属性混合节点)的“shader2”属性(第一输入属性)。
代码表达式4.4表示上述代码表达式4.3命令的预期结果,具体为“aistandardsurface3”节点的“outcolor”属性与“aiMixShader2”节点的“shader2”输入之间的连接已经成功建立。
需要理解的是,“aistandardsurface1”节点(通用节点)的透明属性既可以用“outColor”表示,又可以用前述步骤代表表达式2.1中的“opacity”表示,是因为在maya软件中“opacity”属性是“outcolor”属性的子层级。同理,“aistandardsurface3”节点(表面节点)的颜色输出属性既可以用“outcolor”表示,又可以用前述步骤代表表达式1.1中的“emissionColor”表示。
通过上述过程,实现了在混合材质球属性混合节点上,将第一初始材质球全息影像效果对应的表面节点颜色输出属性和第二初始材质球线框透视效果对应的通用节点的透明属性的集中汇合。
当然,在将上述两种效果对应的属性连接值混合材质球的属性混合节点后,还需要获取混合材质球的属性混合节点对应的第一输入属性和第二输入属性的比例参数值。在此,对比例参数值的获取过程进行说明。请参考图8的示意,图8为获取比例参数值的界面示意图。如图8所示,用户在该界面的Mix Weight(融合权重属性)一栏中选择对应的比例数值以作为上述比例参数值。用户通过控制第一输入属性(对应全息影像效果)和第二输入属性(对应线框透视效果)的权重大小,进而实现两种效果在混合材质球中的会和呈现,以获得虚拟对象理想的渲染效果。为了便于理解不同比例参数值对虚拟对象会和呈现效果的影响,请参考图9的示意。图9为不同比例参数值对应的虚拟对象示意图。该示例中仍采用虚拟游戏角色头部模型进行示意。如图9所示,该图中示出了比例参数值为0.3、0.6、0.95情况下对应的虚拟对象。在比例参数值从0.3至0.95数值的变化过程中,会和呈现效果中线框透视效果逐渐减弱而全息影像效果逐渐增强。
为了便于理解本实施例虚拟对象的渲染方法制备获得的虚拟对象,请参考图10的示意。图10为全息影像效果和线框透视效果对应的虚拟对象的示意图。如图所示,在该虚拟对象赛车模型中,全息影像效果和线框透视效果在赛车模型上进行会和呈现。该虚拟对象赛车模型既能呈现立体效果,满足观察者的不同位置角度观察,还能看到赛车模型的形状、表面、以及内部结构,使观察者获得良好的视觉体验。
在本实施例中,所述虚拟对象的渲染方法还包括:获取所述虚拟对象对应的发光效果调整参数;所述发光效果调整参数包括以下数据中的一个或多个:光晕强度属性调整参数、光晕半径属性调整参数、光晕阈值属性调整参数;根据所述语言表达式和所述发光效果调整参数,将所述虚拟对象进行渲染处理。
所述发光效果调整参数用于对虚拟对象的成像效果进行调整。也可理解为,在全息影像效果和线框透视效果在混合材质球中会和呈现后,将全息影像效果从不同于前文所述的全息影像效果对应的属性数据(全息颜色、透明度属性对应值)的方面进行调整。
所述光晕强度属性调整参数是指用于控制光晕强度的参数值,也可理解为光晕强度属性值;所述光晕半径属性调整参数是指用于控制光晕半径的参数值;所述光晕阈值属性调整参数是指用于控制光晕效果的参数值。
在此,对光晕强度属性、光晕半径属性、光晕阈值属性进行举例说明。例如,maya软件中的“bloomStrength”属性(光晕强度属性)、“bloomRadius”属性(光晕半径属性)、“bloomThreshold”属性(光晕阈值属性)。
其中,“bloomStrength”属性-光晕强度属性,是用于控制光晕强度的属性。通常用于图形处理中的光晕效果,可以为图像添加柔和、朦胧的光芒。BloomStrength值的范围通常是0到1,其中0表示没有光晕效果;1表示最大光晕效果。通过调整BloomStrength属性,可以控制光晕的强度。
“bloomRadius”属性-光晕半径属性,用于控制光晕半径的属性。同样用于图形处理中的光晕效果。BloomRadius值的范围通常是0到1,其中0表示光晕半径为0,即没有光晕效果;1表示最大光晕半径。通过调整BloomRadius属性,可以控制光晕的半径。
“bloomThreshold”属性-光晕阈值属性,是用于控制光晕阈值的属性。也用于图形处理中的光晕效果。BloomThreshold值的范围通常是0到1,其中0表示所有像素都会产生光晕效果;1表示只有高于阈值的像素才会产生光晕效果。通过调整BloomThreshold属性,可以控制光晕的阈值,以达到更好的视觉效果。
为了便于理解上述“bloomStrength”属性调整参数(光晕强度属性调整参数)、“bloomRadius”属性调整参数(光晕半径属性调整参数)、“bloomThreshold”属性调整参数(光晕阈值属性调整参数)对虚拟对象的影响,请参考图11的示意,图11为不同发光效果参数对应的虚拟对象的示意图。如图11所示,图11(a)的发光效果参数为:“bloomStrength”=1、“bloomRadius”=2、“bloomThreshold”=0.5;图11(b)的发光效果参数为:“bloomStrength”=1.5、“bloomRadius”=1、“bloomThreshold”=0.08;图11(c)的发光效果参数为:
“bloomStrength”=3、“bloomRadius”=5、“bloomThreshold”=0.2。通过上述图像可知,不同的发光效果参数下获得的虚拟对象存在效果差异。
作为一种具体实现方式,可通过自定义的如下mel语言表达式,设置上述属性的调整参数:
setAttr“aiImagerLensEffectsl.bloomStrength”0.3; (代码表达式5.1)
setAttr“aiImagerLensEffectsl.bloomRadius”1.5; (代码表达式5.2)
setAttr“aiImagerLensEffectsl.bloomThreshold”0.12; (代码表达式5.3)
其中,代码表达式5.1表示命令将“aiImagerLensEffects1”节点的“bloomStrength”属性对应的调整参数设置为0.3。
代码表达式5.2表示命令将“aiImagerLensEffects1”节点的“bloomRadius”属性对应的调整参数设置为1.5。
代码表达式5.3表示命令将“aiImagerLensEffects1”节点的“bloomThreshold”属性对应的调整参数设置为0.12。
该mel语言表达式和调整参数能够用于将前述步骤获得的虚拟对象进行渲染处理。通过上述过程,在生成的虚拟对象中,将全息影像效果和线框透视效果设置了自由调节空间,实现了不同视觉艺术效果的呈现。
通过本实施例的虚拟对象的渲染方法,所制备的虚拟对象,既能将全息影像效果或线框透视效果进行单独呈现,也能将二者进行会和呈现。该处理过程制作流程简单高效、制作周期耗时少、资源消耗小,其全息影像效果和线框透视效果具有自由调节空间,对全息类视觉效果的呈现具有重要意义。
本申请第二实施例提供了一种虚拟对象的渲染装置。
图12是本实施例提供的虚拟对象的渲染装置的结构示意图。如图12所示,本实施例提供的虚拟对象的渲染装置1200,包括:节点获取单元1201、表面节点处理单元1202、线框节点处理单元1203、虚拟对象生成单元1204;
所述节点获取单元1201,用于获取初始材质球对应的表面节点和线框节点,所述表面节点为第一初始材质球用于创建标准表面的节点;所述线框节点为第二初始材质球用于创建线框表示形式的节点。
所述表面节点处理单元1202,用于根据语言表达式,将所述表面节点进行组建以生成节点计算连接信息。所述节点计算连接信息用于创建虚拟对象的全息影像效果。
所述线框节点处理单元1203,用于根据所述语言表达式,将所述线框节点进行组建以生成线框模式信息。所述线框模式信息用于创建所述虚拟对象的线框透视效果。
所述虚拟对象生成单元1204,用于在混合材质球中,根据所述语言表达式将所述节点计算连接信息和所述线框模式信息进行融合处理,渲染并会和呈现所述虚拟对象的全息影像效果和线框透视效果。
本申请第三实施例提供了一种电子设备,在上述的实施例中,提供了方法实施例以及方法对应的装置实施例,此外,本申请实施例还提供与上述方法实施例和装置实施例相对应的电子设备实施例,由于电子设备实施例基本相似于方法实施例,所以描述得比较简单,相关的技术特征的细节部分以及实现的效果请参见上述提供的方法实施例的对应说明即可,下述对电子设备实施例的描述仅仅是示意性的。该电子设备实施例如下:
在本实施例中,该电子设备1300的一种可选硬件结构可如图13所示,包括:至少一个处理器1301,至少一个存储器1302和至少一个通信总线1305;存储器1302中包含有程序1303与数据1304。
总线1305可以是在电子设备1300内部的组件之间传输数据的通信设备,诸如内部总线(例如,CPU-存储器总线,处理器即为central processing unit,简称CPU)、外部总线(例如,通用串行总线端口、外围组件互连快速端口)等。
另外,电子设备中还包括:至少一个网络接口1306,至少一个外设接口1307。网络接口1306以提供与外部网络1308(例如,因特网、内联网、局域网、移动通信网络等)相关的有线或无线通信;在一些实施例中,网络接口1306可以包括任意数量的网络接口控制器(英文:network interface controller,简称NIC)、射频(英文:Radio Frequency,简称RF)模块、转发器、收发器、调制解调器、路由器、网关、有线网络适配器的任意组合、无线网络适配器、蓝牙适配器、红外适配器、近场通信(英文:Near Field Communication,简称NFC)适配器、蜂窝网络芯片等。
外设接口1307用于与外设连接,外设可以如图中的外设1(图13中的1309)、外设2(图13中的1310)以及外设3(图13中的1311)。外设即外围设备,外围设备可以包括但不限于光标控制设备(例如鼠标、触摸板或触摸屏)、键盘、显示器(例如阴极射线管显示器、液晶显示器)。显示器或发光二极管显示器、视频输入设备(例如,摄像机或通信耦合到视频档案的输入接口)等。
处理器1301可能是CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器1302可能包含高速RAM(全称:Random Access Memory,即随机存取存储器)存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,处理器1301调用存储器1302所存储的程序与数据,以执行本申请的前述方法实施例。
本申请第四实施例提供了一种计算机可读存储介质,计算机可读存储介质包括计算机指令,计算机指令在被处理器执行时用于实现本申请各实施例所述的方法。
需要注意的是,本文中的“第一”、“第二”等关系术语仅用于区分一个实体或操作与另一个实体或操作,并不要求或暗示这些实体或操作之间存在任何实际的关系或顺序。此外,“包括”、“有”,“包含”和“包括”和其他类似形式的词语在含义上是相同的,并且,在上述任何一个词语之后的任何一个或者多个项目的结尾是开放式的,上述任何一个名词均不表示所述一个或多个项目已经列举穷尽,或者仅限于这些已列举的一个或者多个项目。
在本文中使用时,除非另有明确说明,术语“或”包括所有可能的组合,但不可行的除外。例如,如果表达为一个数据库可能包括A或B,则除非另有特别规定或不可行,可能包括数据库A,或B,或者A和B。第二个例子,如果表达为某个数据库可能包括A、B或C,则除非另有特别规定或不可行,所述数据库可以包括数据库A、或B、或C、或者A和B、或者A和C、或者B和C、或者A和B和C。
值得注意的是,上述实施例可以通过硬件或软件(程序代码),或硬件和软件的组合来实现。如果由软件实现,则可将其存储在上述计算机可读介质中。该软件在由处理器执行时,可以执行上述已披露的方法。本公开中描述的计算单元和其他功能单元可以由硬件或软件,或硬件和软件的组合来实现。本领域普通技术人员,也会理解上述多个模块/单元可以组合成一个模块/单元,而上述每个模块/单元可以进一步划分为多个子模块/子单位。
在上述详细说明中,实施例已参照许多具体细节进行了描述,这些细节可能因实施而异。可以对所述实施例进行某些适配和修改。对于本领域的技术人员,可以从本申请公开的具体实施方式中,显而易见的获得其它一些实施方式。本说明书和示例仅出于示例性的目的,本申请的真实范围和本质由权利要求说明。示图所示的步骤顺序也仅出于解释说明的目的,并不意味着限定于任何特定的步骤、顺序。因此,那些精通本领域的技术人员会意识到,在实施相同的方法时,这些步骤可以以不同的顺序执行。
在本申请的示图和详细说明中,公开了示例性的实施例。但是,可以对这些实施例进行许多变化和修改。相应的,尽管使用了具体的术语,但这些术语只是一般和描述性的,而不是出于限定的目的。
Claims (10)
1.一种虚拟对象的渲染方法,其特征在于,所述方法包括:
获取初始材质球对应的表面节点和线框节点,所述表面节点为第一初始材质球用于创建标准表面的节点;所述线框节点为第二初始材质球用于创建线框表示形式的节点;
根据语言表达式,将所述表面节点进行组建以生成节点计算连接信息;所述节点计算连接信息用于创建虚拟对象的全息影像效果;
根据所述语言表达式,将所述线框节点进行组建以生成线框模式信息;所述线框模式信息用于创建所述虚拟对象的线框透视效果;
在混合材质球中,根据所述语言表达式将所述节点计算连接信息和所述线框模式信息进行融合处理,渲染并会和呈现所述虚拟对象的全息影像效果和线框透视效果。
2.根据权利要求1所述的虚拟对象的渲染方法,其特征在于,所述根据语言表达式,将所述表面节点进行组建以生成节点计算连接信息,包括:
在所述第一初始材质球中,根据语言表达式将所述表面节点与面比率节点、乘积节点之间建立属性关联关系;所述面比率节点为创建所述全息影像效果的起始节点;所述乘积节点为实现所述全息影像效果变换的节点;所述属性关联关系用于表示节点之间属性的连接关系;
将所述属性关联关系进行组建以生成所述节点计算连接信息。
3.根据权利要求2所述的虚拟对象的渲染方法,其特征在于,所述根据语言表达式将所述表面节点与面比率节点、乘积节点之间建立属性关联关系,包括:
将所述乘积节点的颜色输出属性连接到所述表面节点的颜色输出属性,并将所述面比率节点的透明度输出属性连接到所述乘积节点的输入属性,得到所述属性关联关系。
4.根据权利要求1所述的虚拟对象的渲染方法,其特征在于,所述根据所述语言表达式,将所述线框节点进行组建以生成线框模式信息,包括:
在所述第二初始材质球中,根据语言表达式将所述线框节点的不透明属性和通用节点的透明属性之间建立属性连接关系;所述通用节点为所述第二初始材质球进行材质渲染的节点;
获取所述线框节点的不透明属性对应的调整数据;所述调整数据包括以下数据中的一个或多个:边缘属性调整数据、颜色填充属性调整数据、线条颜色属性调整数据;
将所述调整数据和所述属性连接关系进行组建以生成所述线框模式信息。
5.根据权利要求1所述的虚拟对象的渲染方法,其特征在于,所述根据所述语言表达式将所述节点计算连接信息和所述线框模式信息进行融合处理,包括:
根据所述语言表达式,将所述第一初始材质球对应的节点计算连接信息和所述第二初始材质球对应的线框模式信息按比例进行融合处理。
6.根据权利要求5所述的虚拟对象的渲染方法,其特征在于,所述根据所述语言表达式,将所述第一初始材质球对应的节点计算连接信息和所述第二初始材质球对应的线框模式信息按比例进行融合处理,包括:
根据所述语言表达式,将所述表面节点的颜色输出属性连接到所述混合材质球的属性混合节点的第一输入属性;所述属性混合节点用于将来自不同节点的属性对应属性值进行混合处理;
根据所述语言表达式,将通用节点的透明属性连接到所述混合材质球的属性混合节点的第二输入属性;
获取所述混合材质球的属性混合节点对应的第一输入属性和第二输入属性的比例参数值;
根据所述比例参数值,将所述节点计算连接信息对应的全息影像效果和所述线框模式信息对应的线框透视效果进行效果融合调整处理。
7.根据权利要求1所述的虚拟对象的渲染方法,其特征在于,所述方法还包括:
获取所述虚拟对象对应的发光效果调整参数;所述发光效果调整参数包括以下数据中的一个或多个:光晕强度属性调整参数、光晕半径属性调整参数、光晕阈值属性调整参数;
根据所述语言表达式和所述发光效果调整参数,将所述虚拟对象进行渲染处理。
8.一种虚拟对象的渲染装置,其特征在于,所述装置包括:节点获取单元、表面节点处理单元、线框节点处理单元、虚拟对象生成单元;
所述节点获取单元,用于获取初始材质球对应的表面节点和线框节点,所述表面节点为第一初始材质球用于创建标准表面的节点;所述线框节点为第二初始材质球用于创建线框表示形式的节点;
所述表面节点处理单元,用于根据语言表达式将所述表面节点进行组建以生成节点计算连接信息;所述节点计算连接信息用于创建虚拟对象的全息影像效果;
所述线框节点处理单元,用于根据所述语言表达式将所述线框节点进行组建以生成线框模式信息;所述线框模式信息用于创建所述虚拟对象的线框透视效果;
所述虚拟对象生成单元,用于在混合材质球中,根据所述语言表达式将所述节点计算连接信息和所述线框模式信息进行融合处理,渲染并会和呈现所述虚拟对象的全息影像效果和线框透视效果。
9.一种电子设备,其特征在于,包括:存储器、处理器;
所述存储器,用于存储一条或多条计算机指令;
所述处理器,用于执行所述一条或多条计算机指令,以实现如权利要求1-7任意一项所述的方法。
10.一种计算机可读存储介质,其上存储有一条或多条计算机指令,其特征在于,该指令被处理器执行时,执行如权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311238745.7A CN117392306A (zh) | 2023-09-22 | 2023-09-22 | 一种虚拟对象的渲染方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311238745.7A CN117392306A (zh) | 2023-09-22 | 2023-09-22 | 一种虚拟对象的渲染方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117392306A true CN117392306A (zh) | 2024-01-12 |
Family
ID=89440033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311238745.7A Pending CN117392306A (zh) | 2023-09-22 | 2023-09-22 | 一种虚拟对象的渲染方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117392306A (zh) |
-
2023
- 2023-09-22 CN CN202311238745.7A patent/CN117392306A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10325407B2 (en) | Attribute detection tools for mixed reality | |
Mullen | Mastering blender | |
US11263358B2 (en) | Rapid design and visualization of three-dimensional designs with multi-user input | |
CN109448089A (zh) | 一种渲染方法及装置 | |
US20100231590A1 (en) | Creating and modifying 3d object textures | |
CN111124119B (zh) | 基于虚拟现实技术的建筑模型呈现与交互方法 | |
JP2009252240A (ja) | リフレクション組み込みシステム、方法及びプログラム | |
US11238657B2 (en) | Augmented video prototyping | |
WO2023159595A1 (zh) | 构建和配置三维空间场景的模型的方法、装置及计算机程序产品 | |
Capece et al. | Design and implementation of a web-based collaborative authoring tool for the virtual reality | |
Zhang et al. | The Application of Folk Art with Virtual Reality Technology in Visual Communication. | |
US20160367893A1 (en) | Digital content creation | |
CN117392306A (zh) | 一种虚拟对象的渲染方法、装置、电子设备及存储介质 | |
Jin et al. | Volumivive: An authoring system for adding interactivity to volumetric video | |
US20200159396A1 (en) | Techniques for creative review of 3d content in a production environment | |
US11978152B2 (en) | Computer-assisted graphical development tools | |
Shiratuddin et al. | Virtual architecture: Modeling and creation of real-time 3D interactive worlds | |
CN117437342B (zh) | 一种三维场景渲染方法和存储介质 | |
Li et al. | Interactive system research based on animation visual effects | |
Yu-Che et al. | A study on the application of visualization technology in virtual product design | |
Yan et al. | “Dawn of South Lake”——Design and Implementation of Immersive Interactive System Based on Virtual Reality Technology | |
Leach et al. | Applications of Digital Workflows and Immersive Technology in Structural Engineering—Case Studies | |
KR20230160534A (ko) | 메타버스 환경 기반 전시 플랫폼 서비스 제공 방법, 장치 및 시스템 | |
Tuachob et al. | Cauldron: A real-time pictorial compositional tool in VR for visual artist | |
Khan et al. | A 3D Classical Object Viewer for Device Compatible Display |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |