发布日期:2024-09-02 浏览次数:次
本发明涉及游戏开发,特别是指一种游戏开发过程中复制物体的方法、电子设备和存储介质。背景技术:1、在游戏开发过程中,为了避免对原物体的修改,开发者可能需要将该物体完全相同地复制一份用以调试效果,或用来参照,或进行效果的更改和迭代。复制物体是开发者在开发过程中频繁进行且重要的操作,针对不同场景和类型的物体有其独特的复制方式。由于物体的类别、层级、包含的不同组件及材质的千变万化,对频繁的“手动复制物体”与“材质再指定”这些操作来说过于机械化和繁琐,大大降低了开发者的开发效率。2、引擎一般会提供默认的物体复制方法,而默认方法仅能产生新物体,但新物体的材质的指定依然是原物体的材质,导致开发者需要额外对材质进行复制再指定。3、现有技术主要有以下两种解决方案:4、一是由开发者对原物体及其子物体进行选中并复制,再选中原物体及其子物体并寻找它们的材质,将它们的材质复制并保存到资源目录,然后通过类别的不同进行区分物体、子物体,针对类别将复制出的新材质手动指定到复制出的新物体及其子物体上;5、二是由开发者将原物体及其子物体封装成一个prefab,然后打包导出引擎并保存在资源目录中,再重新将其导入引擎,由于引擎会自动判断相同的物体并进行重命名操作,由此可以实现复制出新物体的操作,但依然需要通过类别的不同进行区分物体、子物体并重新指定材质。6、以上的两种方案,分别存在以下问题:7、方案一中的每一步都需要重复操作,如果需要复制的物体(即原物体)包含上百个子物体,需要针对这上百个子物体逐个复制对应的材质,并手动指定到对应的新子物体上,这会带来巨量的重复、机械且无意义的工作,消耗大量的人力物力时间成本,且由于手动指定会受开发者当前注意力状态的影响,不可避免的产生失误和误操作,导致指定错误或丢失等不可控、不容易溯源等问题出现。8、方案二虽然可以解决复制物体的机械重复问题,但是材质指定依然需要手动操作;同时,导入引擎这一操作有可能覆盖掉已有的文件,手动操作时不可避免地会出现失误和误操作,对项目资产有一定的风险,造成版本冲突或资源丢失覆盖等问题,增加人力物力时间成本。技术实现思路1、本发明的目的在于提供一种游戏开发过程中复制物体的方法、电子设备和存储介质,解决现有技术中存在的问题,实现一键自动复制物体及子物体,并检测他们是否包含组件和材质,复制对应的材质,将新材质指定到新物体及子物体上,并在资源目录中提供对物体和材质的自动分类文件夹选项,优化资产的保存分类。2、为了达成上述目的,本发明的解决方案是:3、一种游戏开发过程中复制物体的方法,包括以下步骤:4、步骤1.在当前场景目录中,由引擎判断开发者是否已选中原物体;若未选中,在界面中提示“应先选中物体”;若已选中,在界面中显示选中物体的名称并提示“输入资源目录路径”;5、步骤2.开发者在界面中给定的输入框内输入资源目录的保存路径;6、步骤3.在界面中弹出附加选项开关,由开发者选择是否开启附加选项;附加选项包含两个子选项;子选项一为是否在当前场景目录中保留新物体,子选项一开启时,在进行复制时会自动在当前的场景目录中按照新物体对应的层级保留一份新物体,并自动命名添加后缀“_01”,子选项一不开启时仅在资源目录进行复制操作;子选项二为是否创建自动分类文件夹,子选项二开启时,在进行复制时会在资源目录中创建两个文件夹prefab、material,并按照物体及其子物体的类别、材质的类型进行自动分类并保存到对应的文件夹内,子选项二不开启时将复制的所有内容保存在资源目录的同一文件夹中;7、步骤4.判断物体条件8、4.1判断原物体是否包含子物体;若包含子物体,判断子物体层级有几层、每层对应有多少子物体,记录并保留层数以及每个子物体对应的层数,否则进行4.2;9、4.2判断原物体及其子物体是否包含组件;若包含组件,按照层级和子物体对应的层数查找包含的是哪些组件,记录当前组件的状态,否则进行4.3;10、4.3检测原物体及其子物体是否包含mesh材质、image材质、sprite材质、粒子系统材质、粒子拖尾材质、spine材质;若包含以上类别的材质,对物体、子物体分别记录所包含的材质类别以及对应材质的命名字符;11、4.4获取原物体及其子物体的命名字符并保存;12、4.5将新物体命名为原物体的命名字符并添加后缀“_01”,记录并保存;13、4.6根据4.3中获得的记录,将新材质命名为原材质的命名字符并添加后缀“_01”,记录并保存;14、4.7对于4.6获得的记录,对照4.1和4.3的记录将新材质按照对应的物体及其子物体的层级进行重新指定,使新物体及其子物体在保留原物体及其层级的情况下均被指定对应的新材质;15、5.根据步骤4获得的记录,分别复制原物体、原材质,得到新物体、新材质,并根据步骤3是否开启子选项二决定新物体、新材质在资源目录中的保存位置;16、6.根据步骤3是否开启子选项一决定是否在当前场景目录中保留新物体。17、一种电子设备,包括处理器、存储器和应用程序;所述应用程序被存储在所述存储器中,并被配置为由所述处理器执行所述的游戏开发过程中复制物体的方法。18、一种计算机可读存储介质,所述存储介质存储有计算机程序;所述计算机程序在所述计算机中执行时,使所述计算机执行所述的游戏开发过程中复制物体的方法。19、采用上述技术方案后,本发明具有以下技术效果:20、本发明可以使开发者极大地简化复制物体及其子物体的过程,减少重复和机械性的工作,从而节省人力、物力和时间成本;本发明仅需人工输入资源目录的保存路径,几乎全自动化的功能可以减少人工操作可能带来的失误和误操作的可能性,提高了操作的准确性和效率;同时,自动分类文件夹选项使资产管理更加便捷,提升了项目的整体组织性和可维护性。技术特征:1.一种游戏开发过程中复制物体的方法,其特征在于包括以下步骤:2.一种电子设备,其特征在于包括处理器、存储器和应用程序;所述应用程序被存储在所述存储器中,并被配置为由所述处理器执行如权利要求1所述的游戏开发过程中复制物体的方法。3.一种计算机可读存储介质,其特征在于所述存储介质存储有计算机程序;所述计算机程序在所述计算机中执行时,使所述计算机执行如权利要求1所述的游戏开发过程中复制物体的方法。技术总结本发明公开一种游戏开发过程中复制物体的方法、电子设备和存储介质,实现一键自动复制物体及子物体,并检测他们是否包含组件和材质,复制对应的材质,将新材质指定到新物体及子物体上,并在资源目录中提供对物体和材质的自动分类文件夹选项,优化资产的保存分类。本发明可以使开发者极大地简化复制物体及其子物体的过程,减少重复和机械性的工作,从而节省人力、物力和时间成本;本发明仅需人工输入资源目录的保存路径,几乎全自动化的功能可以减少人工操作可能带来的失误和误操作的可能性,提高了操作的准确性和效率。技术研发人员:王艺超受保护的技术使用者:深圳雷霆数字娱乐有限公司技术研发日:技术公布日:2024/8/21