# 保留内置 Uniform(Built-in Uniforms)
本页列出引擎为 Custom Surface Shader 保留的 Minecraft* Uniform。CSS 不能直接按保留名称读取这些值;使用某个值前,必须声明一个带 BuiltIn 绑定的 Property,并通过该 Property 的名称读取。
# 声明语法
Properties
{
[Vector, BuiltIn: "MinecraftSunDirection"] SunDirection
[Float, BuiltIn: "MinecraftTimeOfDay"] TimeOfDay
}
引擎仅负责填充已声明的内置值。数据按以下类型上传:
- 标量使用 float,即使它表示整数、枚举或位域;
- 位置、方向和颜色使用 vec4,通常读取 xyz 或 rgb,w 未使用。
# Upgradeable: Yes
Upgradeable: Yes 表示后续 Custom Surface Shading 与游戏版本承诺继续支持该值,依赖该值的材质具备规格所述的升级兼容保证。
| BuiltIn 绑定名 | 数据类型 | 有效分量 | 说明 |
|---|---|---|---|
| MinecraftTimeOfDay | float | — | 归一化的一天时间,从正午开始 |
| MinecraftElapsedFrameTime | float | — | 当前帧经过的时间,单位为秒 |
| MinecraftCameraFacingDirection | vec4 | xyz | 当前相机朝向 |
| MinecraftCameraPosition | vec4 | xyz | 当前相机世界位置 |
| MinecraftLastCameraFacingDirection | vec4 | xyz | 上一帧相机朝向 |
| MinecraftLastCameraPosition | vec4 | xyz | 上一帧相机世界位置 |
# Upgradeable: No
Upgradeable: No 表示规格不保证后续版本继续支持该值;该值可能变化或移除,依赖它的材质可能失效。此标记不表示该值在 r21u12 中已经弃用。开发者升级项目版本时,如果项目使用了本节中的 Uniform,应对照目标版本文档确认其名称、类型和语义,并在必要时修改实现。
| BuiltIn 绑定名 | 数据类型 | 有效分量 | 说明 |
|---|---|---|---|
| MinecraftBiomeID | float | — | 相机所在生物群系的数字 ID |
| MinecraftCloudHeight | float | — | 云层的世界空间高度 |
| MinecraftDay | float | — | 自创建世界以来的游戏内天数 |
| MinecraftDimensionID | float | — | 当前维度枚举 |
| MinecraftLocalClientID | float | — | 分屏多人游戏中的本地玩家 ID |
| MinecraftMoonIntensity | float | — | 月光照度,单位 lux |
| MinecraftMoonPhase | float | — | 月相枚举 0..7 |
| MinecraftRenderDistance | float | — | 当前渲染距离 |
| MinecraftSunIntensity | float | — | 阳光照度,单位 lux |
| MinecraftWeatherID | float | — | 当前天气位域;0 表示晴天 |
| MinecraftSunDirection | vec4 | xyz | 指向太阳的方向;只在主世界设置 |
| MinecraftCloudColor | vec4 | rgb | 当前云颜色 |
| MinecraftFogColor | vec4 | rgb | 当前雾颜色 |
| MinecraftMoonColor | vec4 | rgb | 当前月亮颜色 |
| MinecraftSunColor | vec4 | rgb | 当前太阳颜色 |
# 枚举取值
# MinecraftDimensionID
| 值 | 维度 |
|---|---|
| 0 | 主世界(Overworld) |
| 1 | 下界(Nether) |
| 2 | 末地(The End) |
# MinecraftWeatherID
天气使用位域,可以同时包含多个标志。
| 位值 | 天气 |
|---|---|
| 1 << 0 | 雨(Rain) |
| 1 << 1 | 雪(Snow) |
| 1 << 2 | 浮游生物(Plankton) |
| 1 << 3 | 红色孢子(Red Spores) |
| 1 << 4 | 蓝色孢子(Blue Spores) |
| 1 << 5 | 灰烬(Ash) |
| 1 << 6 | 白色灰烬(White Ash) |
# MinecraftMoonPhase
| 值 | 月相 |
|---|---|
| 0 | 满月(Full) |
| 1 | 亏凸月(Waning Gibbous) |
| 2 | 上弦月(First Quarter) |
| 3 | 残月(Waning Crescent) |
| 4 | 新月(New) |
| 5 | 娥眉月(Waxing Crescent) |
| 6 | 下弦月(Last Quarter) |
| 7 | 盈凸月(Waxing Gibbous) |
维度、天气和月相可使用内置函数中的辅助函数解码。相关辅助函数与对应 Upgradeable: No 属性具有相同的跨版本兼容风险。
← 属性(Properties) 内置函数(Built-in Functions) →
网易大神
扫码下载网易大神