Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Model Engine 4 Model Engine 4
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 108
    • Issues 108
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • MythicCraft
  • Model Engine 4Model Engine 4
  • Wiki
    • Modeling
  • Creating a Model

Creating a Model · Changes

Page history
Update Creating-a-Model.md authored Sep 23, 2023 by Ticxo's avatar Ticxo
Hide whitespace changes
Inline Side-by-side
Showing with 49 additions and 19 deletions
+49 -19
  • Modeling/Creating-a-Model.md Modeling/Creating-a-Model.md +49 -19
  • No files found.
Modeling/Creating-a-Model.md
View page @ ff208331
# Model
Model Engine needs model files to display them in game. It is designed to work seamlessly with [BlockBench](https://blockbench.net/), 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.
Model Engine needs model files to display them in game. It is designed to work seamlessly
with [BlockBench](https://blockbench.net/), 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.
> ![](https://raw.githubusercontent.com/Ticxo/Model-Engine-Wiki/master/wiki/modeling/create_project.png)
> ![](https://raw.githubusercontent.com/Ticxo/Model-Engine-Wiki/master/wiki/modeling/create_project_2.png)
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.
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:
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
* Cannot be larger than 112x112x112 pixels, or 7x7x7 blocks (technically 3x3x3 blocks, but Model Engine uses display sizes to work around it)
> Note: You can hold shift while rotating to restrict your rotation values, however, they can still become illegal. Personally, I (Flame) like to create my model in Blockbench's Block/Item Project because it automatically keeps the rotations legal, then imports them into Generic Project.
However, `Bone` has less restriction:
* Can rotate with no limits
* **Cannot be larger than 112x112x112 pixels (To make a model larger than this, combine bones together using parenting.)**
You can build the entire model with only bones, but since each bone with a model represents an armor stand, 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.
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.
In Blockbench, you can create a `Bone` by adding a folder/group to the outliner. Then, you can start adding cubes into
the bone.
> ![](https://raw.githubusercontent.com/Ticxo/Model-Engine-Wiki/master/wiki/modeling/bone_and_cube.png)
Let's make a simple humanoid model. Meet Kindletron JR.
> ![](https://raw.githubusercontent.com/Ticxo/Model-Engine-Wiki/master/wiki/modeling/ME-Model-1.png)
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.
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!
> 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](https://raw.githubusercontent.com/Ticxo/Model-Engine-Wiki/wiki/Everything-about-animating) the model.
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](https://raw.githubusercontent.com/Ticxo/Model-Engine-Wiki/wiki/Everything-about-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.
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 Kindletron JR. as well.
> ![](https://raw.githubusercontent.com/Ticxo/Model-Engine-Wiki/master/wiki/modeling/ME-Model-2.png)
## 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.
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.
> ![](https://raw.githubusercontent.com/Ticxo/Model-Engine-Wiki/master/wiki/modeling/ME-Model-3.png)
## Saving Generic Project (Recommended)
## 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](./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.
Save the model, texture, and animations by clicking `Files/Save Project`. It should be saved under the `.bbmodel`
format.
> ![](https://raw.githubusercontent.com/Ticxo/Model-Engine-Wiki/master/wiki/modeling/exporting.png)
Clone repository
Home
FAQ / Common Issues
Commands & Permissions
Configuration
Modeling
  • Creating a Model
  • Animating a Model
  • Bone Behaviors
  • Importing a Model
  • Scriptable Keyframes
MythicMobs
  • Mechanics: Model
  • Mechanics: VFX
  • Conditions
  • Targeters
API
Technical
  • Terminology
  • Animation Systems
  • Mount Controllers