Skip to content

原版开发新人如何突破技术瓶颈

by 轩宇1725

(注:这里说的瓶颈特指技术上的)

在mc原版社区的创作中,很多初学者会遇到技术上的瓶颈。这很大程度上是因为自己被mc自身的特性和风格所限制,从而对自己能够掌握的原版技术手段期望过低(相对的,还有对“大佬们”的作品期望过高,做出什么都不意外)。要突破这些瓶颈,关键在于“跳脱Minecraft本身”的思维。

初学者在接触原版技术时,通常会从Minecraft的具体特性开始学习,如NBT结构、execute子命令、原版着色器管线等。然而,学习这些基础知识后,初学者可能会感到迷茫,不知道做什么,也不知道学什么,自己手上掌握的技术也并不能创作出自己很满意的作品。

但若是往这些内容的方向深究下去,不可避免的会开始接触跳脱mc这个具体领域之外的,关于数据结构、流程控制、实时渲染的知识和技术。掌握了这些更深层次、更具通用性的技术,往往可以对创作带来十分显著的推动作用。

以着色器为例,初学者重点学习的是原版渲染管线。虽然现有的教程,如Alumopper的以及国外的各种教程都围绕这一主题展开。但它们只是帮助你理解mc原版的渲染管线的组织方式和编写方法。要进一步提升,新人需要自学实时渲染技术,包括噪声图生成、光照模型建立等。而各种教程的工作往往是向你介绍mc独有的特性(如渲染次序、顶点id和元素深度),或者说由mc特性而产生的一系列技巧(如跨帧传递、保留后处理和获得光照方向)。

在mcfunction的编写上,新人重点学习的是命令的功能和语法以及函数的特性(这里可以参考大佬萌茶创小业的教程),更进阶的教程会帮助你理解各种命令、子命令的逻辑和时序,以及实现常用功能。而新人应该有意识自己学习各种数据结构的实现、常用算法的应用,以及对数据包进行性能优化。

对于一个优秀的制作团队而言,重点不应仅仅在于熟练掌握Minecraft的特定命令或资源包结构,而应该在于培养团队成员在各自领域内的核心素养。程序、美术、技术美术等角色都应该具备超越Minecraft的核心技术和创新能力。