我假设您是指专门为内部使用而使用的专有代码生成器,因为否则任何缺少机器代码的东西都是代码生成器。但是,您可以在这里:
我认为,与它生成的GLSL / HLSL代码(否则需要手写)相比,Blueprints中的节点图更易于维护并且更不容易出错,这是非常有争议的。
提出新的着色器的效率也更高,因为您可以实时视觉反馈更改图形时最终结果的外观。我绝对更希望以这种方式维护成千上万个用节点图表示的着色器,而不是GLSL / HLSL代码,而且我实际上比使用Blueprints更熟悉编写GLSL / HLSL。我认为,除了可能会立即捕捉到的轻微视觉故障外,实际上几乎不可能引起重大错误,因为“视觉语言”通常会以纯粹的功能样式强加合理的约束,例如,使着色器崩溃,至少是AFAIK(我当然不是蓝图专家)。
甚至没有“代码”可以维护了。您只需将节点放置在图形中并在它们之间绘制链接,瞧,它将为您生成着色器代码。谁维护着这些东西,然后说:“ 您知道,如果这是用GLSL代码而不是使用Blueprints编写的,那么我的生活会变得更加轻松,我将有更多的空闲时间。 ”可能永远不会。
就是说,我遇到了很多专有代码生成器,它们确实使生活变得更加艰难,使我学习了这种愚蠢的元语言,与使用生成的代码语言编写代码相比,它的好处是非常有限的(如果有的话)。对我来说,代码生成的一个迹象表明,它只是减少了少量样板,实际上并没有减少错误的可能性。您知道,如果它实际上引入了导致原始语言所没有的bug的新方法,那将尤其令人讨厌。但是,在某些情况下,例如上面的代码生成,生产率的提高是如此之大,以致于花费大量时间来处理细微的事情现在要花几分钱,甚至没人会回头再回头。
对我而言,对于Epic团队中的Blueprints专有开发而言,有一种比在世上为大众提供的许多多余的编程语言更合理的论点。