Blender to minecraft workflow

Hello, I’m exploring making a workflow on how to make minecraft maps in blender. I haven’t tested it out fully yet, I’m looking for ideas and alternative solutions, and wanted to post my thoughts so far before I forget since I have other things I need to work on, in case anyone else is looking for this.

The sculpting mode of blender is really great for making impressive landscape fast, better than any minecraft editor I have ever used.

This took minutes to make, in minecraft it would take days.

I am wondering if this will do it:

  1. Check Blender units: scene>units pick metric

  2. Create 3D model in blender

  3. Add remesh modifier
    A: Mode: “blocks” (guide: https://youtu.be/7EQ2LVyBe3M)
    B: Alter model until happy with how it looks, apply modifier

  4. scale model so that 1 cube = 1meter

  5. export model as obj,
    A. “X up” in export settings to avoid having to rotate it later

  6. use binvox to convert obj to schematic (guide: https://youtu.be/n84kfAQObnU)

  7. import schematic to MC with software of choise.

  8. (my workflow: import schematic with world edit in MC 1.12.2)
    Optional:

  • Use WorldEdit to change the blocks of minecraft to something more natural
  • Use worldpainter to populate your map with generated trees, materials, features, water.
  • Open map in a newer minecraft version to be used.

I’m fairly sure blender is a very short step away from being the ultimate minecraft 3rd party editor out there, but I still have to figure out how the scaling works. I’m hoping whatever binvox does to convert the model will work well with the remesh modifier of blender, but I think it will be a bit hit and miss for smaller objects.

What would be amazing though is if we could export the file format .schematics directly from a remeshed blender object and use it with the other minecraft editor tools. Perhaps even with a feature that reads the names of materials and defines an output to match minecraft block types (IE “dirt” etc)

3 Likes

I am really interested in this workflow. Have you continued working on it? I am building a Python framework for Minecraft for creating Scenes based on objects (Things). And one of this Things is a Schematic. So I would love to complete this workflow so I can use them in McThings Scenes creations: https://github.com/juntosdesdecasa/mcthings

1 Like

No, i have not tried working further with this workflow as of yet, although I contacted the author of binvox and they said they would look into it, but I suspect they may have forgotten. So it would be beneficial to get in contact with them again.

I’m not sure if I understand your python scene project, it’s a bit too technical for me to understand. What advantages does it have vs using bling edit and it’s plugins, worldedit with schematic import/export or even the vanilla structure blocks? (well, i suppose they are limited in size)

I am very positive that you are working on minecraft editing, good inegrations with that game makes for a lot of potential.

Hi! Ups, the forum has not notified my about your reply. I am sorry for the delay.

About McThings, the approach is to create Scenes in Minecraft using Python programing language with its huge ecosystem. For example, I am using Pandas library to improve how some scenes are rendered… So you create all outside Minecraft using a programming language. McThings has defined a framework for reuse creations (Things) to compose new scenes based on them.

Right now I have added the ability to import Schematics as reusable objects, and also, to export to Schematics objects created using Python. For example, right now I can load a Schematics, edit it and publish it in MC, and then export the result as an Schematic and use it whith WorldEdit. IMHO Schematic support is the way to interact with the MC editing community.

But the more ambitious goal is to create complex scenes from reusable objects (coming from schematics, creating them with Python programming, or from other sources) and export them as Schematics creations for example.

My goal is to define a clean framework , easy to use, well documented and with quality for minecraft editing using reusable objects (which I call them Things).

I hope it is more clear now. But If you have any doubts, I will be really happy to try to clarify them. I am trying to build a creators community around McThings (just because I love it, no commercial motivation yet).

About the Blender to Minecraft workflow, it seems that binvox can create Schematic files from Blender files. Then, you import them in Minecraft and that’s all. Right? I am researching also the other way around. Importing Schematics inside Blender.

Thanks!

I have completed my workflow from Blender to Minecraft: https://github.com/juntosdesdecasa/mcthings/issues/62

And from Minecraft to Blender also :slight_smile:

I need to review all your steps because probably the will improve the process. Right now I am just saving as OBJ the Blender model, play with binvox to have a good resolution but not too much (number of blocks), rotate the model to show it correctly in Minecraft and that’s all.

But the scaling of the model so it looks with good proportions in Minecraft (your first steps) I have not explored them yet.

That’s good!

What we need, is a standard set of settings (size, scale, and the correct direction for up) that will make the blender model (when using the “block remesh” to look identlical to the output of binvox. So far I have not found that yet, but I suspect it could be possible? If we set blender to use metric, and the squares to be 1 meter, will binvox convert it exactly? Perhaps you could contact the binvox creator about this since you have more experience with programming than me?

One thing of note, what version of minecraft are you dealing with? the way data was stored changed a lot from 1.12 to what it is now in 1.14 + (not sure when) and worldedit webpage mention that the filetype “schematics” is no longer supported with modern minecraft handling of blocks, instead they created a new format “schem”
If you are going forward with this you probably will need support for both “.schematic” and “.schem”

I am trying to understand correctly your point. We have a model in Blender. We can save it and convert to schematics using binvox. But the idea is to avoid using binvox? Or to adjust the Blender output so the dimensions/scale are different? I have not used the block remesh. But I understand that you convert the mesh yo a block based mesh, and adjusting the blocks to have the same size than Minecraft ones, we can generate a kind of blocks output that should be similar to the one generated by binvox. Am I right?

I have worked with the Schematics format in some deep so if we can generate the blocks, I am pretty sure we can adjust them to be in Schematic format.

Please, confirm me I am right. Next step will be to research a bit block remesh and how the blocks are stored by Blender in a file, so we can start from this data to create the Schematic.

About the 1.12 version, the change you are mentioning is the https://minecraft.gamepedia.com/Java_Edition_1.13/Flattening. I am working in the pre 1.13 formats. I have researched the implications to work post 1.13 and there are solutions. But I prefer to have something solid before extending it.

The goal is to be able to use the blender block remesh to make the blender model look identical to the model we output with binvox, or with your project, or any other solution.

That way it will be easy to make a beautiful model, since we can see it perfectly in blender first.

I have not yet been able to make it identical, because I don’t understand how it works, (I am not a programmer).

Hopefully we can do it with just finding the right scale or settings, but I don’t know.

Cool, now I understand correctly what you want: use blender block remesh to generate the blocks data directly. In any case, we need to convert from blender format to schematic format. I know pretty well the schematic format. But not the blender one: https://en.wikipedia.org/wiki/Blender_(software)#File_format

I would try to do a basic remesh and try to understand the output data in the blend file (or maybe, we can export to other simpler format). And then think howto convert it to schematic format.

1 Like

I Skyfish. I continue working on this topic. I will update you if I have real advances. But you can see the idea implemented in the past here:

But the output is a JSON file that AFAIK is not useful in recent minecrafts.

I have added this task to McThings backlog: https://github.com/juntosdesdecasa/mcthings/issues/100 Not sure when I can prioritize and work on it, but at least we have clear what we want. And the effort is not so high (maybe 2-3 days work to have a first working version).

It’s great you want to work on this, I’m sure the minecraft community will be really happy with it in the end. I look forward to trying it. Als oI will try using the obj2MC that you linked in the video, that looks similar to binvox. But I am confused by the options in it.

Take in mind about obj2MC that it is a Python script for and old version of Blender, so you will need to use this version or to update the script to work with the current API. In any case, the Python API is wonderful and it can saves you hours for doing some specialized tasks. So it is a good time inversion.

At the end, probably the best editor for Minecraft is a Voxel based one line MagicaVoxels or Goxels, but Blender could do it a nice job if you need to start your creation from 3D polygons.

Hey Alvaro, I was wondering how are you making the scaling correct? Say for instance I want to build a house in blender and then convert that to schematics but the tools I have used so far have always scaled things wrong.

Would you know how I could get it to import correctly into a schematics file?

Thanks

Turns out that Tinkercad a free browser program, allows for importing .stl and .obj models, and then export them as minecraft schematic.

I was able to use the exported schematic with minecraft 1.16.2 and using Litematica to import the schematic, though I presume world edit will do it as well.

The Tinkercad program allows 3 different sizes, so once again, there is little control over how the mesh from blender gets turned into blocks, but at least with tinker cad you can get a preview of the model first. You can also get some basic minecraft blocks to choose from, however I found the materials available too limiting, so world edit is still needed to replace the limited pallete.

Edit:
I also found online voxelizer
This one has more control over the scale than tinkercad, but has no materials.