Minecraft Blogs / Article

From 3d to minecraft (Large statues)

  • 3,660 views, 3 today
  • 7
  • 2
  • 1
Proudbucket's Avatar Proudbucket
Level 18 : Journeyman Narwhal
2
Background

On my last blog entry I mentioned that I may try to write a script to use stl data to create sculptures or other fancy structures. The thing about stl files (stereolithographic) is that basically they contain all the information to render the polygons that make up a structure. People have started to share schematics and there are huge libraries of objects to print.

One can understand why all the fuzz... it is kind of like sending a material thing over the internet, one just goes to a fabrication laboratory, feeds the data to the printer and returns home with a nice thing.

Want to make a cup with the empty marmelade jar? Here are the schematics.
Fancy the mask from the lord of bones from GoT? You can get it here.

Even some museums have started to scan masterpieces and offer the files for free.
You could have your own copy of one of the great master works at your home.


All these things are freely available but to my knowledge there was no way to put them in minecraft blocks and that is a shame. We have a panacea of things that we could import into our worlds but no way to import them. I think some of these statues and objects could make some cool terrain in the server where I play. Monumental statues are a staple of fantasy and I would like to see some cool epic statues and dragon bones in the terrain:

Here are a few examples of monumental statues in fantasy:
From 3d to minecraft (Large statues)
^ The argonauts from the lord of the rings.

From 3d to minecraft (Large statues)
^ The temple statue from Steven's universe.

From 3d to minecraft (Large statues)
^ The titan of Braavos from game of thrones / a song of ice and fire.

Experiment
With that in mind I decided to make a script to translate stl files into minecraft structures. I choose to work with a few low poly versions mostly because they are easy to track and fast to assemble. I will not tell you, like last time, that it was easy because I would be lying but now I got this thing working and I can reliably transform stl files into minecraft.

For those interested in the black magic of the process here is how to do it:
Spoiler - click to reveal
- If your file is in binary format convert it into ascii format using this script (remember that not all models may be good for minecraft)
- Get the X, Y and Z coordinates from the file with sed, grep or a regex (I prefer to format my file into a tab separated value format)
- Modify the coordinates, I recommend using R for this. The model values may not make much sense in minecraft scales (values may be too small and include decimals).
- In STL Z is height, it is enough to exchange Z and Y labels.
- If desired, the direction that the model is facing can be changed with a rotation matrix.
- Use the coordinates to feed minecraft with a command to render triangles (every group of three coordinates).
- The python code that Alexander Pruss wrote to render polyhedra faces can be easily adapted to render the triangles of an stl.

This is very rough but it should save you a lot of time. If you get into trouble feel free to ask.

Here are a few experiments that I did. The first one comes from a scanned model from the thinker, a fameous statue sculpted by Aguste Rodin. The second model is a scanned copy of a buda statue that lies in the Chicago art institute. The third experiment is a model of a horse that an artist made using a CAD program.


^ The thinker


^ Buda


^ A horsy horse.

Conclusions
In the end I'm quite happy with the results, especially considering that all these models were only made with commands. I'm a bit annoyed by the fact that smooth curves disappear and faces and fine details are not rendered very well. Part of the problem is that there is not enough resolution: when the statue is 100 blocks tall the face may take 15 blocks and if the facial features are not very prominent they will get pixelated boxelated. Classical statues have a level of detail that may not be possible to represent in minecraft but often their pose is strong enough that it remains recognizable in minecraft. I think statues such as the one from buda could be integrated into the terrain; it would be a matter of setting it on a natural rocky wall, polishing some details and adding some overgrown vegetation and vines.

So, do you think this idea has potential? have you found a model that you would like to be rendered in minecraft? Have you thought of other uses for the stl models? I have access to one 3d scanner in my fabrication laboratory, if I find a bit of time I may play a bit with it. Theoretically the scanner and the series of scripts that I used could help artists to get what they make with their hands into the minecraft world.


I hope the dear reader will forgive me for a bit of advertisement at the end of the post.
We all promote the things we love and this one is minecraft related.
Tags

Create an account or sign in to comment.

Barbarian
11/10/2016 6:23 pm
Level 62 : High Grandmaster Terraformer
Barbarian's Avatar
Yes, I even know someone who has a program that can do that very thing and in the meantime also put colors on it whilst it having a very user-friendly layout, but he wants quite a lot of money if he is to share it, so if something like that were to be made, it would really really really be huge deal, especially in the minecraft commissioned building community. Please do it is my answer to that.
1
Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome