教程/修改实体模型 您所在的位置:网站首页 AEobj模型怎么修改 教程/修改实体模型

教程/修改实体模型

2024-05-19 05:09| 来源: 网络整理| 查看: 265

Brush 该文章需要整理以符合格式指导。 讨论

请帮助优化文章格式来让它符合格式指导。

Information icon 此特性为基岩版独有。 目录 1 概括 1.1 所需时间 1.2 所需工具 2 入门 3 Minecraft模型格式 3.1 1.13之前的版本 3.2 1.13及之后版本 3.3 JSON语言解释 3.3.1 骨骼动画 3.4 重要注意事项 4 修改苦力怕 4.1 1.13之前的版本 4.2 结果 4.3 修改其他生物 4.4 1.13及以后版本 4.5 结果 4.6 修改其他生物 5 总结

本教程是对官方支持的附加包来修改的。

概括[]

本教程是对于高级用户编写的!普通用户可使用Blockbench等易于使用的可视化模型制作软件。请你熟悉JSON的数据格式。如果你并不熟悉的话,请阅读行为附加包教程的JSON部分。在本教程中,我们将涉及:

Minecraft的JSON模型格式 如何去修改模型 所需时间[]

30 分钟

所需工具[]

一个文本编辑器

任何的文本编辑器应该都是可以的,但是我们建议你使用用于编程的IDE软件。如果你想有效管理多个文件,建议使用Visual Studio Code。而在iOS上,用Textcode Viewer则是不错的选择,如果你的iOS设备已经越狱,也可以尝试使用iFile或者Filza。对于Android系统来讲,MT管理器将是一个不错的选择。

入门[]

在本教程中我们将使苦力怕有3个头。但是在修改苦力怕之前,我们来看看组成模型的代码。

Minecraft模型格式[] 1.13之前的版本[]

Minecraft的实体建模由JSON语言编程,模型由mobs.json这个.json文件决定。你可以在Vanilla Minecraft资源包找到它,路径为Vanilla Resource Pack/models/mobs.json。这些文件包含了所有Minecraft中实体的模型代码。模型代码们看起来是这个样子的:

实体模板的伪代码 "geometry.entityname": { "texturewidth": x, "textrueheight": y, "bones": [ { "name": "body part name", "pivot": [ x, y, z ], "cubes": [ { "origin": [ x, y, z ], "size": [ x, y, z ], "uv": [ x, y ] } ] } ] }

注: 这只是一个参考例子,不是一个可用的实体模型。使用它作为代码是没用的!

1.13及之后版本[]

Minecraft的模型仍然由JSON语言编写,不过从models/mobs.json的单一文件变为如图的文件结构。可以在Vanilla Resource Pack/models/entity中找到它们。生物模型被从mobs.json中分离为单一文件,命名方式为name(实体名称).geo.json,但仍有部分实体被留在了mobs.json中。

JSON语言解释[] geometry.entity 这个是要修改的实体的名称 texturewidth 宽度单位,1个像素 textureheight 长度单位,1个像素 bones 骨骼模型运动的动画,它包含了使几何体运转的信息。注:但这也有局限性,他只能使包含在源代码骨骼动画清单的骨骼部分运。 name 骨骼动画的名称 pivot 轴位置是实体肢体的旋转中心。例如:苦力怕的头是能绕着这一点旋转的方形构成。 rotation 旋转实体的部分在xyz轴上。注: 游戏可能会以动画覆盖包含动画的对象。 mirror 布尔值,可设置为true或false。如果填true,游戏会根据UV位置映射对应的肢体。 cubes 如果几何没有骨骼动画,写入此关键符并键入要映射的动画肢体名,即可赋予几何动画。 origin 几何体的位置和实体模型的起点位置有关。 注: 这个点在模型的左前下角。

例如: 这个苦力怕身体的红色顶点,就是这个身体的模型位置。

CMEMPicture 7 size 几何体的大小。注: 16x16x16是一个方块的大小!(中文补充:它和肢体大小确实有关,但是只是用来确认肢体纹理位置的,放大用inflate见下文) uv 这个是实体肢体纹理的起点。

注:这是规定x(横轴),y(纵轴)轴的第一个点 注:这个点应该是一个实体的某个肢体纹理的区域的左上角。 例如: 这个红点是你想做成苦力怕"body"(身体,因为是代码不译)的UV 做成点。 ("uv": [ 16, 16 ]). 身体将会使用被框起的部分作为纹理.

CMEMPicture 6 mirror 布尔值,可设置为true或false。如果填true,游戏会根据UV位置映射对应的部位。 inflate 使这部分肢体按数值增大或缩小(可为小数或负数),且使用的贴图的像素大小及位置不变。例如 "name": "hat", "parent": "head", "pivot": [ 0.0, 24.0, 0.0 ], "cubes": [ { "origin": [ -4.0, 24.0, -4.0 ], "size": [ 8, 8, 8 ], "uv": [ 32, 0 ], "inflate": 0.5 }

inflat对应的值为0.5,则方块在x y z三轴正负方向各伸长0.5格,即这个块的大小由8×8×8变为9×9×9。对应的值为负数同理,即缩小。

骨骼动画[]

骨骼是我们用来制作模型的。把它想象成一具骷髅!在人体中,骨骼是由肌肉运动的,而你的肌肉也随着肌肉运动。在3D动画中,骨骼是由动画移动的,而动画反过来又会移动附着在骨骼上的几何图形!

重要注意事项[]

模型还不是完全由数据驱动的。虽然可以更改模型的内容,但是仍然有一些硬编码的值,比如:一个实体需要哪些骨骼,一个实体用什么材料呈现,以及一个实体有什么动画。这意味着你不能只是复制和粘贴几何形状从村民到蜘蛛部分,并希望它工作!在这个系统变得更加数据驱动之前,你需要做一些实验来达到你想要的结果!

确保你的骨骼名称正确!实体的骨骼名称应该与Minecraft-vanilla资源包中的骨骼名称相同。模型的动画和渲染依赖于上述信息的正确性!

修改苦力怕[]

现在我们已经了解了Minecraft模型格式是如何设置的,让我们稍微修改一下creeper。我们要让他有3个正面,2个在底部,1个堆在顶部,像金字塔一样。

1.13之前的版本[] 首先,在Vanilla Minecraft的Vanilla包里 mobs.json找到geometry.creeper区复制下来。 Vanilla Resource Pack/models/mobs.json 在资源包中创建一个名为models的文件夹 创建一个名为mobs.json 的新json文件并将其保存到新模型文件夹中。 输入一对大括号({ })在你新建的 mobs.json 然后粘贴geometry.creeper 。 现在,让我们先把它原来的头向左移一点。为了做到这一点,我们要改变骨头命名的原点的x分量"head" 从 -4 到 -8. 现在将 "cubes" 复制到 "head"的方括号中。. 这时文本应该是灰色的。 mobs.json – geometry.creeper – head section { "name": "head", "pivot": [ 0.0, 18.0, 0.0 ], "cubes": [ { "origin": [ -8.0, 18.0, -4.0 ], "size": [ 8, 8, 8 ], "uv": [ 0, 0 ] } ] }, 在你复制的行后面加上一个逗号。 粘贴你在逗号后面复制的行 在刚刚粘贴的行后面加一个逗号 在新逗号后再次粘贴复制的行 你现在应该有3对大括号在 "cubes" 每个都有一个原点,大小和uv对象 在复制的第一行中,我们将把原点的x分量从-8改变为0,向右移动 在第二个副本中,将原点的x分量改为-4,y分量改为26 苦力怕的头部部分现在应该看起来像(新文本为灰色): mobs.json – geometry.creeper – head section { "name": "head", "pivot": [ 0.0, 18.0, 0.0 ], "cubes": [ { "origin": [ -8.0, 18.0, -4.0 ], "size": [ 8, 8, 8 ], "uv": [ 0, 0 ] }, { "origin": [ 0.0, 18.0, -4.0 ], "size": [ 8, 8, 8 ], "uv": [ 0, 0 ] }, { "origin": [ -4.0, 26.0, -4.0 ], "size": [ 8, 8, 8 ], "uv": [ 0, 0 ] } ] },

注意,我们不需要改变新头像的UV因为我们复制了旧头像的UV坐标我们没有给新头像添加不同的纹理。

结果[] CMEMPicture 10

三个头的 苦力怕

修改其他生物[]

如果要更改另一个实体的模型,请确保在右大括号后面加上逗号 geometry.creeper.

伪代码示例

别忘了逗号!(红色突出显示)

{ "geometry.creeper": { // model stuff }, "geometry.chicken": { // model stuff } } 1.13及以后版本[] 首先,在原版资源包里找到models/entity/creeper.geo.json,将其复制进你的资源包中的models/entity/ 打开creeper.geo.json,它看起来应该是这样的: creeper.geo.json { "format_version": "1.8.0", "geometry.creeper": { "visible_bounds_width": 1, "visible_bounds_height": 2, "visible_bounds_offset": [ 0, 0.75, 0 ], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "body", "cubes": [ { "origin": [ -4.0, 6.0, -2.0 ], "size": [ 8, 12, 4 ], "uv": [ 16, 16 ] } ] }, { "name": "head", "parent": "body", "pivot": [ 0.0, 18.0, 0.0 ], "cubes": [ { "origin": [ -4.0, 18.0, -4.0 ], "size": [ 8, 8, 8 ], "uv": [ 0, 0 ] } ] }, { "name": "leg0", "parent": "body", "pivot": [ -2.0, 6.0, 4.0 ], "cubes": [ { "origin": [ -4.0, 0.0, 2.0 ], "size": [ 4, 6, 4 ], "uv": [ 0, 16 ] } ] }, { "name": "leg1", "parent": "body", "pivot": [ 2.0, 6.0, 4.0 ], "cubes": [ { "origin": [ 0.0, 0.0, 2.0 ], "size": [ 4, 6, 4 ], "uv": [ 0, 16 ] } ] }, { "name": "leg2", "parent": "body", "pivot": [ -2.0, 6.0, -4.0 ], "cubes": [ { "origin": [ -4.0, 0.0, -6.0 ], "size": [ 4, 6, 4 ], "uv": [ 0, 16 ] } ] }, { "name": "leg3", "parent": "body", "pivot": [ 2.0, 6.0, -4.0 ], "cubes": [ { "origin": [ 0.0, 0.0, -6.0 ], "size": [ 4, 6, 4 ], "uv": [ 0, 16 ] } ] } ] }, "geometry.creeper.charged": { "visible_bounds_width": 1, "visible_bounds_height": 2, "visible_bounds_offset": [ 0, 0.75, 0 ], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "body", "cubes": [ { "origin": [ -4.0, 6.0, -2.0 ], "size": [ 8, 12, 4 ], "uv": [ 16, 16 ] } ], "inflate": 2.0 }, { "name": "head", "parent": "body", "pivot": [ 0.0, 18.0, 0.0 ], "cubes": [ { "origin": [ -4.0, 18.0, -4.0 ], "size": [ 8, 8, 8 ], "uv": [ 0, 0 ] } ], "inflate": 2.0 }, { "name": "leg0", "parent": "body", "pivot": [ -2.0, 6.0, 4.0 ], "cubes": [ { "origin": [ -4.0, 0.0, 2.0 ], "size": [ 4, 6, 4 ], "uv": [ 0, 16 ] } ], "inflate": 2.0 }, { "name": "leg1", "parent": "body", "pivot": [ 2.0, 6.0, 4.0 ], "cubes": [ { "origin": [ 0.0, 0.0, 2.0 ], "size": [ 4, 6, 4 ], "uv": [ 0, 16 ] } ], "inflate": 2.0 }, { "name": "leg2", "parent": "body", "pivot": [ -2.0, 6.0, -4.0 ], "cubes": [ { "origin": [ -4.0, 0.0, -6.0 ], "size": [ 4, 6, 4 ], "uv": [ 0, 16 ] } ], "inflate": 2.0 }, { "name": "leg3", "parent": "body", "pivot": [ 2.0, 6.0, -4.0 ], "cubes": [ { "origin": [ 0.0, 0.0, -6.0 ], "size": [ 4, 6, 4 ], "uv": [ 0, 16 ] } ], "inflate": 2.0 } ] } } 现在,让我们先把它原来的头向左移一点。为了做到这一点,我们要改变骨头命名的原点的x分量"head." 从 -4 到 -8。 现在将 "cubes" 复制到 "head."的方括号中。这时文本应该是灰色的。 creeper.geo.json – geometry.creeper – head section { "name": "head", "pivot": [ 0.0, 18.0, 0.0 ], "cubes": [ { "origin": [ -8.0, 18.0, -4.0 ], "size": [ 8, 8, 8 ], "uv": [ 0, 0 ] } ] }, 在你复制的行后面加上一个逗号 粘贴你在逗号后面复制的行 在刚刚粘贴的行后面加一个逗号 在新逗号后再次粘贴复制的行 你现在应该有3对大括号在 "cubes." 每个都有一个原点,大小和uv对象 在复制的第一行中,我们将把原点的x分量从-8改变为0,向右移动 在第二个副本中,将原点的x分量改为-4,y分量改为26 苦力怕的头部部分现在应该看起来像(新文本为灰色): creeper.geo.json – geometry.creeper – head section { "name": "head", "pivot": [ 0.0, 18.0, 0.0 ], "cubes": [ { "origin": [ -8.0, 18.0, -4.0 ], "size": [ 8, 8, 8 ], "uv": [ 0, 0 ] }, { "origin": [ 0.0, 18.0, -4.0 ], "size": [ 8, 8, 8 ], "uv": [ 0, 0 ] }, { "origin": [ -4.0, 26.0, -4.0 ], "size": [ 8, 8, 8 ], "uv": [ 0, 0 ] } ] },

注意,我们不需要改变新头颅的UV,因为我们复制了,即用了旧头颅的UV。

结果[] CMEMPicture 10

三个头的 苦力怕

修改其他生物[] 回到你新建的models/entity文件夹中。 新建一个名字叫生物的英文.geo.json并重复以上操作。如cow.geo.json 总结[]

恭喜你!

如果你已经做到了这一点,那么现在你应该已经知道了制作你自己的实体模型所需要知道的一切!

基岩版 版本 已合并 智能手机 携带版 Windows 10 Windows 10版 移植到主机 Xbox One Xbox One版 Nintendo Switch Nintendo Switch版 PlayStation 4 PlayStation 4版 已终止 Apple TV Apple TV版 Gear VR Gear VR版 Fire TV Fire TV版 开发 版本记录 Alpha 正式版 开发版本 已移除特性 方块 配方 未使用特性 独有特性 提及特性 Super Duper图形包 计划版本 Minecraft Preview 技术性 已知漏洞 RenderDragon 数据值 实体组件 硬件性能 世界格式 附加包 Molang 方块实体 命名空间ID com.mojang 命令 函数 开发者命令 坐标 材料 种子 服务器 sound_definitions.json options.txt 刻 常加载区域 世界加载屏幕 族 定义 基岩版编辑器 多人游戏 服务器 Realms Plus 服务器列表 server.properties 特色功能 实验性玩法 加载提示 种子模板 角色创建器 表情 市场 精选服务器 活动服务器 VR 查 论 编教程(作下划线标记的教程为中文独有教程) Minecraft logo 2 新手教程 菜单屏幕 游戏术语 下载、安装与购买 新手生存 新手指南 第一天 第二天 第三天 提示与技巧 饥饿管理 不该做的事 生存注意事项 庇护所 庇护所 沙漠 最佳居住生物群系 最佳建筑材料 建筑与结构 房屋类型 导航 综合 无聊的时候做什么 村庄生存 跑酷 空置域 伪和平 节省时间的小窍门 在水下利用TNT破坏方块 成就指南 进度指南 拓殖 战斗 完成冒险 创建一个村庄 双持 沙漠生存 下界生存 从零开始下界生存 末地生存 探索洞穴 家具 在和平难度中收集资源 利用碰撞箱 马 测量单位 使用地图 测量距离和角度 采矿技术 钻石 化石 远古残骸 下界快速旅行 下界传送门 支柱跳跃 PvP Java版1.9前、基岩版 基地 穿越和破坏基岩 村庄机制 治愈僵尸村民 考古 Minecraft和教育 不可破坏的末地水晶 使用更少的末地水晶重生末影龙 透视镜 挂机池 光速船[仅基岩版] 无材料消耗转换药水类型[仅基岩版] 汇报漏洞 在超平坦地图中管理史莱姆 建筑 给工程添加美感 空气闸 建筑术语 建造游轮 建造大都市 建造过山车 建造安全的家园 建造水建筑 建造几何体 防御 电梯 带釉陶瓦的图案 建造更好的地板 像素艺术 牧场 屋顶类型 弧形屋顶 屋顶建造指南 装饰屋顶 暗门 建造居住地 水下之家 墙壁和桥墩 水闸 调色板 存储方案 整理物品 潜影盒储存 矿车储存 物品运输 附魔与烧炼 附魔台机制 铁砧机制 自动化烧炼 燃料选择 破坏方块 爆炸室 凋灵笼 挑战 获得潮涌核心 冒险模式生存 挑战自定义地图 制作自定义地图 征服神殿和神庙 触发及战胜袭击 征服掠夺者前哨站 征服堡垒遗迹 征服林地府邸 征服海底神殿 打败末影龙 征服末地城 打败凋灵 极限模式 超极限模式 在一个地区中长期生存下去 雷暴生存 在无限沙漠中生存 超平坦世界生存[仅Java版] 岛屿生存 空岛生存 速通 猎人游戏 放牧心得 探索深暗之域和远古城市 愚人节版本生存 22w13oneBlockAtATime 农场 方块和物品 骨粉 仙人掌 圆石或石头 可可豆 农作物(甜菜、胡萝卜、马铃薯和小麦) 紫颂果 泥土 滴水石锥 鸡蛋 蛙明灯 蜂蜜 鱼 花朵 冰 海带 零刻作物催熟技术 肉 蘑菇 唱片 下界疣 黑曜石 西瓜、南瓜 鳞甲 羊毛 海泡菜 雪 甘蔗 树木 藤蔓 药水 经验 基岩 方块和物品复制 铁轨复制机[仅Java版] TNT复制[仅Java版] 生物 刷怪塔 怪物磨床 刷怪笼陷阱 动物(猪、牛、羊) 烈焰人 洞穴蜘蛛 闪电苦力怕 溺尸/僵尸 末影人 山羊 守卫者 铁傀儡 岩浆怪 以物易物 无限触发袭击 潜影贝 史莱姆 鱿鱼 海龟 村民 女巫 流浪商人 凋灵骷髅 僵尸猪灵 红石 基础红石 基本逻辑门 高频电路 计时器 通用物品分类器 抽奖箱 飞行器 漏斗 机械 侦测器稳定器 密码锁 随机发生器 红石机械 红石音乐 红石技巧 鲁布·戈德堡机械 村民交易所 探测器 方块更新感应器 比较器更新感应器 阳光探测器 昼夜探测器 矿车 火车站 矿车 储存 存储系统 陷阱 雪傀儡防御炮 TNT大炮 活板门利用 陷阱设计 陷阱 活塞 活塞使用 活塞电路 半连接性 零刻活塞 无延迟中继器 无头活塞 高级红石 高级红石电路 算术逻辑 计算器 时钟 摩斯密码 打印机 红石计算机 红石电报机 服务器 使用服务器 在服务器上游玩 服务器监狱 防止恶意破坏 服务器商店 起床战争 空岛战争 架设服务器 架设服务器 架设基岩版服务器 服务器架设脚本 服务器启动脚本 FreeBSD启动脚本 OpenBSD启动脚本 Ubuntu启动脚本 WebSocket服务器[仅基岩版] 架设Mod服务器[仅Java版] 架设Hamachi服务器 架设Spigot服务器 虚拟硬盘服务器 使用ngrok搭建服务器 架设ZeroTier服务器 技术性 结构方块 命令方块 命令统计值 使用命令操控实体 提高帧率 Minecraft帮助FAQ(IRC频道) NBT与JSON Minecraft URL Scheme[仅基岩版] 更新Java 运行数据生成器 地图 自定义地图 下载地图 生成下落的方块[仅Java版] 使用MCEdit在1.13中刷新旧版海洋[仅Java版] 强制打开存档[仅Java版] 资源包 制作资源包 加载资源包 声音目录 数据包 制作数据包 实例:蜜蜂助手 消除视线 安装数据包 自定义世界生成 附加包 基岩版开发指南 制作资源附加包 高级 基岩版实体文档 修改实体模型 制作行为包 自定义实体 制作游戏视频 视频 游戏安装 快照版本安装 获取崩溃报告 在U盘中使用旧版启动器运行及保存Minecraft 恢复损坏的地图数据 在Google Drive上运行Minecraft 将游戏数据保存到Dropbox云端(仅限地图数据) 将游戏数据保存到Dropbox云端 在Chrome OS上游玩Minecraft 仅Java版 修复Apache Log4j2漏洞 自定义命令触发 原始JSON文本 NBT命令标签 编写启动器 版本清单文件下载 版本json文件下载 过时教程 建造微型庇护所 自定义纹理包 基于门的铁傀儡陷阱 到达边境之地 获取崩溃报告(旧版) 人工湖 矿车加速器 中继器重启系统 无数据包生存 升级LWJGL 更新Minecraft 村庄链 水梯 水道 游戏直播 Upcoming Minecraft Dungeons 教程 新手手册 高难度通关配装总结 成就指南 高塔指南

语言

English


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有