Jump to content

  • Curse Sites
Become a Premium Member! Help
Latest News Article

[Misc] Build any 3D model in Minecraft easily [22/9/10]


  • Please log in to reply
108 replies to this topic

#1

Chunes
    Chunes

    Iron Miner

  • Members
  • 285 posts

Posted 20 October 2010 - 05:07 AM

Before I go any further, note that the software necessary for this tutorial is Windows only. Sorry to all the Linux/Mac users out there. I encourage anyone with a good solution for these platforms to post them here. (Note: pmin00 has provided us with a solution that works in Linux and Windows; if there is enough interest for Mac he can compile the tools for that platform. Find his tutorial here. I highly recommend giving it a go even if you use Windows, since his software is more suited to the task.)

I'd like to share the solution I found for making easy-to-follow blueprints that can be used to recreate any 3D model at any resolution you desire in Minecraft. It's really pretty simple once you have the necessary programs. The best part is that it's all freeware — you don't need expensive programs like 3D Studio Max. Let's get started, shall we?

First, let's download the programs we'll need. There are two of them, both by the same author, Ken Silverman. The first is a utility called poly2vox. This is a command line utility that takes a 3D model and converts it to a voxel file format. The 3D file formats supported are 3DS/ASC (3D Studio Max) and MD2/MD3 (Quake 2 and 3). Fortunately for us, 3DS is the de facto standard for 3D models and can be found everywhere. And other formats can be easily converted to 3DS. (Such conversion goes beyond the scope of this tutorial.)

Download poly2vox here. All you need is the executable called poly2vox. Place it somewhere you can get to it. I just put mine on my desktop.

Next, we'll need a viewer program to view the voxel files that poly2vox spits out. Ken wrote one himself called slab6. Download it here. Once again, it's just a single executable (with several sample voxel files you can use if you wish). The cool thing about this program is not only is it a fully capable viewer and editor of voxels, but it has a slice editor. That means we can step through each layer of the voxels one by one like a brain scan. This functions as an easy-to-follow blueprint that we can use to build any model in Minecraft layer by layer.

Next, let's search for a 3D model we'd like to recreate in Minecraft. For this tutorial, we'll build this rhinoceros:

Posted Image

The 3DS file for this rhino be downloaded here. If you wish to find a different model to use for the sake of this tutorial, please do so! I highly recommend you make sure it is in 3DS format, though. High quality 3DS models can be found all over the internet.

Right, so now we have all the programs we need and the 3D model we wish to build in Minecraft. Next, we need to use poly2vox to convert the 3DS file to a voxel format (file extension kv6) that slab6 can read. Let's do so now. poly2vox is a command line program, which means nothing will happen if you try to run it by double-clicking its icon. This means we need to open the console.

To do this, go to start, then run (or search in Vista/7), type cmd, and hit enter.

Posted Image

You'll see a console window pop up that looks like this:

Posted Image

Since I saved poly2vox to my desktop, I'm going to use the cd command to change my directory:

Posted Image

After typing cd Desktop and hitting enter, we are now in the same directory where poly2vox is:

Posted Image

Next, we use poly2vox to create a voxel file from the 3DS model. I put my 3DS file (called rhino.3ds) in the same directory as poly2vox, the desktop, to be safe, but I believe the utility is pretty intelligent and will automatically search for the filename you enter in the next step. Now we type poly2vox rhino into the console and press enter. Watch the magic happen!

Posted Image

The program was successful and a .kv6 file named rhino was created on the desktop.

(Special note: execute poly2vox without any arguments to see the options you can give it. You may want to mess with them, but it shouldn't be necessary for this tutorial.)

Now we open slab6 by double-clicking on it. The default shape shown by the program is a sphere. Try experimenting with the controls. They're very intuitive. Use WASD to move around and click & drag the mouse to change directions. Here's what it should look like:

Posted Image

Now let's load our rhino model! Go to file, then open (or just press L in the program) and select rhino.kv6 from wherever you stored it. In my case, that'd be the desktop. Here's what it should look like:

Posted Image

Again, practice moving around. You'll notice if you get really close that it is actually composed of a bunch of tiny cubes, or voxels. These are analogous to the building blocks in Minecraft. But wait, look at how fine all the cubes are! It'd take forever to build, and it might not even fit in Minecraft. Remember, we only have 64 blocks to work with above sea level. So let's fix this. We can halve the dimensions of the model by going to tools -> halve dimensions. Now look at it:

Posted Image

Ah, much more manageable. Sure, it looks a bit less like a rhinoceros, but remember that we've just decreased the resolution of our voxel model, so that's to be expected. Now let's find out just how manageable it will really be to build this thing in Minecraft terms. Hit enter to bring up the slice editor. Your screen should now look like this:

Posted Image

Notice how it gives some dimensions for X, Y, and Z. In my case, it says Z: 7/38 Y: 18/35 X: 23/64. The number before the slash indicates the current slice that you are viewing. The number after the slash indicates the overall dimensions of the model. This means that after halving our rhino's dimensions, it fits into a 64x35x38 rectangular prism.

Not bad! That actually sounds pretty doable in Minecraft terms. This means that our rhino statue will stand 38 blocks tall and be about 64 blocks long. Sounds like a pretty big building project, so let's halve it again. Since we're decreasing the resolution again it won't look as nice, but slab6 still produces the optimal voxels for the model at this resolution. (Important note: if you halve dimensions then double the dimensions, it won't return to normal. It will merely double the halved dimensions. i.e., it will be bigger but still be just as blocky. If you don't like the results of a halving, you'll have to reload the model and get back to the size you want.)

Now, we could just use the viewer and try to create it in Minecraft, but that's a little cumbersome and not very accurate. I have a better way. Click and drag the 'Z' slice window near the center of the screen and press * on the keypad a few times. (Note: I know this is buggy. If you can't get it, try moving the whole window to a different location on the screen and try again.) This will increase the size of the Z slice window. Your screen should now look like this:

Posted Image

Notice how we're looking at slice 9 of 19. That means we're halfway up the rhino. We want to start on the ground with the feet, so let's change the slice we're viewing. To do this, first press enter to make the slice editor disappear. Now, place your cursor on the lowest level of voxels; the very bottom of the feet. Now press enter. You should be looking at slice 18/19:

Posted Image

(Special note: 18/19 is the very bottom layer and 0/19 is the very top! There is no 19/19.)

There! Now we can start building in Minecraft! This is the blueprint for our first 'layer' of building. I recommend placing torches as markers so you can tell where the 'corners' of the blueprints are. Also note how if you mouse over the slice viewer in slab6, you can see the grid of squares so you can get precise counts.

I recommend setting up your windows so you can see them both at once, like this:

Posted Image

It is a lot of counting, but it's worth it to see such a cool 3D model springing to life in Minecraft.

Here is what my project looks like after building the first layer:

Posted Image

I have the four corners of my workspace set up and I also have signs marked with coordinates to aid my counting. You guys are pretty smart. I'm sure you can come up with your own systems to figure out where to place blocks. Now that I'm done with the bottom layer, I change the Z slice to 17/19 by pressing enter to remove the window, then hover the mouse over the second layer of voxels and press enter. Now I have the blueprints for the second layer of the model.

Posted Image

Notice the pink spots? They indicate the areas that are hollow. If you wish to build a solid statue, then fill in these pink spots. But if you want to minimize the number of blocks you use, leave the pink spots empty. If you do this then you will create a model with no gaps and the least number of blocks (not to mention, in our case, a Trojan rhino!).

The rest is very simple. Just rinse and repeat until you're finished with slice 0/19. Enjoy your awesome statue.

(Progress shots)

3 slices done:

Posted Image

5 slices done:

Posted Image

10 slices done:

Posted Image

Posted Image

15 slices done:

Posted Image

Posted Image

Posted Image

Finished:

Posted Image

Posted Image

Posted Image

Posted Image

Posted Image

Here is my first application of this technique (on a multiplayer server):

Posted Image

It's the statue of liberty, created from this model:

Posted Image

Now get out there and build some awesome models! It's really rewarding to make something like this come to life in your world.

Register or log in to remove.

#2

Miles Tails Prower
  • Location: Station Square

Posted 20 October 2010 - 05:12 AM

Really, really epic but I don't have that kind of patience, lol or the creativity!


~Miles "Tails" Prower out! Catch me if you can!

Posted Image


#3

Eccentricity
  • Location: Canada

Posted 20 October 2010 - 05:12 AM

Excellent post!
-Eccentricity

#4

echonite
    echonite

    Obsidian Miner

  • Members
  • 1228 posts

Posted 20 October 2010 - 05:29 AM

something fishy about that command console...
http://i19.photobuck... ... led-13.png

lol...
Networking Tip of the Day: Your internal network is like an apartment building, and your router is like a doorman. Your external IP is your street address, and your internal IP is your apartment number. Ports are doorways into your building, and it is your router's job to keep track of these doors. Port forwarding is simply telling your router, if something comes in through a specific door, then you want it sent to your apartment.

#5

Illithian

Posted 20 October 2010 - 05:31 AM

Excellent post and guide. Thank you, and nice work. :D

#6

Thungrim
    Thungrim

    Zombie Killer

  • Members
  • 178 posts

Posted 20 October 2010 - 06:06 PM

This thread is bursting with delicious WIN.

#7

chrisknyfe

Posted 20 October 2010 - 06:39 PM

echonite said:

something fishy about that command console...
http://i19.photobuck... ... led-13.png

lol...

Your alternate-reality-past-future-dream-self has come back/forward/sideways to help you make better minecraft scluptures. The fate of the multiverse depends on it!
Posted Image
^^^ Forum thread link is in the post above ^^^

#8

Tei
    Tei

    Diamond Miner

  • Members
  • 700 posts

Posted 20 October 2010 - 06:47 PM

I like more pixel art, wen the artist trough is put on where to place the blocks.

This is like taking a 1200x3000 photo and saving it as a 16x20 icon.

#9

Neku
    Neku

    Iron Miner

  • Members
  • 261 posts
  • Location: New york

Posted 20 October 2010 - 09:09 PM

Holy BLEEP coolio  :SSSS:
Chocolateee rain

Neku said:

Cool story bro

MOD EDIT: Uh, please don't do that again.

#10

WhosRyanLord

Posted 20 October 2010 - 09:11 PM

I want to make a rhino house so bad now. And faces! Mt Rushmore anyone? Downloading for sure.

#11

Renzo
    Renzo

    Out of the Water

  • Members
  • 2 posts

Posted 20 October 2010 - 09:14 PM

Woah, thanks I just needed this

#12

minecraftwb
  • Location: USA

Posted 20 October 2010 - 09:26 PM

Awesome way to build models within Minecraft! I think you just unleashed a wavestorm of ideas for some of our community. Thank you for making such a terrific tutorial.
Posted Image

#13

DrawnToLife

Posted 20 October 2010 - 09:32 PM

Rhino home!
I'm gonna make a Pikachu.

Awesomeness said:

KhaoticStorm said:

i did this with codes not MCedit i said i used MCedit

WTF?

#14

Topper
    Topper

    Tree Puncher

  • Members
  • 15 posts

Posted 20 October 2010 - 11:44 PM

Trying to rotate the 3d model in slab is as frustrating as trying to read a book in your dreams.

#15

pmin00
    pmin00

    Zombie Killer

  • Members
  • 183 posts

Posted 21 October 2010 - 06:14 PM

Chunes said:

Before I go any further, note that the software necessary for this tutorial is Windows only. Sorry to all the Linux/Mac users out there. I encourage anyone with a good solution for these platforms to post them here.

great tutorial, thanks for posting this.

it turns out I've been messing with a similar solution (will work on Linux
as well, yes)(if people want, I could compile the tools for Mac as well, let me know)

check it out at:
http://www.patrickmin.com/minecraft

feedback welcome :Diamond:

Patrick
binvox for minecraft is at http://www.patrickmin.com/minecraft.
get your printable Sudoku puzzles here.

#16

Chunes
    Chunes

    Iron Miner

  • Members
  • 285 posts

Posted 21 October 2010 - 06:37 PM

Oh, wow!

This looks much better than they way I've been doing it. Thanks so much for posting this here! I'm going to try a model with your software and see how I fare. I'll also add a link to your page in my main post if you don't object.

The coordinates and the ability to view multiple slices in 3D look exceptionally handy. Using slab6, it can be hard to tell how a slice relates to the slice below it. Sometimes I have to flip back and forth several times before I get it. Your software's ability to display transparent slices above and below the slice of your choosing looks superb. Can't wait to try this out.

#17

BigD145
    BigD145

    Redstone Miner

  • Members
  • 513 posts

Posted 21 October 2010 - 06:54 PM

Topper said:

Trying to rotate the 3d model in slab is as frustrating as trying to read a book in your dreams.

A whole book? That would be pretty hard. I've only managed about 30 pages.

I do look forward to even easier 3D modeling for minecraft. Bonus to anyone that saves schematics in MCEdit.
Posted ImagePosted ImagePosted Image

#18

jon99977
    jon99977

    Diamond Miner

  • Members
  • 712 posts
  • Location: Stuck in a cave, with no pick, and no way out...

Posted 21 October 2010 - 08:13 PM

Topper said:

Trying to rotate the 3d model in slab is as frustrating as trying to read a book in your dreams.

I love reading. I don't limit dowm my reading times to when I'm awake, that's lame.

#19

WhosRyanLord

Posted 21 October 2010 - 09:13 PM

Man I am having a TON of trouble with this.

#20

Chunes
    Chunes

    Iron Miner

  • Members
  • 285 posts

Posted 21 October 2010 - 09:49 PM

Anything in particular? Maybe I can help.

Also, I have some time now and I'm trying pmin00's software. So far, so good.

Edit: Okay, I've had a chance to mess with it some more. Definitely better. At least five times easier to use than the software in my tutorial. I highly recommend it! The only downside is it doesn't accept 3ds files as input, but I'm sure there are converters out there, plus it supports some popular formats.

Once you get it set up, I recommend setting the viewer to orthographic projection (by pressing p), then set the view directly over the model (either z or y, depending on the model's orientation, and middle mouse button to pan). Press s to show one slice at a time. Then you can use j and k to step through the slices. If you press a, you'll get a checkerboard pattern for easy counting. Finally, you can press n and t to make neighboring slices show up and transparent. Very handy!