❖
Monad Engine
da02fba2
>
Undercity Codex
_
Loading...
Searching...
No Matches
IdleClip.h
Go to the documentation of this file.
1
/**
2
* @file IdleClip.h
3
* @ingroup mnd_animation
4
* @brief Procedural skeletal idle clip — used when an asset ships rigged but
5
* without baked animations. Produces a gentle breathing + sway loop on
6
* common humanoid bone names (shoulders, biceps, forearms, wrists).
7
*/
8
9
#pragma once
10
11
#include <memory>
12
13
#include "
Types.h
"
14
15
namespace
mnd
16
{
17
18
class
Skeleton;
19
struct
SkeletalAnimationClip;
20
21
/**
22
* @brief Build a looping breathing/sway clip targeting whichever of the
23
* canonical arm bones exist in `skeleton`. Bones it doesn't find are
24
* silently skipped, so this works for full bodies, FPS arms-only rigs,
25
* and partial rigs alike.
26
*
27
* @param skeleton Source skeleton; bind-pose decomposition is read for fallback.
28
* @param duration Clip length in seconds (default 4 — a slow breath cycle).
29
* @return Shared SkeletalAnimationClip tagged with name "idle".
30
*/
31
std::shared_ptr<SkeletalAnimationClip>
MakeBreathingIdleClip
(
const
Skeleton &skeleton,
32
f32
duration = 4.0f,
33
f32
ampScale = 1.0f);
34
35
}
// namespace mnd
Types.h
Engine-wide primitive type aliases and GLM math imports.
mnd::f32
float f32
32-bit IEEE float — the standard GL scalar type.
Definition
Types.h:40
mnd
Definition
IdleClip.cpp:13
mnd::MakeBreathingIdleClip
std::shared_ptr< SkeletalAnimationClip > MakeBreathingIdleClip(const Skeleton &skeleton, f32 duration, f32 ampScale)
Build a looping breathing/sway clip targeting whichever of the canonical arm bones exist in skeleton....
Definition
IdleClip.cpp:50
engine
source
animation
IdleClip.h
Generated by
1.9.8