
着色器实践篇:简单2D场景的搭建
Minecraft 的众多地图都是以原生的3D视角控制的,也有一些固定角度第三人称视角的地图,但很少有地图是以纯2D视角进行设计和游玩的。 本文档将介绍如何使用 Minecraft 的资源包和数据包功能,结合一些通用的原子操作,来实现一个简单的2D场景。

本期编辑:CR_019

Minecraft 的众多地图都是以原生的3D视角控制的,也有一些固定角度第三人称视角的地图,但很少有地图是以纯2D视角进行设计和游玩的。 本文档将介绍如何使用 Minecraft 的资源包和数据包功能,结合一些通用的原子操作,来实现一个简单的2D场景。

这是一篇篇幅相对较短的教程,属于着色器实践篇的一部分,主要通过还原25w14craftime的代码雨为实例,介绍以下技巧与技术: 通过纹理标记模型(面),即在颜色通道中存储更多数据的思想;从屏幕坐标采样的使用;计算从子图坐标到精灵图坐标的映射关系,从而访问且仅访问面上的整张纹理;程序化绘制代码雨效果。

本月Mojang共发布了四个快照,分别是26.1的snapshot 4-7。目前,数据包版本来到了99.1,资源包版本来到了81.0。方块现在支持半透明渲染,以及对配方进行了一些格式更改。本月更新实用性较小,破坏性中等,总体属于大杯下水平。

PBR 的全称是 Physically Based Rendering,即基于物理的渲染。它是一种通过模拟光与物体表面交互的物理过程来实现更真实视觉效果的渲染方法。应读者询问,本文介绍PBR的相关内容并简要讲解在着色器上的实现。必须说明的是,PBR 的相关知识与Minecraft关系不大,大部分是通用且可能略显枯燥的计算机图形学内容,读者可根据兴趣选择阅读。

上一期我们讲解了如何用复合模型映射和字体拼接象棋的棋盘,本期我们讲解一下其后端是如何运作的,包括如何读取玩家的输入,解析玩家操作,修改存储和同步模型显示。

检测生物攻击是一个常见的需求。TSB通过在触发entity_hurt_player进度触发器的时刻获取到玩家附近刚刚对其造成伤害的这个生物,从而达到其重做原版攻击伤害机制的目的。

本文旨在探讨如何在 Minecraft 数据包(Datapack)环境中构建一个完整的 Brain*uck解释器。通过引入“跳转表(Jump Table)”预处理机制、异步执行队列以及 8-bit 模拟内存管理,成功在 mcfunction 中实现了图灵完备语言的运行,解决了递归过深以及命令执行上限等原版开发痛点,同时研究了更多的编译优化策略。

该前置模仿Java,提供了对数组(此处称为流)中的对象进行处理的一些常用方法,以及批处理的途径(不提供mapper方法)。此文档中大部分内容都可以在项目注释中找到。