Monad Engine da02fba2
> Undercity Codex_
Loading...
Searching...
No Matches
ModelImporter.h
Go to the documentation of this file.
1/**
2 * @file ModelImporter.h
3 * @ingroup mnd_io
4 * @brief Assimp-backed model loader. Handles FBX / glTF / OBJ.
5 *
6 * `Import()` parses the asset, builds Mesh + Material + Skeleton +
7 * SkeletalAnimationClip data, and constructs a GameObject hierarchy
8 * mirroring the file's node tree.
9 *
10 * Static meshes get a MeshComponent. Skinned meshes get a
11 * SkinnedMeshComponent and the model root gets an AnimationComponent
12 * carrying the skeleton + clips, wired as the palette source for every
13 * SkinnedMeshComponent in the hierarchy.
14 *
15 * The scene file's "type" field can be "fbx", "model", or any future
16 * extension Assimp supports — the actual format is detected by Assimp.
17 */
18
19#pragma once
20
21#include <string>
22
23namespace mnd
24{
25
26class GameObject;
27class Scene;
28
30{
31public:
32 /// Load `path` (relative to assets folder) and build a GameObject hierarchy under `scene`. Returns nullptr on failure.
33 static GameObject *Import(const std::string &path, Scene *scene);
34};
35
36} // namespace mnd
Node in the scene graph: a named transform that owns components and children.
Definition GameObject.h:91
static GameObject * Import(const std::string &path, Scene *scene)
Load path (relative to assets folder) and build a GameObject hierarchy under scene....
Container for the entire game object graph.
Definition Scene.h:59