我目前正在进行一项练习,为此我想创建一份技术设计文档。使用Unity的标签标签批量替换对象?
因此,我需要评估可能的解决方案与我的虚构的项目来了一堆问题。
这里是在练习快速浏览:
游戏的艺术&核心游戏的设计都分手了非常严厉 - 基本上,核心系统,游戏机制和设计的创建是非常抽象的,为了让他们与各种各样的艺术设置一起工作。另外,其中一个限制就是重复使用尽可能多的资产,设计尽可能多的水平。
现在我的问题:
我想关卡设计师使用的“模板”对象(物体都被要求的技术特征,即插槽附件,正确的比例,纹理等)来创建水平和稍后用我从外包商处收到的一组资产替换这些对象。
因为我不想手动替换所有对象,每当我得到了一组新的资产,这就是我想做的事:
每个模板对象获得一个描述性标签,并通过外包商需要提供每个资产具有与其中存储的相应模板对象(例如作为自定义属性,通道或仅以其名称)完全相同的标签名称。
我现在想使用脚本将所有模板替换为相关资产。
这将针对每组资产完成。我也会对我的引擎进行几次部署,每一个部署一次,但是最初,他们都会开始使用需要替换的模板(因为需要对每个设置进行一些修改,包括视觉和游戏设计视角,将所有资产保留在一个主干/项目中对我来说没有任何意义)。
为了更方便我会使用的某些种类的“数据库”(可能是一个简单的字典,发动机脚本可以查询,但可以通过在交付新资产的另一个脚本事先填写?)。
我的问题是:这可能吗?如果是的话,这对程序员来说有多难?我在这个领域只有有限的知识,所以我很乐意听到你们小伙子们想到的这件事。
而且(非常重要) - 你知道一个更好的方式来实现这一目标资产的“replacability”?或者简单地有一个更简单的方法来实现我想要做的事情?我很欣赏任何反馈!谢谢!
快速编辑:这不仅适用于3D对象;质地也需要更换,显然
Mmyeeeea这是非常接近我想要什么,我需要知道这是否是可能的(当然,它可能是 - 更好的说:如果不是过于复杂),以通过脚本访问一个预制的部件,并将其更改为不同的对象? 基本上,如果我有对象A作为预制件,我可以访问该预制件并将预制对象的路径更改为对象B? 用手做替换可能会奏效,但我尽量避免人为错误。 – 2013-04-20 15:56:47
此外,嵌套的预制件可能也需要 - 环境模型将是模块化的,并将使用窗户,门和其他装饰的“附件”系统。 我假设“不太直截了当”意味着可能会在引擎端需要一些更大的调整/修改? 另外,感谢您的链接,我会看看它! :) – 2013-04-20 16:02:07
@Nils Diefenbach:是的,这是可能的。我编辑了答案。 – Heisenbug 2013-04-20 16:11:04