ObjToSchematic/README.md

73 lines
3.3 KiB
Markdown
Raw Normal View History

2021-07-01 23:25:27 +08:00
# ObjToSchematic
2021-11-14 21:32:41 +08:00
A visual 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-10-30 04:09:58 +08:00
# Usage
You can either download the [latest release](https://github.com/LucasDower/ObjToSchematic/releases) or build it yourself by following the instructions below.
* Download and install [Node.js](https://nodejs.org/en/).
* Run `git clone https://github.com/LucasDower/ObjToSchematic.git` in your command line.
* Navigate to `/ObjToSchematic-main`.
* Run `npm install`.
* Run `npm start`.
Support for choosing the block palette is not yet supported. Instead, you can edit `/tools/default-ignore-list.txt` to include blocks you don't want to be used and then run `npm run-script atlas`. You can also place custom textures in `/tools/blocks/` for more accurate block-colour matching when building with resource packs.
2021-07-07 09:35:12 +08:00
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-11-14 21:32:41 +08:00
* 🟢 **.json model loading**
* 🟢 **Model voxelisation**
* 🟢 **Optimised voxelisation & rendering overhaul**
* 🟢 **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-11-14 21:32:41 +08:00
* 🟠 <s>**Greedy voxel meshing**</s> (Removed)
* 🟢 **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-11-14 21:32:41 +08:00
* 🟠 <s>**Voxel splitting**</s> (Removed)
* 🟢 **Ambient occlusion**
* 🟢 **Quality of life**
* Model PSR, height limit warnings
* 🟢 **.mtl support for block choice**
* PNG support, JPEG support
* 🟢 **Convert to TypeScript**
2021-07-07 09:35:12 +08:00
2022-01-18 03:30:39 +08:00
[0.4](https://github.com/LucasDower/ObjToSchematic/releases/tag/v0.4-alpha)
2022-01-16 10:35:46 +08:00
* 🟢 **Block choice exported**
2021-11-14 21:32:41 +08:00
* Export to .litematic
* 🟢 **Support for non-uniform block models** (i.e. not all sides have same texture e.g. Oak Log, Crafting Table)
2022-01-18 03:30:39 +08:00
* 🟢 **UI Redesign**
2021-11-14 21:32:41 +08:00
* 🟢 **Optimised ambient occlusion**
* 🟢 **Transition to ray-based voxelisation**
2021-11-20 03:01:21 +08:00
* 🟢 **Dithering**
2021-07-04 00:41:01 +08:00
2021-07-07 09:35:12 +08:00
0.5
2022-01-16 10:35:46 +08:00
* 🟡 Web workers (see [web-workers](https://github.com/LucasDower/ObjToSchematic/tree/web-workers))
2021-08-20 22:55:19 +08:00
* Progress bar
2022-01-16 10:35:46 +08:00
* ⚪ Buffer refactor to support `OES_element_index_uint` WebGL extension (support for uint32 index buffers instead of uint16)
2021-11-14 21:32:41 +08:00
* ⚪ Node.js C++ addons
2022-01-16 10:35:46 +08:00
* ⚪ Alpha support
* Alpha texture maps
* Transparent blocks
* ⚪ Export to .nbt (structure blocks)
* ⚪ Import from .gltf
2021-08-03 02:05:44 +08:00
0.6
2021-11-14 21:32:41 +08:00
* ⚪ Block painting
* ⚪ Building guides
* ⚪ Slice viewer
* ⚪ .fbx import support
* ⚪ Support for non-block models (e.g. slabs, stairs, trapdoors, etc.)
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
2021-10-30 04:09:58 +08:00
![MinecraftPreview](/resources/minecraft.png)
2021-11-07 04:38:33 +08:00
# Debugging
To allow for your favourite debugging tools like breakpoints and call stacks, I've included launch options for debugging in VSCode. Use `Ctrl+Shift+D`, and run "*Debug Main Process*" and once the Electron window has initialised, run "*Attach to Render Process*".