2021-07-01 23:25:27 +08:00
# ObjToSchematic
2021-10-19 04:31:38 +08:00
A tool to convert .obj model files into Minecraft Schematics or [Litematica ](https://www.curseforge.com/minecraft/mc-mods/litematica/files ).
2021-07-01 23:25:27 +08:00
2021-09-11 08:04:56 +08:00
![Preview ](/resources/preview3.png )
2021-07-01 23:25:27 +08:00
2021-08-02 07:56:07 +08:00
![Preview ](/resources/preview2.jpg )
2021-07-01 23:25:27 +08:00
2021-07-07 09:35:12 +08:00
![MinecraftPreview ](/resources/minecraft.png )
2021-07-01 23:25:27 +08:00
# Progress
2021-07-07 09:35:12 +08:00
[0.1 ](https://github.com/LucasDower/ObjToSchematic/releases/tag/v0.1-alpha )
2021-07-04 00:41:01 +08:00
* ✔️ ** .json model loading**
* ✔️ **Model voxelisation**
* ✔️ **Optimised voxelisation & rendering overhaul**
2021-07-04 23:02:49 +08:00
* ✔️ **Basic .obj file loader UI**
2021-07-04 00:41:01 +08:00
2021-07-07 09:35:12 +08:00
[0.2 ](https://github.com/LucasDower/ObjToSchematic/releases/tag/v0.2-alpha )
2021-07-06 23:05:29 +08:00
* ✔️ **Greedy voxel meshing**
2021-07-07 06:22:21 +08:00
* ✔️ **Export to schematic**
2021-07-04 00:41:01 +08:00
2021-08-20 23:19:01 +08:00
[0.3 ](https://github.com/LucasDower/ObjToSchematic/releases/tag/v0.3-alpha )
2021-07-11 05:53:21 +08:00
* ✔️ **Faster voxel splitting**
2021-07-23 03:33:49 +08:00
* ✔️ **Ambient occlusion**
2021-08-15 03:52:40 +08:00
* ✔️ **Quality of life**
2021-08-20 23:19:01 +08:00
* ✔️ Model PSR, ✔️ height limit warnings
2021-08-15 03:52:40 +08:00
* ✔️ ** .mtl support for block choice**
2021-08-20 22:41:02 +08:00
* ✔️ PNG support, ✔️ JPEG support
2021-08-15 03:52:40 +08:00
* ✔️ **Convert to TypeScript**
2021-07-07 09:35:12 +08:00
0.4
2021-08-20 22:55:19 +08:00
* ⌛ Block choice exported
2021-09-11 02:27:05 +08:00
* ✔️ **Export to .litematic**
2021-09-12 05:47:53 +08:00
* Export to .nbt (structure blocks)
* Alpha support
* Alpha texture maps
* Transparent blocks
2021-10-25 05:11:06 +08:00
* ✔️ **Support for non-uniform block models** (i.e. not all sides have same texture e.g. Oak Log, Crafting Table)
2021-10-12 05:11:19 +08:00
* ⌛ UI Redesign (use an actual UI framework) (see [redesign ](https://github.com/LucasDower/ObjToSchematic/tree/redesign ))
* Block palette (choose blocks to export with)
* Options for toggling fallable blocks
* Buffer refactor to support `OES_element_index_uint` WebGL extension (support for uint32 index buffers instead of uint16)
2021-10-19 04:31:38 +08:00
* Dithering
2021-07-04 00:41:01 +08:00
2021-07-07 09:35:12 +08:00
0.5
2021-08-20 22:55:19 +08:00
* ⌛ Multithreading (see [web-workers ](https://github.com/LucasDower/ObjToSchematic/tree/web-workers ))
* Progress bar
2021-08-03 02:05:44 +08:00
* Node.js C++ addons
0.6
2021-08-20 22:55:19 +08:00
* Block painting
2021-07-11 05:52:23 +08:00
* Building guides
* Slice viewer
2021-10-12 05:11:19 +08:00
* .fbx import support
* Support for non-block models (e.g. slabs, stairs, trapdoors, etc.)
2021-07-06 23:05:29 +08:00
2021-07-04 00:41:01 +08:00
# Usage
2021-07-07 09:35:12 +08:00
You can either download the [latest release ](https://github.com/LucasDower/ObjToSchematic/releases ) or build it yourself by following the instructions below.
2021-07-04 00:41:01 +08:00
* Download and install [Node.js ](https://nodejs.org/en/ ).
2021-09-09 08:26:38 +08:00
* Run `git clone https://github.com/LucasDower/ObjToSchematic.git` in your command line.
2021-07-04 00:41:01 +08:00
* Navigate to `/ObjToSchematic-main` .
2021-07-04 00:44:01 +08:00
* Run `npm install` .
2021-07-04 00:41:01 +08:00
* Run `npm start` .
2021-07-07 09:35:12 +08:00
2021-10-14 06:26:26 +08:00
Support for choosing the block palette is not yet supported. Instead, you can rebuild blocks.json with `npm run-script atlas` using only the blocks you want to export with. This also means you can use custom texture packs to get more accurate block-colour matching.
2021-09-09 08:26:38 +08:00
![](https://i.imgur.com/BTj9gAx.gif)
2021-07-23 23:24:09 +08:00
# Disclaimer
2021-09-11 08:04:56 +08:00
:warning: This repo is in development and proper error handling is not currently my priority. Contributions are welcome.
2021-07-23 23:39:29 +08:00
This is an non-commercial **unofficial** tool that is neither approved, endorsed, associated, nor connected to Mojang Studios. Block textures used are from Minecraft and usage complies with the [Mojang Studios Brand And Assets Guidelines ](https://account.mojang.com/terms#brand ).
2021-09-11 02:27:05 +08:00
![DebugPreview ](/resources/debug_preview.png )
![MeshingPreview ](/resources/greedy_meshing.png )