一种信息编辑方法及装置
技术领域
本发明涉及信息处理技术领域,特别是涉及一种信息编辑方法及装置。
背景技术
基于节点化的RC(RealtimeComposition,渲染管线实时合成)极大便利了图形引擎的开发与迭代,RC为技术美术人员参与设计、定制渲染引擎提供了一种途径。
基于此,在涉及场景的客户端如游戏客户端等应用的开发过程中,虽然技术美术人员能够参与引擎的设计,但是由于技术美术人员稀缺,聘请技术美术人员成本高,因此,为了保证所设计出场景的渲染效果与实际需要的渲染效果相同,在开发过程中,提出了使用RC编辑器和场景编辑器两者相配合完成场景设计,其中,RC编辑器用于生成渲染流程图,场景编辑器用于展示场景的渲染效果。
在使用上述编辑器后,一般一个项目组的技术美术人员仅有数人,这些技术美术人员主要负责游戏项目的整体方案与工作流的数量,参与游戏实际内容制作的真正主力是大量的场景美术人员,这些场景美术人员不用关心游戏引擎的具体实现,也无需具备引擎的设计能力,仅需要负责整个游戏场景氛围的铺垫内容的填充,也就是说,场景美术人员需要对应用中所涉及的场景进行设计。
然而,RC编辑器和场景编辑器相配合完成场景设计时,RC编辑器生成场景的渲染流程图后,将用于描述上述渲染流程图的信息发送至场景编辑器;场景编辑器解析RC编辑器发送的信息,并按照解析结果渲染上述渲染流程图对应的场景,若场景美术人员发现上述场景的渲染效果与实际需要不相符时,需要返回RC编辑器中修改渲染流程图,并将用于描述修改后渲染流程图的信息发送至场景编辑器,场景编辑器再次根据接收到的信息进行场景渲染,如此反复直至得到实际需要的场景渲染效果。
虽然应用上述方式RC编辑器和场景编辑器可以相配合完成场景设计,但是由于RC编辑器发送至场景编辑器的、用于描述渲染流程图的信息,场景编辑器不能编辑,因此,若需修改渲染流程图,只能返回到RC编辑器对渲染流程图进行修改,可见,现有的RC编辑器和场景编辑器相配合完成场景设计的效率低下。
发明内容
本发明实施例的目的在于提供一种信息编辑方法,能够提高RC编辑器和场景编辑器相配合完成场景设计的效率。具体技术方案如下:
第一方面,一种信息编辑方法,应用于场景编辑器,所述方法包括:
获得RC编辑器生成的、针对目标场景的渲染流程图的描述信息,其中,所述渲染流程图为利用渲染管线RC的各个功能模块对应的节点构成的、用于描述所述目标场景渲染流程的信息,所述描述信息包括:每一节点所对应功能模块在所述目标场景中的功能描述、每一节点在所述目标场景中的节点属性和各个节点构成的用于描述所述目标场景渲染流程的有向图的表示信息;
采用所述功能描述,并按照所述表示信息表征的有向图,对所述目标场景进行渲染,获得第一渲染结果;
根据所述第一渲染结果确定所述目标场景需要编辑时,确定所述节点属性中可编辑的属性,作为第一类属性;
编辑所述第一类属性;
在所述第一渲染结果的基础上,根据编辑后的属性,重新对所述目标场景进行渲染,得到第二渲染结果,实现对所述目标场景的编辑。
进一步地,在所述重新对所述目标场景进行渲染,得到第二渲染结果,实现对所述目标场景的编辑之后,还包括:
存储所述第二渲染结果和第一渲染结果之间的差异所表征的所述目标场景的编辑数据。
进一步地,在所述根据所述第一渲染结果确定所述目标场景需要编辑时,确定所述节点属性中可编辑的属性之后,还包括:
在预设的RC面板上生成用于展示所述第一类属性的属性编辑器;
在所述属性编辑器中展示所述第一类属性;
所述编辑所述第一类属性,包括:
根据用户在所述属性编辑器中的编辑操作,编辑所述第一类属性。
进一步地,在所述获得RC编辑器生成的、针对目标场景的渲染流程图的描述信息之后,还包括:
新建初始场景,作为第一场景;
关联所述第一场景与所述描述信息,并采用所述功能描述,并按照所述表示信息表征的有向图,对所述第一场景进行渲染,获得第三渲染结果;
根据用户在所述属性编辑器中的编辑操作,重新对所述第一场景进行渲染,获得第四渲染结果;
存储所述第三渲染结果和四渲染结果之间的差异所表征的所述第一场景的编辑数据。
进一步地,所述描述信息包括:所述功能描述、属性编辑结果、第二类属性和表示信息,其中,所述属性编辑结果为:按照预设协议对所述第一类属性进行编辑得到的信息,所述第二类属性为:所述节点属性中除所述第一类属性以外的属性;
所述在所述属性编辑器中展示所述第一类属性,包括:
按照所述预设协议所定义的信息展示形式,在所述属性编辑器中展示所述第一类属性。
第二方面,一种信息编辑方法,应用于RC编辑器,所述方法包括:
确定RC的各个功能模块对应的节点;
获得每一节点所对应功能模块在目标场景中的功能描述;
获得各个节点在所述目标场景中的节点属性;
编辑得到由各个节点构成的、用于描述目标场景渲染流程的有向图的表示信息;
生成用于描述目标场景的渲染流程图的描述信息,其中,所述描述信息包括:所述功能描述、节点属性和所述表示信息。
进一步地,在所述生成用于描述目标场景的渲染流程图的描述信息之后,还包括:
将所述渲染流程图的描述信息发送到所述场景编辑器中。
进一步地,在所述获得各个节点在所述目标场景中的节点属性之后,还包括:
确定所述节点属性中可编辑的属性,作为第一类属性;
按照预设协议编辑所述第一类属性,获得属性编辑结果;
所述描述信息包括:所述功能描述、属性编辑结果、第二类属性和表示信息,其中,所述第二类属性为:所述节点属性中除所述第一类属性以外的属性。
一种信息编辑装置,应用于场景编辑器,所述装置包括:
描述信息获得模块,用于获得RC编辑器生成的、针对目标场景的渲染流程图的描述信息,其中,所述渲染流程图为利用渲染管线RC的各个功能模块对应的节点构成的、用于描述所述目标场景渲染流程的信息,所述描述信息包括:每一节点所对应功能模块在所述目标场景中的功能描述、每一节点在所述目标场景中的节点属性和各个节点构成的用于描述所述目标场景渲染流程的有向图的表示信息;
第一渲染结果获得模块,用于采用所述功能描述,并按照所述表示信息表征的有向图,对所述目标场景进行渲染,获得第一渲染结果;
第一类属性确定模块,用于根据所述第一渲染结果确定所述目标场景需要编辑时,确定所述节点属性中可编辑的属性,作为第一类属性;
编辑模块,用于编辑所述第一类属性;
第二渲染结果得到模块,用于在所述第一渲染结果的基础上,根据编辑后的属性,重新对所述目标场景进行渲染,得到第二渲染结果,实现对所述目标场景的编辑。
进一步地,所述装置还包括:
第一存储模块,用于存储所述第二渲染结果和第一渲染结果之间的差异所表征的所述目标场景的编辑数据。
进一步地,所述装置还包括:
属性编辑器生成模块,用于在预设的RC面板上生成用于展示所述第一类属性的属性编辑器;
第一类属性展示模块,用于在所述属性编辑器中展示所述第一类属性;
所述编辑模块包括:
第一类属性编辑子模块,用于根据用户在所述属性编辑器中的编辑操作,编辑所述第一类属性。
进一步地,所述装置还包括:
第一场景新建模块,用于新建初始场景,作为第一场景;
第三渲染结果获得模块,用于关联所述第一场景与所述描述信息,并采用所述功能描述,并按照所述表示信息表征的有向图,对所述第一场景进行渲染,获得第三渲染结果;
第四渲染结果获得模块,用于根据用户在所述属性编辑器中的编辑操作,重新对所述第一场景进行渲染,获得第四渲染结果;
第二存储模块,用于存储所述第三渲染结果和四渲染结果之间的差异所表征的所述第一场景的编辑数据。
进一步地,所述描述信息包括:所述功能描述、属性编辑结果、第二类属性和表示信息,其中,所述属性编辑结果为:按照预设协议对所述第一类属性进行编辑得到的信息,所述第二类属性为:所述节点属性中除所述第一类属性以外的属性;
所述第一类属性展示模块包括:
第一类属性显示子单元,用于按照所述预设协议所定义的信息展示形式,在所述属性编辑器中展示所述第一类属性。
一种信息编辑装置,应用于RC编辑器,所述装置包括:
节点确定模块,用于确定RC的各个功能模块对应的节点;
功能描述获得模块,用于获得每一节点所对应功能模块在目标场景中的功能描述;
节点属性获得模块,用于获得各个节点在所述目标场景中的节点属性;
表示信息得到模块,用于编辑得到由各个节点构成的、用于描述目标场景渲染流程的有向图的表示信息;
描述信息生成模块,用于生成用于描述目标场景的渲染流程图的描述信息,其中,所述描述信息包括:所述功能描述、节点属性和表示信息。
进一步地,所述装置还包括:
描述信息发送模块,用于将所述渲染流程图的描述信息发送到所述场景编辑器中。
进一步地,所述装置还包括:
第一类属性确定模块,用于确定所述节点属性中可编辑的属性,作为第一类属性;
属性编辑结果获得模块,用于按照预设协议编辑所述第一类属性,获得属性编辑结果;
所述描述信息包括:所述功能描述、属性编辑结果、第二类属性和表示信息,其中,所述第二类属性为:所述节点属性中除所述第一类属性以外的属性。
一种电子设备,其特征在于,包括处理器、通信接口、电机、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,使得执行上述第一方面中任一所述的信息编辑方法。
在本发明实施的又一方面,还提供了一种电子设备,其特征在于,包括处理器、通信接口、电机、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,使得执行上述第二方面中任一所述的信息编辑方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中任一所述的信息编辑方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面中任一所述的信息编辑方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中任一所述的信息编辑方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面中任一所述的信息编辑方法。
本发明实施例提供的一种信息编辑方法及装置,可以获得RC编辑器生成的、针对目标场景的渲染流程图的描述信息,采用功能描述,并按照表示信息表征的有向图,对目标场景进行渲染,获得第一渲染结果;根据第一渲染结果确定目标场景需要编辑时,确定节点属性中可编辑的属性,作为第一类属性;编辑第一类属性,在第一渲染结果的基础上,根据编辑后的属性,重新对目标场景进行渲染,得到第二渲染结果,实现对目标场景的编辑。与现有技术相比,应用本发明实施例提供的方案编辑目标场景时,无需为了达到实际需要的场景渲染效果,频繁地切换场景编辑器和RC编辑器对渲染流程图的描述信息进行修改,仅需要在场景编辑器中对第一类属性进行编辑操作,直至达到实际需要的场景渲染效果,能够提高RC编辑器和场景编辑器相配合完成场景设计的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的第一种信息编辑方法的流程图;
图2为本发明实施例提供的一种渲染流程图的示意图;
图3为本发明实施例提供的第二种信息编辑方法的流程图;
图4为本发明实施例提供的第三种信息编辑方法的流程图;
图5为本发明实施例提供的一种节点属性的示意图;
图6为本发明实施例提供的第一种信息编辑方法的结构示意图;
图7为本发明实施例提供的第二种信息编辑方法的结构示意图;
图8为为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明实施例题提供了第一种信息编辑方法的流程图,应用于场景编辑器,包括如下步骤:
S101,获得RC编辑器生成的、针对目标场景的渲染流程图的描述信息,其中,上述渲染流程图为利用RC的各个功能模块对应的节点构成的、用于描述上述目标场景渲染流程的信息,上述描述信息包括:每一节点所对应功能模块在上述目标场景中的功能描述、每一节点在上述目标场景中的节点属性和各个节点构成的用于描述上述目标场景渲染流程的有向图的表示信息;
其中,S101获得的描述信息可以是RC编辑器生成针对目标场景的渲染流程图的描述信息后,可以直接将生成的渲染流程图的描述信息发送到场景编辑器而获得的。
场景编辑器中还可以存储RC编辑器发送的针对目标场景的渲染流程图的描述信息,S101获得的描述信息可以是从场景浏览器存储的描述信息中获得的。
上述功能模块是技术人员按照功能对RC进行划分确定出的模块,一个节点可以理解为用于表征功能模块的点,技术人员可以将用一个节点表征一个功能模块,若多个节点之间有关联,不好划分,也可以将多个节点对应表征的多个功能模块联合用于表征一个大功能。例如上述功能模块为实现颜色为金色、直径为3厘米的太阳的模块,而功能描述就是驱动引擎实现颜色为金色、直径为3厘米的太阳的所有功能数据的描述。
上述节点属性包括可编辑的节点属性和不可编辑的节点属性。
一个节点的节点属性可以理解为实现该节点对应的功能模块的功能所需要的参数。如目标场景为包含绘制天空的各种功能,其中,天空中包含太阳,则节点属性为太阳的大小,太阳的颜色,阳光的方向等属性。
由于基于RC渲染场景时,各个功能模块之间是具有关联关系的,因此,各个功能模块对应的节点之间也是具有关联关系的,本发明实施例中将反映上述关系的图称为有向图。
也就是说,上述有向图的表示信息可以理解为利用各个节点对应的描述,驱动渲染引擎按照设定的流程进行场景渲染的信息。
举例而言,图2为本发明实施例提供的一种绘制天空功能的渲染流程图的示意图,表征绘制天空的渲染流程图对应的各个功能模块包括光照功能模块、天空背景功能模块、后期处理功能模块和屏幕输出模块,上述功能模块依次按照箭头所示的有向顺序生成渲染流程图。
S102,采用上述功能描述,并按照上述表示信息表征的有向图,对上述目标场景进行渲染,获得第一渲染结果;
其中,第一渲染结果可以理解为利用上述描述信息经过S101和S102后获得的渲染后的目标场景。
基于S101对有向图的描述可知,本步骤可以理解为:采用各个节点对应的功能模块在上述目标场景中的功能描述,驱动渲染引擎按照有向图中各个节点渲染目标场景的流程,对目标场景进行渲染,得到渲染后的目标场景。也就是说,通过场景编辑器将渲染流程图所要渲染的目标场景进行渲染并展示出来。
S103,根据上述第一渲染结果确定上述目标场景需要编辑时,确定上述节点属性中可编辑的属性,作为第一类属性;
在S102展示渲染的目标场景后,技术人员认为场景编辑器展示的场景不满足实际需要的渲染效果时,为了能够达到实际需要的技术效果,需要对目标场景进行修改,相对于现有技术,本步骤无需返回到RC编辑器中对表征述目标场景的渲染流程图的描述信息进行修改,仅需要根据场景编辑器确定的节点属性中可编辑的属性即第一类属性进行编辑操作即可。
上述确定上述节点属性中可编辑的属性的一种实现方式是:RC编辑器在生成渲染流程图的描述信息时,从节点属性中选择可编辑的节点属性,则场景编辑器根据描述信息,直接获得可编辑的节点属性,直接可以确定上述可编辑的。另一种实现方式是:场景编辑器从上述描述信息包括的节点属性中搜索可编辑的节点属性,得到可编辑的节点属性。
需要说明的是,S103的实现方式可以是以列表形式展示节点属性中可编辑的属性,也可以是以属性编辑器的形式展示节点属性中可编辑的属性,本发明实施例对此并不限定。
S104,编辑上述第一类属性;
针对可编辑的节点属性即第一类属性,技术人员找到需要编辑的节点属性,对所需要编辑的节点属性进行修改,得到属性编辑值,场景编辑器利用属性编辑值,编辑该属性编辑值对应的第一类属性。
现有技术中,场景美术人员需要频繁的切换RC编辑器和场景编辑器,随着引擎功能的不断扩充,RC编辑器中连接的渲染流程图越来越复杂,例如,场景美术人员需要在数百个节点中找到当前地图需要的某一个特有功能的节点(如天空),再从该节点中的几十个参数中挑选出一个(如太阳大小)来完成该节点,由此可见,场景美术人员在使用编辑器实现节点功能时,整个过程耗时严重,导致场景美术人员工作效率低。
为了解决上述问题,本发明实施例提出了一种实现方式,在该实现方式中,S103可以包括以下步骤A-B:
步骤A,在预设的RC面板上生成用于展示上述第一类属性的属性编辑器;
其中,RC面板是预先设定的面板,以便在RC面板上生成第一类属性的属性编辑器,便于技术人员在属性编辑器上对节点属性进行编辑操作。
属性编辑器可以理解为:用于编辑属性信息的容器。对于一个属性编辑器而言,可以用于编辑一个属性信息,也可以用于编辑多个属性,本发明实施例并不对此进行限定。
需要说明的是,一个可编辑的节点属性对应一个属性编辑器,也可以是多个可编辑的节点属性对应一个属性编辑器,本发明实施例对此并不限定。
步骤B,在上述属性编辑器中展示上述第一类属性;
在上述属性编辑器生成后,需要将第一类属性展示在属性编辑器上,该第一类属性可以是目标场景对应的全部可编辑的节点属性;也可以是一个节点对应的第一类属性;也可以是设置一个用于从第一类属性中检索所需编辑的节点属性的检索功能。
举例而言,若目标场景是包含绘制天空的各种功能,对目标场景进行渲染后,发现太阳不够大,技术人员想将太阳变大,则可以如下有两种实现方式编辑表示太阳大小的属性:
第一种方式为:技术人员用鼠标点击太阳,在RC面板上生成的属性编辑器上展示太阳属性,此时,技术人员便可对太阳属性中表示太阳大小的属性进行编辑操作。
第二种方式为:技术人员用鼠标点击太阳,在RC面板上的属性编辑器中展示的第一类属性中的太阳属性的编辑栏被激活,此时,技术人员可以对激活栏中表示太阳大小的属性进行编辑操作。
第三种方式为:技术人员若想修改表征太阳属性的节点属性,直接在检索栏中输入太阳属性的关键字,在RC面板上的属性编辑器中展示的第一类属性中的太阳属性的编辑栏被激活,此时,技术人员可以对激活栏中表示太阳大小的属性进行编辑操作。
在一种实现方式中,S104还可以按照步骤C实现,具体为:
步骤C,根据用户在上述属性编辑器中的编辑操作,编辑上述第一类属性。
在本步骤中,可以理解为用户在上述属性编辑器中对需要编辑的节点属性进行了编辑操作,得到属性编辑值,则场景编辑器根据属性编辑值,编辑第一类属性。
可见,本实现方式通过在RC面板上生成的属性编辑器展示第一类属性,并根据用户在属性编辑器中的编辑操作,编辑第一类属性,使得用户对节点属性的编辑操作快捷、便利,为用户带来了良好的体验效果。
S105,在上述第一渲染结果的基础上,根据编辑后的属性,重新对上述目标场景进行渲染,得到第二渲染结果,实现对上述目标场景的编辑。
需要说明的是,根据编辑后的属性,重新对S102得到的渲染后的目标场景进行渲染,实现对目标场景的编辑。
基于上述的示例,基于渲染后的天空,场景编辑器根据编辑的太阳大小的属性值,重新对渲染后的天空进行渲染,实现了对天空的编辑。
在一种实现方式中,在S105之后,还可以包括如下步骤:
存储上述第二渲染结果和第一渲染结果之间的差异所表征的上述目标场景的编辑数据。
由S105可知,第二渲染结果是通过在第一渲染结果的基础上,利用编辑后的属性记为属性编辑值,重新对目标场景进行渲染得到的渲染结果,则本步骤存储的编辑数据可以理解为属性编辑值。
可见,本实现方式通过存储上述属性编辑值,实现了对第二渲染结果对应的目标场景进行了保存,以便后续能够直接打开第二渲染结果对应的目标场景。
现有场景中会存在诸多相似的场景,这些相似场景对应的渲染流程图的描述信息中存在诸多相同的参数数据,为了给技术人员提供一种便捷操作,可以将这些相似的场景中对应的相同的参数数据作为形成一个共用场景对应的渲染流程的描述信息,如这些诸多场景可以是日升日落,昼夜循环的场景,但是诸多场景中共用场景为包含有天空、太阳、月亮的场景。技术人员在场景编辑器中可以获取该共有场景对应的渲染流程图的描述信息,可分别对共有的可编辑的节点属性按照具体实际所需求的场景效果进行编辑,调节出更多效果,以得到具体实际需求的诸多场景。
实现上述目的的一种实现方式为:在S101之后,还可以包括如下步骤D~步骤G:
步骤D,新建初始场景,作为第一场景;
其中,上述初始场景可以理解为一个空白场景。
步骤E,关联上述第一场景与上述描述信息,并采用上述功能描述,并按照上述表示信息表征的有向图,对上述第一场景进行渲染,获得第三渲染结果;
将该空白场景与获得的渲染流程图中的描述信息进行关联,利用描述信息,对初始场景进行渲染,得到第三渲染结果。
由于第三渲染结果与第一渲染结果都是利用同一个渲染流程图的描述信息在场景编辑器中进行渲染获得的结果,因此第三渲染结果与第一渲染结果展示相同的场景渲染效果。
步骤F,根据用户在上述属性编辑器中的编辑操作,重新对上述第一场景进行渲染,获得第四渲染结果;
用户得到第三渲染结果后,用户可对属性编辑器中展示的节点属性进行编辑操作,利用编辑操作后得到的属性编辑值,重新对第一场景进行渲染,得到渲染后的第四渲染结果。
步骤G,存储上述第三渲染结果和四渲染结果之间的差异所表征的上述第一场景的编辑数据。
需要说明的是,针对差异较小的场景,技术人员无需在RC编辑器中针对每一场景编辑对应的渲染流程图,仅需要完成一个表征各个场景共有场景的渲染流程图作为通用渲染流程图,针对所需要的场景记特有场景,在场景编辑器中利用通用渲染流程图中的描述信息,得到共有场景对应的渲染效果,在属性编辑器上编辑需要操作的属性,在上述第一渲染结果的基础上,根据编辑后的属性,重新对上述共有场景进行渲染,得到技术人员实际需要的特有场景的场景效果。
可见,本实现方式通过在场景编辑器中将新建的场景与通用的渲染流程图进行关联,得到利用描述信息渲染后的第三渲染结果,并根据用户在上述属性编辑器中的编辑操作,重新对上述第一场景进行渲染,得到第四渲染结果,存储上述第三渲染结果和第四渲染结果之间的差异所表征的上述第一场景的编辑数据,针对差异较小的场景,技术人员无需重新编辑渲染流程图,仅需要利用通用渲染流程图,在场景编辑器中按照需要修改的节点属性进行编辑操作,重新渲染场景,得到技术人员想要的场景效果,进而提高了技术人员的工作效率。
在一张渲染流程图的描述信息中一般包括数百个参数,若需要展示的场景复杂,则描述信息包括的参数也就越多,由于参数的数据类型存在多种类型,每一参数代表的物理意义也各不同;举一示例,有些参数可能是个字符串string,用来表示不同的名字,有些参数可能是一个浮点数float,用来表示节点属性的大小;有些参数可能是两个浮点数float2,用来表示一个节点属性的取值范围,有些参数可能是float3,用来表示一个笛卡尔坐标(x,y,z),有些参数float4,用来表示一个颜色(r,g,b,a),有些参数是个矩阵,用来表示坐标间转化,甚至有些参数可能是一条曲线,曲线可能是float,float2,float3,float4,用来表示一段时间内参数的变化。
基于上述的示例,如果上述示例中涉及的参数都使用同一种方式编辑,那么不仅使技术人员编辑的效率低,而且也容易误操作,同时这些误操作带来的bug非常隐晦,一旦出现失误,排查工作非常困难。为此,本发明实施例提出了一种实现方式,具体实现方式如下:
上述描述信息包括:上述功能描述、属性编辑结果、第二类属性和表示信息,其中,上述属性编辑结果为:按照预设协议对上述第一类属性进行编辑得到的信息,上述第二类属性为:上述节点属性中除上述第一类属性以外的属性;
上述S104的一种实现方式可以包括如下步骤:
按照上述预设协议所定义的信息展示形式,在上述属性编辑器中展示上述第一类属性。
其中,上述节点属性包括可编辑的节点属性和不可编辑的节点属性,本发明实施例中将可编辑的节点属性通过属性编辑器展示出来,供技术人员编辑操作。
需要说明的是,上述属性编辑器中显示的第一类属性是按照预设协议所定义的信息展示形式,将第一类属性展示在属性编辑器中。也就是说,场景编辑器根据预设协议所定义的信息展示形式,对第一类属性中不同参数类型以不同的信息展示形式展示在属性编辑器中。
举例而言,对于普通的参数即表示一个距离或者一个没有限定数时,可以使用普通的输入框编辑参数,对于某些有范围的参数,可以使用有起点和终点的滑杆编辑,对于某些需要技术人员选择的参数,可以使用一个下拉框,对于一个是或不是的二选一属性,可以创建单选框编辑器,对于曲线参数,可以单独编辑一个曲线编辑器,技术人员可以在曲线编辑器中完成如贝塞尔曲线的创建与编辑。此外,技术人员可以在渲染流程图完成后,在为描述信息中的参数组命名时,允许为具体参数设定包含组,一个参数组可能包含多个组,一个组里面的参数可能有父子关系。
可见,本实现方式按照上述预设协议所定义的信息展示形式,在上述属性编辑器中展示上述第一类属性,使得技术人员快捷的完成对第一类属性的编辑操作,且不易误操作,提高了技术人员的工作效率和体验效果。
由此可见,本发明实施例提供的方法通过获得RC编辑器生成的、针对目标场景的渲染流程图的描述信息,采用上述功能描述,并按照有向图,对上述目标场景进行渲染,确定上述第一类属性并编辑,根据编辑后的属性,重新对上述目标场景进行渲染,实现对上述目标场景的编辑,提高RC编辑器和场景编辑器相配合完成场景设计的效率,进而也提供了技术人员的工作效率。
参见图3,本发明实施例题提供了第二种信息编辑方法的流程图,应用于RC编辑器,包括如下步骤:
S201,获得RC编辑器生成的、针对目标场景的渲染流程图的描述信息,其中,上述渲染流程图为利用渲染管线RC的各个功能模块对应的节点构成的、用于描述上述目标场景渲染流程的信息,上述描述信息包括:每一节点所对应功能模块在上述目标场景中的功能描述、每一节点在上述目标场景中的节点属性和各个节点构成的用于描述上述目标场景渲染流程的有向图的表示信息;
S202,采用上述功能描述,并按照上述表示信息表征的有向图,对上述目标场景进行渲染,获得第一渲染结果;
S203,根据上述第一渲染结果确定上述目标场景需要编辑时,确定上述节点属性中可编辑的属性,作为第一类属性;
S204,在预设的RC面板上生成用于展示上述第一类属性的属性编辑器;
S205,在上述属性编辑器中展示上述第一类属性;
S206,根据用户在上述属性编辑器中的编辑操作,编辑上述第一类属性;
S207,在上述第一渲染结果的基础上,根据编辑后的属性,重新对上述目标场景进行渲染,得到第二渲染结果,实现对上述目标场景的编辑。
由此可见,本发明实施提供的方法在RC面板上生成的属性编辑器展示确定的第一类属性,并根据用户在属性编辑器中的编辑操作,编辑第一类属性,使得用户对节点属性的编辑操作快捷、便利,不仅能够提高RC编辑器和场景编辑器相配合完成场景设计的效率,而且也能够提高用户的工作效率,同时为用户带来良好的体验效果。
参见图4,本发明实施例题提供了第三种信息编辑方法的流程图,应用于RC编辑器,包括如下步骤:
S301,确定RC的各个功能模块对应的节点;
本步骤可以理解为,技术人员可以从预设的节点库中选择需要渲染目标场景所使用的各个功能模块对应的节点。
S302,获得每一节点所对应功能模块在目标场景中的功能描述;
在本步骤中,从确定的各个节点获得每一节点对应的功能描述。
S303,获得各个节点在上述目标场景中的节点属性;
其中,节点属性可以包括可编辑的节点属性和不可编辑的节点属性。
节点属性可以理解为实现某一特定功能所需要的参数。
在S301确定的节点的描述中获得每一节点在上述目标场景中的节点属性。
在S303之后,还利用包括如下步骤H~步骤J:
步骤H,确定上述节点属性中可编辑的属性,作为第一类属性;
本步骤中,从节点属性中选择可编辑的节点属性。
举例而言,图5为节点属性(PropertyBrowser)在RC编辑器中节点属性的示意图,节点属性的名称(Name)包括亮度(Light)和通用(Common),其中,亮度包括光源色(LightColor),光亮度(LightBrightness),[255.255.255.255]为光源色的赋值(Value),10.00000为光亮度的赋值,通用包括太阳大小乘数(Sun Multiplier)和太阳远近(SunDisc Scale),1.00000为太阳大小乘数和太阳远近的默认值,在场景编辑器显示的名称(Refkey)为:天空.白天.太阳颜色(Sky.Day.SunColor)、天空.白天.太阳光源亮度(Sky.Day.SunColorBrightness)和天空.白天.太阳远近(Sky.Day.Sun Disc),现以图5中矩形框内“Sun Disc Scale,1.00000,Sky.Day.Sun Disc”为示例进行说明,该矩形框中内容表示:选择名称为天空.白天.太阳远近,通用属性中太阳远近默认值为1.00000的节点属性作为第一类属性。
步骤I,按照预设协议编辑上述第一类属性,获得属性编辑结果;上述描述信息包括:上述功能描述、属性编辑结果、第二类属性和表示信息,其中,上述第二类属性为:上述节点属性中除上述第一类属性以外的属性。
按照预设协议编辑上述第一类属性,以使编辑的第一类属性展示预设协议所定义的显示形式。
可见,本实现方式按照预设协议编辑确定的第一类属性,使得第一类属性能够按照预设协议所定义的显示形式展示,以便技术人员对第一类属性进行快速编辑,且不易误操作,能够提高技术人员的工作效率。
S304,编辑得到由各个节点构成的、用于描述目标场景渲染流程的有向图的表示信息;
在本步骤中,利用S301确定的节点对应的描述,编辑能够驱动渲染引擎按照设定的流程进行渲染的表示信息。
S305,生成用于描述目标场景的渲染流程图的描述信息,其中,上述描述信息包括:上述功能描述、节点属性和表示信息。
其中,渲染流程图构建时可以设计复合节点,以提高技术人员的对渲染流程图的阅读性,将各个节点按照如下特点进行筛选分组,这些特点包括:将引擎特有、场景共有的节点,比如场景管理,GBuffer渲染(延迟渲染流程下的一个必须准备工作)大组,将具有上述特点的节点放到预设的复合节点中,隐藏各个节点的节点属性,仅仅暴露节点的输入和输出;其中,针对场景特有的节点,对场景特有的节点的节点属性中包含场景共有参数进行隐藏,展示场景特有的节点的节点属性中已命名的场景特有参数。
本步骤仅需用于描述目标场景的渲染流程图的描述信息。
在S305之后,一种实现方式包括如下步骤:将上述渲染流程图的描述信息发送到上述场景编辑器中。以便场景编辑器根据描述信息渲染渲染流程图所要渲染的场景。
在S305之后,另一种实现方式包括如下步骤:将上述渲染流程图的描述信息保存在预设的文件夹中。以便技术人员随时选择所要渲染场景对应的渲染流程图的描述信息,以便场景编辑器根据描述信息渲染渲染流程图所要渲染的场景。
由此可见,本发明实施例提供的方法从确定的RC的各个功能模块对应的节点中获得功能描述、节点属性和表示信息,生成用于描述目标场景的渲染流程图的描述信息,生成的描述信息能够提高RC编辑器和场景编辑器相配合完成场景设计的效率,进而也提供了技术人员的工作效率。
与上述文件信息编辑方法相对应,本发明实施例还提供了信息编辑装置。
参见图6,本发明实施例提供第一种信息编辑装置的结构示意图,上述装置可以包括:
描述信息获得模块401,用于获得RC编辑器生成的、针对目标场景的渲染流程图的描述信息,其中,上述渲染流程图为利用渲染管线RC的各个功能模块对应的节点构成的、用于描述上述目标场景渲染流程的信息,上述描述信息包括:每一节点所对应功能模块在上述目标场景中的功能描述、每一节点在上述目标场景中的节点属性和各个节点构成的用于描述上述目标场景渲染流程的有向图的表示信息;
第一渲染结果获得模块402,用于采用上述功能描述,并按照上述表示信息表征的有向图,对上述目标场景进行渲染,获得第一渲染结果;
第一类属性确定模块403,用于根据上述第一渲染结果确定上述目标场景需要编辑时,确定上述节点属性中可编辑的属性,作为第一类属性;
编辑模块404,用于编辑上述第一类属性;
第二渲染结果得到模块405,用于在上述第一渲染结果的基础上,根据编辑后的属性,重新对上述目标场景进行渲染,得到第二渲染结果,实现对上述目标场景的编辑。
在一种实现方式中,上述装置还可以包括:
第一存储模块,用于存储上述第二渲染结果和第一渲染结果之间的差异所表征的上述目标场景的编辑数据。
在一种实现方式中,上述装置还可以包括:
属性编辑器生成模块,用于在预设的RC面板上生成用于展示上述第一类属性的属性编辑器;
第一类属性展示模块,用于在上述属性编辑器中展示上述第一类属性;
上述编辑模块包括:
第一类属性编辑子模块,用于根据用户在上述属性编辑器中的编辑操作,编辑上述第一类属性。
在一种实现方式中,上述装置还可以包括:
第一场景新建模块,用于新建初始场景,作为第一场景;
第三渲染结果获得模块,用于关联上述第一场景与上述描述信息,并采用上述功能描述,并按照上述表示信息表征的有向图,对上述第一场景进行渲染,获得第三渲染结果;
第四渲染结果获得模块,用于根据用户在上述属性编辑器中的编辑操作,重新对上述第一场景进行渲染,获得第四渲染结果;
第二存储模块,用于存储上述第三渲染结果和四渲染结果之间的差异所表征的上述第一场景的编辑数据。
在一种实现方式中,上述描述信息包括:上述功能描述、属性编辑结果、第二类属性和表示信息,其中,上述属性编辑结果为:按照预设协议对上述第一类属性进行编辑得到的信息,上述第二类属性为:上述节点属性中除上述第一类属性以外的属性;
上述第一类属性展示模块包括:
第一类属性显示子单元,用于按照上述预设协议所定义的信息展示形式,在上述属性编辑器中展示上述第一类属性。
由此可见,本发明实施例提供的装置通过获得RC编辑器生成的、针对目标场景的渲染流程图的描述信息,采用上述功能描述,并按照有向图,对上述目标场景进行渲染,确定上述第一类属性并编辑,根据编辑后的属性,重新对上述目标场景进行渲染,实现对上述目标场景的编辑,提高RC编辑器和场景编辑器相配合完成场景设计的效率,进而也提供了技术人员的工作效率。
参见图7,本发明实施例提供第二种信息编辑装置的结构示意图,上述装置可以包括:
节点确定模块501,用于确定RC的各个功能模块对应的节点;
功能描述获得模块502,用于获得每一节点所对应功能模块在目标场景中的功能描述;
节点属性获得模块503,用于获得各个节点在上述目标场景中的节点属性;
表示信息得到模块504,用于编辑得到由各个节点构成的、用于描述目标场景渲染流程的有向图的表示信息;
描述信息生成模块505,用于生成用于描述目标场景的渲染流程图的描述信息,其中,上述描述信息包括:上述功能描述、节点属性和表示信息。
在一种实现方式中,上述装置还可以包括:
描述信息发送模块,用于将上述渲染流程图的描述信息发送到上述场景编辑器中。
在一种实现方式中,上述装置还可以包括:
第一类属性确定模块,用于确定上述节点属性中可编辑的属性,作为第一类属性;
属性编辑结果获得模块,用于按照预设协议编辑上述第一类属性,获得属性编辑结果;
上述描述信息包括:上述功能描述、属性编辑结果、第二类属性和表示信息,其中,上述第二类属性为:上述节点属性中除上述第一类属性以外的属性。
由此可见,本发明实施例提供的装置从确定的RC的各个功能模块对应的节点中获得功能描述、节点属性和表示信息,生成用于描述目标场景的渲染流程图的描述信息,生成的描述信息能够提高RC编辑器和场景编辑器相配合完成场景设计的效率,进而也提供了技术人员的工作效率。
本发明实施例还提供了一种电子设备,如图8所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现本发明实施例提供的两种信息编辑方法。
具体的,上述第一种信息编辑方法,包括:
获得RC编辑器生成的、针对目标场景的渲染流程图的描述信息,其中,上述渲染流程图为利用渲染管线RC的各个功能模块对应的节点构成的、用于描述上述目标场景渲染流程的信息,上述描述信息包括:每一节点所对应功能模块在上述目标场景中的功能描述、每一节点在上述目标场景中的节点属性和各个节点构成的用于描述上述目标场景渲染流程的有向图的表示信息;
采用上述功能描述,并按照上述表示信息表征的有向图,对上述目标场景进行渲染,获得第一渲染结果;
根据上述第一渲染结果确定上述目标场景需要编辑时,确定上述节点属性中可编辑的属性,作为第一类属性;
编辑上述第一类属性;
在上述第一渲染结果的基础上,根据编辑后的属性,重新对上述目标场景进行渲染,得到第二渲染结果,实现对上述目标场景的编辑。
由此可见,执行本实施例提供的电子设备,根据通过获得RC编辑器生成的、针对目标场景的渲染流程图的描述信息,采用上述功能描述,并按照有向图,对上述目标场景进行渲染,确定上述第一类属性并编辑,根据编辑后的属性,重新对上述目标场景进行渲染,实现对上述目标场景的编辑,提高RC编辑器和场景编辑器相配合完成场景设计的效率,进而也提供了技术人员的工作效率。
上述的相关内容信息编辑方法的实施方式与前述方法实施例部分提供的信息编辑的管理方式相同,这里不再赘述。
具体的,上述第二种信息编辑方法,包括:
确定RC的各个功能模块对应的节点;
获得每一节点所对应功能模块在目标场景中的功能描述;
获得各个节点在上述目标场景中的节点属性;
编辑得到由各个节点构成的、用于描述目标场景渲染流程的有向图的表示信息;
生成用于描述目标场景的渲染流程图的描述信息,其中,上述描述信息包括:上述功能描述、节点属性和表示信息。
由此可见,执行本实施例提供的电子设备,从确定的RC的各个功能模块对应的节点中获得功能描述、节点属性和表示信息,生成用于描述目标场景的渲染流程图的描述信息,生成的描述信息能够提高RC编辑器和场景编辑器相配合完成场景设计的效率,进而也提供了技术人员的工作效率。
上述的相关内容信息编辑方法的实施方式与前述方法实施例部分提供的信息编辑的管理方式相同,这里不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机实现本发明实施例提供的上述第一种信息编辑方法。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机实现本发明实施例提供的上述第二种信息编辑方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中上述第一种信息编辑方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中上述第二种信息编辑方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备或存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。