Model
Model Engine needs model files to display them in game. It is designed to work seamlessly with BlockBench, which is a free software that can be used for modeling, texturing, and animating.
Note: This page does not focus on explaining how to use Blockbench or texturing. Please watch or read a tutorial online for that.
To start modeling, create a new Generic Model project in the start page. And fill in File Name
. File Name
would be
the ID of the model in Model Engine, so choose wisely.
Before moving any further, there are a few very essential concepts you must learn.
Bones and Cubes
When modeling, it is important to know the differences between Bones
and Cubes
.
Cubes are each individual cube in a model. Bones are folders for cubes, grouping them up. Model Engine achieves smooth animation by taking a Generic or Bedrock model and splitting it into multiple resource pack compatible models, based on the bones. In-game every bone is represented by an armor stand that wears the new models on its head.
Because the new models are put into a resource pack, Cubes
must obey the laws and restrictions of Minecraft Item
Modeling:
- Rotations can only be 0, 22.5, -22.5, 45, and -45. Rotations like 90 and 67.5 do not count.
- Only one axis can have a rotation
However, Bone
has less restriction:
- Can rotate with no limits
You can build the entire model with only bones, but since each bone with a model uses an entity, it is wise
to keep a balance between Bone
and Cube
. bones that don't contain any model are considered Virtual Bone
s, and
don't have armor stands.
In Blockbench, you can create a Bone
by adding a folder/group to the outliner. Then, you can start adding cubes into
the bone.
Let's make a simple animal model. Meet Mr. Capybara!
When modeling, make sure you look at the grid in Blockbench and see if your model is facing North. Model Engine uses North as the default forward direction. The grid is 16x16 pixels big, or 1 block big if you need a sense of scale.
Note: Conveniently, the grid is also exactly the ground level of Minecraft. If you want the model to be standing, make sure the feet are touching that grid!
Parenting
No, this has nothing to do with teaching children.
Parenting is when one bone is placed inside another bone. The outside bone is the parent, and the inside bone is the
child. This is useful because the child bone will follow the parent bone
while animating the model.
It is a nice practice to create a parent-child bone hierarchy, so that when animating, bones will stay at the correct
position.
Usually, bones are paired according to their connection. For example, connecting Arm
(child) to Body
(parent) so
that Arm
will stick to Body
, no matter how Body
moves or rotates.
Let's do this to Mr. Capybara as well.
Pivot Point
Each bone has a pivot point. It determines how the part rotates. For instance, the Arm
bone should rotate near the
side of the Body
bone, so you place the pivot point next to the body. All bones should have a proper pivot point, or
else they will rotate strangely when you animate it.
You can set a bone's pivot point in BlockBench by selecting the pivot tool, then selecting the bone folder (NOT CUBE), and drag the pivot point.
Special Bone Behaviors
Model Engine adds many custom bone behaviors by default. These bone behaviors alter the functionality of a bone, such as enabling head rotation, converting bones into seats, or even adding sub-hitboxes. For more information, check out Bone Behaviors.
Saving Generic Project
After creating a model, you'll want to save it of course! Make sure you are using the correct format.
Save the model, texture, and animations by clicking Files/Save Project
. It should be saved under the .bbmodel
format.