New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for loading AbadIA CSV heights files and build it #47
Comments
Once the STL data is loaded inside MC, the next thing is to personalize the blocks used to build ech part of the Adabadia. For doing that, @bazarum is creating an AI that customize each block. How? Then you can train the AI to build one room, and after that, it can create the others room. A building AI sounds like a great idea. |
Creating Scenes in MC using Things generated by AIs sounds ... cool! |
There are two possible data input formats:
For a quick hack, the CSV format is the way to go. If we want just to support the building of the AbadIA, I would use the CSV data. But let's learn a bit about STL. |
The best approach to play with how the STL files are generated is to use the notebook: https://github.com/LaAbadIAdelCrimen/abadia-3d/blob/master/abadia_3d.ipynb Just open it in Colab, upload the heights file inside the notebook and start playing! |
After playing a bit with STL files, the best thing is that you can view it in tools like Blender. The ntl-stl API does not seems to be pretty rich for building scenes. In the notebook the translate (move) is implemented directly. Reading more about STL and ntl-stl there are big analogies with McThings:
So we can create STL scenes easily. And if we base them in cubes, they can be converted to McThings scenes and show inside Minecraft. |
And we have arrived to thw world of STL importers to Minecraft! And all of them are based on TinkerCAD (from Autodesk). You work inside TiinkerCAD the modelling and then export to Minecraft format (schematic) and insert into Minecraft using WorldEdit or MCEdit. Cool! https://blog.tinkercad.com/2013/08/15/tinkercraft (2013) And of course, you have also exporters: from Minecraft to STL. People are working in programs for converting STL to MC Schematics There are already options like https://minecraft.gamepedia.com/Programs_and_editors/Binvox that converts from stl (and other formats) to Schematics which can be imported in MC with MCEdit (and WordlEdit). |
The process of converting a set of 3D polygons to their equivalents in blocks is called "voxelization" (https://minecraft.gamepedia.com/Programs_and_editors/Binvox) |
I have learnt a lot about 3D modelling and Minecraft (for example, model in Blender, export to STL, use binvox to convert to schematics and import in MC using WorldEdit or MCEdit), but, is it clear if use the CSV file with the heights ot the STL file in order to import Abadia inside MC? Creating scenes from STL models? That is really cool. McThings could compose incredible scenes with that. But for example, Blender can do the same composition. What is the main advantage of Thigns in McThings vs STL or other voxelization formats? That Things can be created programming. Imagine creating a Pyramid in Blender for example. Probably you can create also programming based models in Blender. Food for thought! |
Using the remesh modifier and the corners of a cube 231.015 units across, you can get a 1-to-1 block model in any shape and adjust it as needed. edit: Forgot, set the mode to blocks and the octree depth to 8» So you can convert any model to cubes! And then with binvox to a schematic and the import it in Minecraft. |
My impression is that STL/3D/voxelization world is too wide to covert it in McThings yet. So for this first approach, I will just add support for reading the CSV file with the heights and just build blocks for the ground to this height. In this way, we have total control over the process in order to tune it. It is the original data source (the STL file is creating from it) also. And I will continue exploring the import/export from MC using STL and others formats. |
Once this support is finished adding support for loading files from Lidar should not be that hard: https://hackaday.com/2017/05/15/digitize-your-room-with-lidar/ |
I will move all of this to mcthigs_extras because it is a bit experimental. |
Final steps:
|
Ok, I will close this ticket once @bazarum validates it. |
Let's compare with the SML versions! https://github.com/LaAbadIAdelCrimen/abadia-3d/blob/master/level0.stl It is identical! Great! We can close now this ticket! |
STL is a format used for 3D printing. In the project In the project AbadIA they are reproducing the Abadia large building using STL generated from a CSV file with the heights data..
The idea is to read this STL files and reproduce them inside Minecraft. In this case they are using as unit building block a 1x1x1 block, just the same than in Minecraft. So It should be easy to recreate in Minecraft the building.
The steps are:
The text was updated successfully, but these errors were encountered: