... | ... | @@ -3,8 +3,8 @@ Model Engine needs model files to display them in game. It is designed to work s |
|
|
> 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 or Bedrock Model project (Generic is recommended) 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://github.com/Ticxo/Model-Engine-Wiki/blob/master/wiki/modeling/create_project.png)
|
|
|
> ![](https://github.com/Ticxo/Model-Engine-Wiki/blob/master/wiki/modeling/create_project_2.png)
|
|
|
> ![](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.
|
|
|
|
... | ... | @@ -27,10 +27,10 @@ However, `Bone` has less restriction: |
|
|
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.
|
|
|
|
|
|
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://github.com/Ticxo/Model-Engine-Wiki/blob/master/wiki/modeling/bone_and_cube.png)
|
|
|
> ![](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://github.com/Ticxo/Model-Engine-Wiki/blob/master/wiki/modeling/ME-Model-1.png)
|
|
|
> ![](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.
|
|
|
|
... | ... | @@ -38,19 +38,19 @@ When modeling, make sure you look at the grid in Blockbench and see if your mode |
|
|
|
|
|
## 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://github.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.
|
|
|
|
|
|
Let's do this to Kindletron JR. as well.
|
|
|
> ![](https://github.com/Ticxo/Model-Engine-Wiki/blob/master/wiki/modeling/ME-Model-2.png)
|
|
|
> ![](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.
|
|
|
> ![](https://github.com/Ticxo/Model-Engine-Wiki/blob/master/wiki/modeling/ME-Model-3.png)
|
|
|
> ![](https://raw.githubusercontent.com/Ticxo/Model-Engine-Wiki/master/wiki/modeling/ME-Model-3.png)
|
|
|
|
|
|
## Head Rotation
|
|
|
When mobs look around, the head turns before the rest of the body does. You can do this in Model Engine too!
|
... | ... | @@ -58,7 +58,7 @@ All bones rotate like a body by default. If you want a bone to rotate like a hea |
|
|
A model can have multiple head bones so you can create models with multiple heads. Head bone can also have child bones, but all child bones would also need the `h_` flag in front to act like a head.
|
|
|
|
|
|
We can do this to Kindletron JR. too. I will set `head` bone as the head.
|
|
|
> ![](https://github.com/Ticxo/Model-Engine-Wiki/blob/master/wiki/modeling/ME-Model-4.png)
|
|
|
> ![](https://raw.githubusercontent.com/Ticxo/Model-Engine-Wiki/master/wiki/modeling/ME-Model-4.png)
|
|
|
|
|
|
## Hitbox and Eye Height
|
|
|
After creating the model, all there is left is assigning a hitbox and eye height to the model.
|
... | ... | @@ -67,7 +67,7 @@ The `Hitbox` works exactly like how vanilla hitboxes do. You can hit it, shoot a |
|
|
|
|
|
Create both by adding a bone called `hitbox` with a cube inside. The size of that cube is the hitbox size, and the eye height is the Y value of the `hitbox` bone's pivot point.
|
|
|
Due to Minecraft's limitations, the X and Z values of the hitbox must be the same. Therefore, Model Engine only reads the X size of the cube, and ignores the Z size. The hitbox must also obey **Minecraft's hitbox limit, which is 64x64x64 in blocks (1024x1024x1024 in pixels)**.
|
|
|
> ![](https://github.com/Ticxo/Model-Engine-Wiki/blob/master/wiki/modeling/ME-Model-5.png)
|
|
|
> ![](https://raw.githubusercontent.com/Ticxo/Model-Engine-Wiki/master/wiki/modeling/ME-Model-5.png)
|
|
|
|
|
|
## Multi-hitbox
|
|
|
R2.2.0 has a new feature that allows you to add sub-hitboxes to the model. They are like the normal hitbox mentioned above, but cannot collide with blocks and take suffocation damage. These hitboxes would act like bones and follow their parent, however, they will not rotate with the parent bone, and they must still be square-based.
|
... | ... | @@ -108,7 +108,7 @@ Convert a bone from normal to segmented by adding `seg_` in front of the bone na |
|
|
## Saving Generic Project (Recommended)
|
|
|
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.
|
|
|
> ![](https://github.com/Ticxo/Model-Engine-Wiki/blob/master/wiki/modeling/exporting.png)
|
|
|
> ![](https://raw.githubusercontent.com/Ticxo/Model-Engine-Wiki/master/wiki/modeling/exporting.png)
|
|
|
## Saving Bedrock Project
|
|
|
### **Deprecated. Last supported version: R2.2.0**
|
|
|
Save the model by clicking `Files/Save Model`. It should be saved under the `.json` format. It will want to have a .geo too, but it is unnecessary and should be removed. The texture can be saved by right clicking on it in the `TEXTURES` window and pressing `Save as`. The animations can be saved by going into the Animation tab and clicking `Animation/Save all Animations` You can also just press Ctrl+S to save all of these.
|
... | ... | |