我目前正在做一个练习,我想为此创建一个技术设计文档。
因此,我需要评估我虚构项目中出现的一系列问题的可能解决方案。
下面快速浏览一下这个练习:
游戏的美术和核心游戏设计被非常严格地分开——基本上,核心系统、游戏机制和设计被创造得非常抽象,以便让它们能够与各种各样的美术设置一起工作。此外,限制之一是尽可能多地重复使用资产、关卡和设计。
现在我的问题:
我希望关卡设计师使用“模板”对象(具有所需的所有技术特征的对象,即附件插槽、正确比例、纹理等)创建关卡,然后用我从外包商那里收到的一组资产替换这些对象.
因为我不想在获得一组新资产时手动替换所有对象,所以这就是我想要做的:
每个模板对象都有一个描述性标签,并且外包商交付的每个资产也需要具有与其存储在其中的相应模板对应物完全相同的标签名称(例如,作为自定义属性、通道或只是在其名称中) )。
我现在想使用脚本将所有模板替换为相关资产。
这将对每组资产进行。我还会保留我的引擎的多个部署,每组一个,但最初,它们都会从需要替换的模板开始(因为每个设置都需要进行一些修改,无论是视觉上还是游戏中从设计的角度来看,将所有资产保存在一个主干/项目中对我来说没有任何意义)。
为了使这更容易,我将使用某种“数据库”(可能是引擎脚本可以查询的简单字典,并且在交付新资产时会由另一个脚本预先填写?)。
我的问题是:这可能吗?如果是,从程序员的角度来看,这有多困难?我在这个领域的知识有限,所以我很想听听各位小伙子和女士们对此的看法。
另外(非常重要)-您知道实现资产“可替换性”的更好方法吗?或者只是有一种更简单的方法来实现我想做的事情?我很感激任何反馈!谢谢!
快速编辑:这不仅适用于 3d 对象;显然,纹理也需要更换