Mobs X and B3D files

From Minetest
Revision as of 22:45, 1 September 2023 by Poetry (talk | contribs)




This subject area:





Introduction

This page is for mobs developers and world hosts. It discusses Minetest mobs models with a focus on ".x" and ".b3d" files.

You should probably look at the Mobs Development page as well.

X and B3D formats 

Mob models exist in a source format, typically a ".blend" [Blender data] file, and in a published format, typically an ".x" or ".b3d" file. The source file can't be used directly in Minetest. Somebody needs to use a tool to create a published file from a model source file. The published file can then be used in Minetest.

".x" is an older ASCII format related to DirectX. The format is deprecated because it's very space inefficient. ".b3d" is a newer and preferred model format that is typically much smaller.

Where possible, these days, X published models should replaced with B3D published models.

Replacing X with B3D

Regrettably, there is no simple way to convert X to B3D that preserves animations. The best way to deal with an ".x" file is to obtain the original ".blend" source file and to create a new ".b3d" file from that.

If the ".blend" file can't be obtained, there is an alternative way to convert ".x" to ".b3d" but it's for experts:

One can convert a ".x" file to an intermediate file using -- losing the original animation -- then import that file into Blender and recreate the animation manually. After that, one can export the result to ".b3d" using joric's b3d export plugin for Blender 2.8.

To convert ".x" to an intermediate file, one can use Poikilos's fork of b3view. Press stop and set frame to 0 first.

Editors: What is the intermediate file? A ".b3d" without animations?

SAM Viewer

For working with player models, which are similar to mobs models, there is a more advanced viewer that can simulate Lua values for testing wield item settings and other settings:

SAM-Viewer

This is by stujones11, long disappeared, and may not work. There is a Poikilos fork that is only a copy of the upstream repo for now (Feb 2020) but may be updated later.