基岩版建模指南
本指南将介绍为Minecraft基岩版建模时的实用技巧和关键知识。
纹理显示异常
某些(较小)面上的纹理可能出现显示异常或不可见的情况。这是因为立方体尺寸在UV贴图计算时会被向下取整。任何小于1单位的尺寸都会导致UV贴图宽度归零,从而产生显示问题。解决方法有两种:
- 确保所有立方体在每个维度上至少有1单位长度
- 若必须使用更小尺寸,可以:
- 将元素尺寸在每个方向增加1单位
- 然后使用Inflate滑块缩小1单位 注意:第二种方法可能导致像素错位,产生混合像素(mixels)
顶点吸附工具
顶点吸附是Blockbench中每个建模者都应掌握的实用工具,特别适合制作轮子等圆形物体。该工具位于移动和缩放工具旁,包含两种模式:
- 移动模式
- 缩放模式
操作效果如下图所示: 
透明材质处理
使用半透明材质(如彩色玻璃)时,必须将这些元素移至元素列表底部,否则游戏内将无法正确渲染这些半透明元素后方的物体。
纹理绘制技巧
学习纹理绘制时,最佳方法是参考他人对类似物体的处理方式。不同材质(如木材与金属)需要采用不同的纹理模式。推荐参考:
- Masteriano的纹理绘制技巧
- 各类像素艺术教程
材质类型说明
模型中的透明或发光效果能否正常显示取决于所使用的材质类型:
| 材质类型 | 特性说明 |
|---|---|
| entity | 基础不透明材质 |
| entity_alphatest | 支持透明像素 |
| entity_alphablend | 支持半透明像素 |
| entity_emissive | 实体材质,alpha通道用作发光通道 |
| entity_emissive_alpha | alpha通道控制发光强度,纯黑+透明像素将呈现透明效果 |
Z轴冲突问题
当两个元素的面完全重合时会出现Z轴冲突(Z-fighting),表现为两个面交替闪烁或部分显示(如下图所示):
解决方法:对需要优先显示的元素使用0.01或-0.01的Inflate微调。
动画基础
在Blockbench中制作动画时,可以手动设置关键帧或使用变量与函数。以下是基础示例(如图): 
动画命名规则:
- 必须使用
animation.前缀(如animation.cuack) - 不能包含特殊符号或大写字母
基础函数结构: 基准值 + Math.sin((q.life_time + 偏移量) * 速度) * 幅度
参数说明:
- 基准值:骨骼的初始旋转/位置
- q.life_time:随时间递增的变量
- 偏移量:调整动画起始相位
- 速度:完成完整周期所需时间
- 幅度:偏离原点的距离
应用示例(效果如下图):
函数: Math.sin((q.life_time+0.5)*150)*15 可同时应用于位移和旋转。
完美循环动画的要点: 必须使正弦函数的速度参数与动画时长相匹配。参考数值组合:
| 速度 | 时长 | 组别 |
|---|---|---|
| 150 | 2.4 | 1 |
| 100 | 3.6 | 2 |
注意:
- 只能使用倍数关系(不可分割)
- 相同组别的动画才能无缝同步
:::小技巧 通过此设置启用循环动画:
:::
通过灵活运用这些函数,可以实现生物行走、奔跑和攻击等动作。更多Molang查询与函数请参考官方文档。
动画速度调整
通过修改anim_time_update的默认值(原为q.delta_time + q.anim_time)可轻松调整动画速度:
"animation.myentity.myanimation": {
"anim_time_update":"2 * q.delta_time + q.anim_time"
//在此处添加动画内容
}示例说明:
- 数值2表示2倍速播放
- 使用0.5可实现0.5倍慢速播放
- 支持任意浮点数调整


