pos2obj

Export the building to OBJ format.

pos2obj — Area Selection OBJ Exporter (Fabric 1.21.11 / Client-Side Only)

pos2obj is a client-side Minecraft mod that allows you to select a region in-game and export all the blocks within that area as a 3D model (OBJ file) + Material (MTL file) + Textures (PNG).

🌟 Key Features & Advantages

  • Modded Block Support: Any modded blocks registered in the client's model system will be exported exactly as they appear in-game.

  • Accurate Connection States (Multipart): Walls, fences, stairs, and glass panes preserve their precise in-game connection states and shapes.

  • Resource Pack Compatible: Extracted models use the exact textures from your currently active resource pack.

🛠 How to Use

Use the following in-game chat commands to select your region and export the files:

Command Description
/pos start Sets your current location as the starting point (Or use /pos start x y z to specify coordinates).
/pos end Sets your current location as the ending point.
/pos export <name> Exports the region. Textures are automatically baked into a single consolidated texture atlas.
/pos export <name> atlas <scale> Same as above (Explicitly forces atlas generation).
/pos export <name> separate <scale> Exports textures as individual PNG files for each sprite.
/pos status Displays the current selection status.
/pos clear Clears the current selection.

📂 Output Directory

All exported files are saved to:

<game_directory>/pos2obj/<name>/

  • <name>.obj / <name>.mtl

  • atlas.png (when consolidated) OR textures/*.png (when exported separated)

  • export_info.txt (Log file containing skipped blocks and warning details)

📏 Coordinate System:

1 block = 1 unit. The minimum corner (lowest coordinates) of the selected area is treated as the origin point (0, 0, 0), with the Y-axis pointing upwards.

🟢 Feature Support & Advanced Handling

  • Standard Blocks: Extracted via BakedModel. Adjacent face culling, random model variants, model offsets (e.g., natural shifting of grass/flowers), and biome-specific tints (grass, leaves, water) are all baked directly into the textures.

  • Fluids: Supports Water, Lava, and custom modded fluids (via Fabric's FluidRenderHandler). Exported as simplified geometry with flat top surfaces.

  • Mob Heads / Skulls: Supports Skeleton, Wither Skeleton, Zombie, Creeper, Piglin, and Player Heads. Player skins are dynamically downloaded from textures.minecraft.net (falls back to the Steve skin if the download fails).

  • Chests: Supports regular Chests, Trapped Chests, and Ender Chests (both Single and Double chest configurations).

  • Signs: Supports standing and wall-mounted signs for all wood types (※Text/Letters will not be exported).

  • Beds: All 16 colors supported (Includes mattress + legs via color-specific entity textures).

  • Shulker Boxes: All 16 colors + undyed versions supported. Accurately reflects all 6 placement directions.

  • Banners: Supports standing and wall-mounted variations. Layer patterns are blended dynamically to generate a unique texture for each distinct banner (Mod-added patterns are also supported if their assetId texture exists).

  • Animated Textures: Automatically freezes and uses the 1st frame (Frame 0).

  • Bleeding Protection (Padding): When generating a texture atlas, each sprite is padded by copying its edges by 4px. This prevents texture bleeding, seam lines, or rendering gaps caused by bilinear filtering or mipmapping in 3D software.

The pos2obj Team

profile avatar
  • 2
    Projects
  • 40
    Downloads

More from usagi_san