Cat_Anchor 发表于 2023-1-13 08:08:01

附加包教程:12.模型

本帖最后由 Cat_Anchor 于 2023-1-13 08:11 编辑




前言



上期,我们学习了所有方块组件。由于上期留下了一些疑问,我打算先解决这些疑问,再继续讲方块。今天我们来学习上次开头频繁提到的一个词——模型。



https://klpbbs.com/static/image/hrline/line5.png


模型结构



打开资源包根目录,打开models文件夹,打开blocks文件夹。这里用于存放方块模型。退到models文件夹下,打开entity文件夹,这里用于存放实体模型。然而,这都不是固定的,你想把方块模型放实体文件夹里,把实体模型放方块文件夹里,也没什么不行。总之,怎么开心怎么来。还要明确的是,模型文件一般不是手写出来的,而是程序生成的。模型文件的后缀是.json,与其他文件一样。
下面,我放一段上次的教程,帮助回忆和理解。

"minecraft:geometry": "geometry.custom_block" //这里的geometry.custom_block就是模型ID,以后会说到

现在我们就来说说这个模型ID是什么。
随便打开一个别人做的模型文件,你就明白了。这里我放一个我做的在下面。

{
        "format_version": "1.12.0", //代码格式版本
        "minecraft:geometry": [ //这个数组里存储了若干个模型
                { //一个模型
                        "description": {
                                "identifier": "geometry.test_block", //这里的geometry.test_block就是模型ID,不能与其他模型ID重复,必须以geometry.开头。
                                "texture_width": 16, //纹理宽度
                                "texture_height": 16, //纹理高度
                                "visible_bounds_width": 2,
                                "visible_bounds_height": 1.5,
                                "visible_bounds_offset":
                        },
                        "bones": [ //这个数组里有若干个立方体组
                                {
                                        "name": "bb_main", //模型名字
                                        "pivot": , //枢轴点,用于旋转时的中心点
                                        "cubes": [ //这个数组里有若干个立方体
                                                { //一个立方体
                                                        "origin": [-6.83283, -1.41096, -1], //立方体的起始点
                                                        "size": , //立方体的大小
                                                        "pivot": [-5, 2, 1], //立方体的枢轴点(也就是旋转的中心)
                                                        "rotation": [-34.34782, 11.23074, 2.64456], //立方体的旋转角度
                                                        "uv": { //立方体的纹理uv占用
                                                                "north": {"uv": , /*这个数组表示占用纹理的起始点*/ "uv_size": /*这个数组表示占用纹理的大小*/ }, //下同。
                                                                "east": {"uv": , "uv_size": },
                                                                "south": {"uv": , "uv_size": },
                                                                "west": {"uv": , "uv_size": },
                                                                "up": {"uv": , "uv_size": [-2, -2]},
                                                                "down": {"uv": , "uv_size": [-2, -2]}
                                                        }
                                                }
                                        ]
                                }
                        ]
                }
        ]
}


用这个程序可以生成一个模型文件和动画文件(建议电脑打开,手机也可以)。



https://klpbbs.com/static/image/hrline/line1.png


总结



这一期,我们简单地学完了模型。下一期,我们简单讲讲战利品表。





第十一期 第十二期 第十三期
页: [1]
查看完整版本: 附加包教程:12.模型