一种预设组件同步属性的方法及其系统技术方案

技术编号:31170541 阅读:19 留言:0更新日期:2021-12-04 13:32
本发明专利技术提供了一种预设组件同步属性的方法,该方法为:1、在游戏场景中新建空对象,对空对象添加游戏对象,形成具有父子结构的组合体;2、通过解析组合体节点信息,将组合体保存成预设组件文件;3、对预设组件文件进行实例化成预设组件对象,添加到游戏场景中;4、在场景中添加多个预设组件对象后,通过获取场景中所有预设组件对象,形成预设组件列表;5、选择一个预设组件对象,进行添加、删除组件、或者修改属性的操作;6、对选择的预设组件对象进入预设组件编辑状态,同步场景中所有预设组件对象属性;7、退出预设组件编辑状态,保存预设组件文件,达到同步属性的目的,提高编辑游戏场景物件的效率。件的效率。件的效率。

【技术实现步骤摘要】
一种预设组件同步属性的方法及其系统


[0001]本专利技术涉及游戏制作
,特别是一种预设组件同步属性的方法及其系统。

技术介绍

[0002]众所周知,游戏资源和用在游戏场景中的游戏物体是不一样的,一个资源将其拖动到游戏场景中就变成一个带有各种组件的节点,我们可以将多个节点组合成新的游戏物件,例如用多个模型道具组合成一个房子等。
[0003]从资源的重复利用来看,直接使用素材资源来搭建场景是效率比较低的,比较高效的方法是重复利用在场景中已经完成了设置、修改、组合等工作的游戏物体。
[0004]在很多游戏编辑器中,都有组合体的概念,就是将多个物体组合成一个新的物体,然后可以对其进行整体操作,这个主要是对资源进行整合,组合成类似于一个分组的物件,但是如果对组合体修改的时候,只是会改变当前组合体的内容,即使将这个组合体通过复制的方式,在场景中生成多个组合体,在修改时需要对每一个组件进行修改,无法直接同步属性,是比较繁琐的操作。
[0005]现有技术主要存在以下缺点:在游戏场景中,如果使用多个组合体,当一个组合体改变的时候,并不会同时改变别的组合体,改变的只是当前的组合体,如果可以保持游戏对象和组合体的关联,也就是对组合体进行添加和删除组件、修改属性等操作,实例化后的游戏对象都会发生相应的改变,同步所有组合体的属性,将会提高编辑游戏场景物件的效率。

技术实现思路

[0006]为克服上述问题,本专利技术的目的是提供一种预设组件同步属性的方法,使游戏对象和资源重复利用,提高搭建游戏场景的效率。
[0007]本专利技术采用以下方案实现:一种预设组件同步属性的方法,所述方法包括如下步骤:
[0008]步骤S1、在游戏场景中新建空对象,对空对象添加游戏对象,形成具有父子结构的组合体;
[0009]步骤S2、通过解析组合体节点信息,将组合体保存成预设组件文件;
[0010]步骤S3、对预设组件文件进行实例化成预设组件对象,添加到游戏场景中;
[0011]步骤S4、在场景中添加多个预设组件对象后,通过获取场景中所有预设组件对象,形成预设组件列表;
[0012]步骤S5、选择一个预设组件对象,进行添加、删除组件、或者修改属性的操作;
[0013]步骤S6、对选择的预设组件对象进入预设组件编辑状态,同步场景中所有预设组件对象属性;
[0014]步骤S7、退出预设组件编辑状态,保存预设组件文件,达到同步属性的目的。
[0015]进一步的,所述步骤S2进一步具体为:通过解析组合体节点信息,获取组合体中所有游戏对象,将组合体保存成预设组件文件;一个组合体通常由多个游戏对象组成,每个游
戏对象有其位置、大小、对应的资源模型文件路径的属性信息;保存成的预设组件文件是将这些属性信息保存成一个节点资源。
[0016]进一步的,所述步骤S3进一步具体为:通过将预设组件文件拖动到游戏场景中,进行实例化成预设组件对象,添加到游戏场景中;预设组件对象的实例化,并不是普通的复制组件对象的过程;即预设组件对象实例化后产生的新的游戏对象因为在添加到场景时,游戏程序对预设组件对象设置预设标志,将添加到预设组件对象的每个组件对象都设置预设组件对象名字,所以游戏对象依然保持着与预设组件对象的关联,也就是对预设组件对象进行添加组件、修改属性操作,预设组件对象实例化后的游戏对象都会发生相应的改变。
[0017]进一步的,所述预设组件对象的实例化就是将预设组件文件进行解析,获取到预设组件文件中的预设组件节点,在游戏场景中生成预设组件对象,作为一个具体的游戏模型,从而将虚拟的预设组件文件信息变为具体的场景物件的过程。
[0018]进一步的,所述步骤S5进一步具体为:选择预设组件列表中一个预设组件对象,根据具体的场景搭建需求,对预设组件对象进行添加新组件或者删除原有组件,或者修改位置、大小、旋转的属性,这时候就会触发预设组件对象的状态改变。
[0019]进一步的,所述步骤S6进一步具体为:触发预设组件对象的修改状态后,将会进入预设组件对象编辑状态,原先的预设组件文件会变成正在编辑状态,预设组件对象修改的具体内容将保存在程序内存中,以便之后预设组件文件保存覆盖操作;
[0020]预设组件对象修改时,将同步场景中所有预设组件对象属性;主要分为两个同步方式:一种是预设组件对象内的组件数量改变,包括在预设组件对象内添加新的组件和删除原有组件,同步时,需要先遍历场景中的所有物件,根据在添加预设组件对象时设置的预设组件对象名字,获取到对应的所有预设组件对象,然后,除了当前编辑的预设组件对象,剩下的所有预设组件对象内的所有组件都删除,这样剩下的所有预设组件对象都成为了空的游戏对象;接着,对当前编辑的预设组件对象内的所有组件进行克隆操作,复制组件对象节点信息和属性信息,遍历所有预设组件对象,添加到剩下的所有预设组件对象中,这样就实现了预设组件对象的组件数量的同步操作;另一种是预设组件对象的组件属性改变,主要修改组件的位置、大小、旋转、颜色、材质的属性;同步方式是通过获取当前修改的组件属性值,然后给剩下的所有预设组件对象,设置获取到的组件属性值,达到属性的同步改变。
[0021]进一步的,所述步骤S7进一步具体为:同步完所有预设组件对象属性后,将退出预设组件编辑状态,保存预设组件文件,通过文件复制替换的方式来进行保存;原先生成预设组件对象的文件进行删除,然后将保存在程序内存的预设组件对象保存成预设组件文件,复制到原先的预设组件文件中实现替换,然后删除程序内存保存的预设组件文件;这样就实现了预设组件文件的覆盖保存。
[0022]本专利技术还提供了一种预设组件同步属性的系统,所述系统包括:游戏对象添加模块、解析模块、实例化模块、预设组件列表生成模块、对象编辑模块、属性同步模块、以及保存模块;
[0023]所述游戏对象添加模块,用于在游戏场景中新建空对象,对空对象添加游戏对象,形成具有父子结构的组合体;
[0024]所述解析模块,用于通过解析组合体节点信息,将组合体保存成预设组件文件;
[0025]所述实例化模块,用于对预设组件文件进行实例化成预设组件对象,添加到游戏
场景中;
[0026]所述预设组件列表生成模块,用于在场景中添加多个预设组件对象后,通过获取场景中所有预设组件对象,形成预设组件列表;
[0027]所述对象编辑模块,选择一个预设组件对象,进行添加、删除组件、或者修改属性的操作;
[0028]所述属性同步模块,对选择的预设组件对象进入预设组件编辑状态,同步场景中所有预设组件对象属性;
[0029]所述保存模块,用于退出预设组件编辑状态,保存预设组件文件,达到同步属性的目的。
[0030]进一步的,所述解析模块的实现方式进一步具体为:通过解析组合体节点信息,获取组合体中所有游戏对象,将组合体保存成预设组件文件;一个组合体通常由多个游戏对象组成,每个游戏对象有其位置、大小、对应的资源模型文件路径的属本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种预设组件同步属性的方法,其特征在于:所述方法包括如下步骤:步骤S1、在游戏场景中新建空对象,对空对象添加游戏对象,形成具有父子结构的组合体;步骤S2、通过解析组合体节点信息,将组合体保存成预设组件文件;步骤S3、对预设组件文件进行实例化成预设组件对象,添加到游戏场景中;步骤S4、在场景中添加多个预设组件对象后,通过获取场景中所有预设组件对象,形成预设组件列表;步骤S5、选择一个预设组件对象,进行添加、删除组件、或者修改属性的操作;步骤S6、对选择的预设组件对象进入预设组件编辑状态,同步场景中所有预设组件对象属性;步骤S7、退出预设组件编辑状态,保存预设组件文件,达到同步属性的目的。2.根据权利要求1所述的一种预设组件同步属性的方法,其特征在于:所述步骤S2进一步具体为:通过解析组合体节点信息,获取组合体中所有游戏对象,将组合体保存成预设组件文件;一个组合体通常由多个游戏对象组成,每个游戏对象有其位置、大小、对应的资源模型文件路径的属性信息;保存成的预设组件文件是将这些属性信息保存成一个节点资源。3.根据权利要求1所述的一种预设组件同步属性的方法,其特征在于:所述步骤S3进一步具体为:通过将预设组件文件拖动到游戏场景中,进行实例化成预设组件对象,添加到游戏场景中;预设组件对象的实例化,并不是普通的复制组件对象的过程;即预设组件对象实例化后产生的新的游戏对象因为在添加到场景时,游戏程序对预设组件对象设置预设标志,将添加到预设组件对象的每个组件对象都设置预设组件对象名字,所以游戏对象依然保持着与预设组件对象的关联,也就是对预设组件对象进行添加组件、修改属性操作,预设组件对象实例化后的游戏对象都会发生相应的改变。4.根据权利要求3所述的一种预设组件同步属性的方法,其特征在于:所述预设组件对象的实例化就是将预设组件文件进行解析,获取到预设组件文件中的预设组件节点,在游戏场景中生成预设组件对象,作为一个具体的游戏模型,从而将虚拟的预设组件文件信息变为具体的场景物件的过程。5.根据权利要求1所述的一种预设组件同步属性的方法,其特征在于:所述步骤S5进一步具体为:选择预设组件列表中一个预设组件对象,根据具体的场景搭建需求,对预设组件对象进行添加新组件或者删除原有组件,或者修改位置、大小、旋转的属性,这时候就会触发预设组件对象的状态改变。6.根据权利要求1所述的一种预设组件同步属性的方法,其特征在于:所述步骤S6进一步具体为:触发预设组件对象的修改状态后,将会进入预设组件对象编辑状态,原先的预设组件文件会变成正在编辑状态,预设组件对象修改的具体内容将保存在程序内存中,以便之后预设组件文件保存覆盖操作;预设组件对象修改时,将同步场景中所有预设组件对象属性;主要分为两个同步方式:一种是预设组件对象内的组件数量改变,包括在预设组件对象内添加新的组件和删除原有组件,同步时,需要先遍历场景中的所有物件,根据在添加预设组件对象时设置的预设组件对象名字,获取到对应的所有预设组件对象,然后,除了当前编辑的预设组件对象,剩下的
所有预设组件对象内的所有组件都删除,这样剩下的所有预设组件对象都成为了空的游戏对象;接着,对当前编辑的预设组件对象内的所有组件进行克隆操作,复制组件对象节点信息和属性信息,遍历所有预设组件对象,添加到剩下的所有预设组件对象中,这样就实现了预设组件对象的组件数量的同步操作;另一种是预设组件对象的组件属性改变,主要修改组件的位置、大小、旋转、颜色、材质的属性;同步方式是通过获取当前修改的组件属性值,然后给剩下的所有预设组件对象,设置获取到的组件属性值,达到属性的同步改变。7.根据权利要求1所述的一种预设组件同步属性的方法,其特征在于:所述步骤S7进一步具体为:同步完所有预设组件对象属性后,将退出预设组件编辑状态,保存预设组件文件,通过文件复制替换的方式来进行保存;原先生成预设组件对象的文件进行删除,然后将保存在程序内存的预设组件对象保存成预设组件文件,复制到原先的预设组件文件中实现替换,然后删除程序内存保存的预设组件文件;这样就实现了预设组件文件的覆盖保存。8.一种预设组件同步属性的系统,其特征在于:所述系统包括:游戏对象添加模块、解析模块、实例化模块、预设组件列表生成模块、对象编辑模...

【专利技术属性】
技术研发人员:刘德建柳旭辉陈宏展
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1