Blockbench模型 1.20 Fabric 长线教程计划
本篇教程的视频
本篇教程的源代码
忘记分支了,和下一期并一起了
本篇教程目标
- 为模组添加
Blockbench
制作的物品或者方块模型
Blockbench
那么从本期教程开始,我们之后的教程可能会用到使用Blockbench
制作的模型
在暑假期到来之前,我们将主要讲解方块状态
而后再将没有做的教程补上
那么这里就先简单介绍一下Blockbench
这个软件,这是一个轻量级的开源三维建模软件,主要用于Minecraft
相关的建模或者动画
它的上手是非常简单的,只要对体块进行缩放
、移动
、旋转
就可以完成一个模型的制作
当然,要精通那还得学很多东西,比如会绘制或者调节UV
,但足够用了
Blockbench
下载地址:下载
注意事项
在所有的Minecraft Java版
模组开发中,如果你不使用obj
模型,那么在新建模型选择模板时,
就必须选择Java版方块/物品
,不要选择基岩版的,否则导出模型时没有json
格式可选
注册物品和方块
导出模型
那么建模的过程我就不说了,实在不会就看看哔哩哔哩
上的教程
建好模型之后,可以在右上栏的显示模式中调整包括GUI
、第一人称
、第三人称
等不同角度下模型的显示
当然它也有预设,有武器
、木棍
、方块
的,你也可以根据你的实际情况来保存你自己的预设
这个显示模式得调整,不然在游戏中会很怪
调整好之后,导出贴图,再点文件
->导出
->导出为Java版方块/物品
,我们就得到了一个json
文件
注册
物品和方块的注册就不用多说了,我们已经注册了很多很多方块和物品了
物品的
1 | public static final Item BASEBALL_BAT = registerItems("baseball_bat", new Item(new Item.Settings())); |
这个就简单做了个棒球棍
方块的
1 | public static final Block ORANGE_NIGHTSTAND = register("orange_nightstand", |
这里我们还是实例化Block
,从后面的教程开始我们就要自定义方块类了
不过在方块设置中,我们还加上了nonOpaque
这个方法,这个指定方块是非实心的
这个方块并不是一个完整的方块,但我们直接实例化Block
类,没有调整它的碰撞箱
数据生成
语言文件
1 | translationBuilder.add(ModItems.BASEBALL_BAT, "Baseball Bat"); |
模型文件
这里我们只要一个简单的方块状态文件即可,模型文件的话就用的是Blockbench
导出的
1 | blockStateModelGenerator.registerSimpleState(ModBlocks.ORANGE_NIGHTSTAND); |
方块模型文件,这里我附上我自己做的
1 | { |
物品模型同样如此,也用Blockbench
导出的即可
1 | { |
贴图文件
贴图文件放到对应的位置即可
测试
跑好数据生成之后,我们就可以启动游戏进行测试了