跳转到内容

绘制与材质

本文介绍三项内容。

  • 绘制:直接在 3D 上绘制自定义方块 · 道具模型的纹理。支持图层 · 选择 · 对称。
  • 用纹理创建自定义方块:用纹理或自己的 PNG 创建新方块 np:<id>,并同时创建台阶 · 楼梯等变体方块。
  • 材质(LabPBR):为自定义方块纹理添加光滑度 · 金属 · 自发光 · 法线等材质值。面向使用着色器的用户。
想做的事打开位置
绘制模型在内容浏览器中右键单击自定义方块 · 道具 › 「绘制」
绘制标签页 ↔ 世界标签页Ctrl+Tab(工具 › 切换绘制标签页 / 世界标签页)
绘制模式主工具栏模式行中的「绘制」
纹理列表窗口 › 纹理(下方区域面板)
用纹理创建自定义方块在「纹理」面板中选择纹理,然后点击「创建自定义方块」
材质(LabPBR)自定义方块窗口中的「材质…」,或控制台 texblock material <id>

在资产编辑器的「绘制」标签页中点击「在主窗口的绘制标签页中打开」,也会打开同一个绘制标签页。

  1. 在内容浏览器中右键单击自定义方块或道具,选择「绘制」。
  2. 中间区域切换为「绘制」标签页。左侧为 3D 模型,中间为 2D 纹理,右侧为工具面板。
  3. 按 B(笔刷)并选择颜色。
  4. 在 3D 视图中于模型上拖动。2D 窗口中也会同步绘制。
  5. 用 Ctrl+S 保存图层。世界也会一同保存。
  6. 用 Ctrl+Tab 回到世界标签页。

绘制结果每 0.25 秒(以及回到世界标签页时)反映到世界中已放置的方块 · 道具和已打开的 UV 窗口。不会修改原始模型文件。

  1. 通过 窗口 › 纹理 打开「纹理」面板。
  2. 选择纹理并点击「创建自定义方块」。会弹出「用纹理创建自定义方块」窗口。
  3. 将面方式选为「顶·侧·底」或「6 面分别」。
  4. 为每个面用「所选」(在纹理面板中选择的纹理)或「PNG…」放入图像。「应用到所有面」会把所选纹理放到全部 6 个面。
  5. 设置「名称」 · 「id」 · 「光源」 · 「碰撞」。
  6. 需要变体时,开启「同时创建变体」并选择形状。
  7. 点击「创建」。方块会进入项目注册表。

之后同一窗口会变为「修改 (np:)」。修改时,变体也会一同修改为新版本。

工具键作用
铅笔P以像素为单位绘制。
笔刷B带硬度 · 不透明度的圆形笔刷。
橡皮擦E擦除当前图层。
填充G按「方式」一次性填充。
吸管I拾取已绘制的颜色(在 3D 视图中 Alt+左键单击效果相同)。
矩形选择 · 套索M · L在 2D 窗口中选择要绘制的区域。在 3D 视图中单击会选中该面的 UV 岛。
移动V移动所选区域。方向键 1 格,Shift 8 格,按住 Alt 则复制。

选择时 Shift = 添加,Alt = 减去,Shift+Alt = 仅交集。

「填充」方式有三种。

方式填充范围
整个 UV 岛被点击的整个 UV 岛
相连同色 (岛内)岛内相连的同色区域
整张纹理同色整张纹理中的同色区域
  • 在「图层」栏中进行添加 · 复制 · 删除 · 上移 · 下移 · 向下合并 · 拼合全部,并设置每个图层的显示与不透明度。
  • 在「纹理」栏中选择要绘制的纹理并更改大小。「拉伸」会放大或缩小图像,保持 3D 外形。「仅画布」以左上为基准扩展或裁剪。
  • 「保存图层」会以新版本保存到 assets/<id>/layers/。「导出 PNG」将合并后的图像写入新文件 _vN。

纹理在多处被修改时,优先级为 绘制图层 > 注册表纹理替换 > 原件。

PNG 宽度为 16 · 32 · 64px。正方形为单张图像,纵向长条为动画。

  • 原版纹理面不保存图像,只用 id 引用。
  • 自定义纹理和自己的 PNG 保存在项目中。

放入纵向长条 PNG 后会出现动画行。PNG 旁有 .png.mcmeta 时,数值会自动填入。

栏说明
每帧刻数一帧的时间。20 刻 = 1 秒。
插值在帧之间平滑混合。
顺序播放顺序。留空则按顺序播放。例:0 1 2:5 3 — 编号:刻 表示仅该格使用不同时间。
逐格时间在顺序下方的格中直接修改每帧时间。

如果在顺序中填入超过帧数的编号,「创建」会被禁用,状态栏中会显示原因。

开启「同时创建变体」后,会用相同纹理一同注册所选形状。

形状id默认
台阶<id>_slab开
楼梯<id>_stairs开
墙<id>_wall开
栅栏<id>_fence关
栅栏门<id>_fence_gate关
门<id>_door关

可以用预览下方的形状列表先查看变体的外观。不会影响注册表。点击变体形状栏,预览也会切换为该形状。

材质是为使用着色器(Iris · OptiFine)的用户准备的附加值。基础资源包图像保持不变,材质另存为纹理旁的 _n · _s 图像。不使用着色器玩游戏也没有影响。

  1. 在自定义方块窗口中点击「材质…」。会弹出「纹理方块材质 (LabPBR)」窗口。
  2. 在「纹理槽」中选择要应用材质的面图像。
  3. 选择「预设」(石头 · 木材 · 金属 (铁) · 金属 (金) · 金属 (铜) · 玻璃 · 布料 · 荧石 · 树叶 · 基础 (无材质))。
  4. 用「数值」滑条调整。
  5. 点击「自动生成」,会根据亮度估算高度 · 法线 · 发光候选 · 光滑度 · 缝隙 AO。
  6. 只在需要的地方用「通道绘制」修整。
  7. 在右侧球体预览中改变「太阳方向」 · 「太阳高度」进行确认。
  8. 点击「保存材质」。会保存为新版本,不会覆盖。

开启「变体使用相同材质」后(默认开启),也会保存到台阶 · 楼梯 · 墙变体的相同槽中。

值说明
光滑度表面有多光亮。
F0 (非金属反射)非金属的基础反射率。
金属 · 金属类型金属程度与种类(铁 · 金 · 铝 · 铬 · 铜 · 铅 · 铂 · 银 · 基础色金属)。
自发光自身发光的程度。
孔隙度被雨淋湿的程度。
SSS (次表面散射)像树叶 · 布料那样光渗入内部的程度。
AO缝隙中的阴影。
高度 (均匀) · POM 深度表面凹凸高度与视差深度。
法线强度 · 法线模糊 · 翻转法线 Y法线图的强度和形态。
边缘衔接像方块一样将边缘连续计算。
暗处为高 · 发光阈值「自动生成」的高度方向,以及视为发光的亮度阈值。
无着色器以无材质状态绘制预览进行对比。

在通道绘制中,只将颜色的亮度(灰度)用作数值。越亮数值越大。橡皮擦会恢复为均匀值。

以下为绘制面板的选项。

选项范围说明
大小1 ~ 32px笔刷大小。
硬度0 ~ 100%笔刷边缘的硬度。
不透明度1 ~ 100%每次绘制的覆盖程度。
对称 › 轴—以模型为基准对称绘制。
防止溢出面外开/关防止颜料溢出到面外。
球形笔刷 (O)开/关在 3D 中绘制命中点周围 3D 距离内的区域。跨越 UV 边界 · 面边缘连续。
容差—填充时视为同色的差值。
基于合并图像开/关填充 · 吸管基于合并后的图像。关闭则只看当前图层。
像素画开/关不经过滤绘制并显示网格。

以下为自定义方块窗口的属性。

选项范围说明
名称文本在内容浏览器中显示的名称。
id小写字母 · 数字 · _接在 np: 后的 id。
光源0 ~ 15方块发出的光。0 = 无光。
碰撞开/关开启后整格阻挡(门只有下格)。

绘制标签页可见时,世界工具的按键被屏蔽,以下按键生效。

键效果
Ctrl+Tab绘制标签页 ↔ 世界标签页
P · B · E · G · I铅笔 · 笔刷 · 橡皮擦 · 填充 · 吸管
M · L · V矩形选择 · 套索 · 移动
O开启/关闭球形笔刷
[ · ]笔刷大小 −1 · +1
Ctrl+A · Ctrl+D · Ctrl+Shift+I全选 · 取消选择 · 反选
Delete删除选区内容
Esc取消选择
Ctrl+Z · Ctrl+Y绘制的撤销 · 重做(与世界历史分开)
Ctrl+S保存图层(及材质)+ 保存世界
F · 数字小键盘 1 · 3 · 7适配模型 · 正面 · 侧面 · 顶面
3D 视图:左键 · Alt+左键 · 右键拖动 · 中键拖动 · 滚轮绘制 · 吸管 · 旋转 · 平移 · 缩放

以下为控制台命令。

命令作用
texblock list用纹理创建的方块列表
texblock new [纹理 id]新打开自定义方块窗口
texblock edit <id>打开修改该方块的窗口
texblock material <id>打开该方块的材质窗口
texblock preview <形状>更改预览形状(cube · slab · stairs · wall · fence · fence_gate · door)
texfind <搜索词>查找纹理(名称 · 使用的方块)
texuse <纹理 id> [pick]使用该纹理的方块列表。pick = 将代表方块设为笔刷
  • 绘制 · 材质 · 生物群系绘制与世界各有独立的撤销历史。
  • 在 UV 编辑器中修改 UV 后,已绘制的图像会随面移动。
  • 原版纹理只在画面上读取。不会复制到项目文件夹,也不会为原版面创建材质。
  • 只要有一个变体 id 已存在,就不会创建任何东西,并在错误中显示名称。
  • 变体形状只有一种(物品栏形状)。没有楼梯拐角 · 墙和栅栏的相邻连接 · 门的开关。
  • 门是两格高的模型。放置时请空出上方一格。
  • 自定义方块文件保存在 <项目>/assets/blocks/<id>/ 中。
  • 在「纹理」面板中双击纹理,会将使用该纹理的方块选为笔刷。