pos2obj

pos2obj

将建筑导出为OBJ格式。

杂项

pos2obj — 区域选择 OBJ 导出器(Fabric 1.21.11 / 仅客户端侧)

pos2obj 是一款仅客户端侧的 Minecraft 模组,它允许你在游戏中选择一个区域,并将该区域内的所有方块导出为 3D模型(OBJ 文件)+ 材质(MTL 文件)+ 纹理(PNG 文件)。

🌟 主要特点与优势

  • 模组方块支持:任何注册在客户端模型系统中的模组方块,都将按照其在游戏中的外观原样导出。
  • 精确的连接状态(多部件):墙、栅栏、楼梯、玻璃板等保留其精确的游戏内连接状态和形状。
  • 资源包兼容:导出的模型使用你当前激活的资源包中的确切纹理。

🛠 使用方法

使用以下游戏内聊天命令来选择区域并导出文件:

命令 描述
/pos start 将你当前的位置设置为起点(或使用 /pos start x y z 指定坐标)。
/pos end 将你当前的位置设置为你当前的位置为终点。
/pos export <name> 导出该区域。纹理将自动烘焙成一个单独的、合并的纹理图集。
/pos export <name> atlas <scale> 同上(明确强制生成图集)。
/pos export <name> separate <scale> 将每个精灵图的纹理导出为独立的 PNG 文件。
/pos status 显示当前的选区状态。
/pos clear 清除当前的选区。

📂 输出目录

所有导出的文件将保存到:

<游戏目录>/pos2obj/<名称>/
  • <名称>.obj / <名称>.mtl
  • atlas.png(合并时)或 textures/*.png(分别导出时)
  • export_info.txt(包含跳过的方块和警告细节的日志文件)

📏 坐标系: 1 个方块 = 1 个单位。所选区域的最小角(最低坐标)被视为原点 (0, 0, 0),Y 轴指向上方。

🟢 功能支持与高级处理

  • 标准方块:通过 BakedModel 提取。相邻面剔除、随机模型变体、模型偏移(例如草/花的自然位移)以及生物群系特定色调(草、树叶、水)都已直接烘焙到纹理中。
  • 流体:支持水、熔岩和自定义模组流体(通过 Fabric 的 FluidRenderHandler)。导出为带有平坦顶面的简化几何体。
  • 生物头颅/骷髅头:支持骷髅、凋灵骷髅、僵尸、苦力怕、猪灵和玩家头颅。玩家皮肤从 textures.minecraft.net 动态下载(如果下载失败,则回退为史蒂夫皮肤)。
  • 箱子:支持普通箱子、陷阱箱和末影箱(包括单箱和双箱配置)。
  • 告示牌:支持所有木材类型的立式告示牌和墙挂式告示牌(※文字不会导出)。
  • 床:支持所有 16 种颜色(通过颜色特定的实体纹理包括床垫和床腿)。
  • 潜影盒:支持所有 16 种颜色和未染色版本。准确反映所有 6 个放置方向。
  • 旗帜:支持立式和墙挂式变体。图层图案会动态混合,为每一面独特的旗帜生成独特的纹理(如果其资产 ID 纹理存在,也支持模组添加的图案)。
  • 动画纹理:自动冻结并使用第 1 帧(第 0 帧)。
  • 出血保护(边缘填充):生成纹理图集时,每个精灵图通过复制其边缘 4 像素进行填充。这可以防止在 3D 软件中因双线性过滤或 mipmapping 引起的纹理出血、接缝线或渲染间隙。