Release v0.1.1 2026-07-10
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# Ember Mantis Duelist
|
||||
|
||||
Original stylized low-poly 3D interpretation of the IWT2 Ember Mantis Duelist concept.
|
||||
|
||||
## Runtime assets
|
||||
|
||||
- `ember_mantis_duelist.glb` — skinned render model and animation clips
|
||||
- `ember_mantis_duelist_collision.glb` — three low-cost collision volumes
|
||||
- `ember_mantis_duelist.asset.json` — dimensions, materials, clip lengths, and conventions
|
||||
- `ember_mantis_duelist.blend` — editable Blender source and preview studio
|
||||
- `previews/` — front, side, three-quarter, and CrossSlash renders
|
||||
|
||||
## Animation clips
|
||||
|
||||
| Clip | Loop | Intended use |
|
||||
| --- | --- | --- |
|
||||
| `Idle` | Yes | Combat-ready idle |
|
||||
| `Walk` | Yes | Forward locomotion driven by game movement |
|
||||
| `Sidestep` | No | Fast lateral reposition |
|
||||
| `Melee` | No | Close-range scythe strike |
|
||||
| `LineSlash` | No | Single glowing arena cut |
|
||||
| `CrossSlash` | No | Two-arm crossed arena cut |
|
||||
| `Recover` | No | Post-attack settle |
|
||||
| `Stagger` | No | Hit reaction |
|
||||
| `Death` | No | Final collapse |
|
||||
|
||||
## React Three Fiber loading
|
||||
|
||||
```tsx
|
||||
const gltf = useGLTF(EMBER_MANTIS_URL)
|
||||
const { actions } = useAnimations(gltf.animations, gltf.scene)
|
||||
|
||||
actions.Idle?.reset().fadeIn(0.15).play()
|
||||
```
|
||||
|
||||
Model uses meters, Blender `-Y` forward, and glTF `+Y` up. Runtime movement should remain authoritative; locomotion clips contain only small pose offsets and no travel root motion.
|
||||
|
||||
## Rebuild
|
||||
|
||||
```sh
|
||||
/Applications/Blender.app/Contents/MacOS/Blender \
|
||||
--background \
|
||||
--factory-startup \
|
||||
--python scripts/blender/build_ember_mantis_duelist.py
|
||||
```
|
||||
|
||||
Build script recreates Blender source, GLBs, metadata, and preview renders deterministically.
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"name": "Ember Mantis Duelist",
|
||||
"assetId": "ember-mantis-duelist",
|
||||
"license": "Original project asset",
|
||||
"sourceConcept": "IWT2 Ember Mantis Duelist side-cel concept",
|
||||
"authoringTool": "5.1.2",
|
||||
"format": "glTF 2.0 binary (GLB)",
|
||||
"coordinateConvention": {
|
||||
"up": "+Y after glTF export",
|
||||
"blenderForward": "-Y",
|
||||
"units": "meters"
|
||||
},
|
||||
"runtime": {
|
||||
"renderMesh": "EmberMantis_Body",
|
||||
"armature": "EmberMantis_Rig",
|
||||
"collisionAsset": "ember_mantis_duelist_collision.glb",
|
||||
"materials": [
|
||||
"M_Chitin",
|
||||
"M_CrimsonArmor",
|
||||
"M_DeepRed",
|
||||
"M_EyeGlow",
|
||||
"M_BoneBlade",
|
||||
"M_EmberGlow"
|
||||
],
|
||||
"trianglesApprox": 1574
|
||||
},
|
||||
"animations": {
|
||||
"Idle": {
|
||||
"frames": 60,
|
||||
"seconds": 2.0,
|
||||
"loop": true
|
||||
},
|
||||
"Walk": {
|
||||
"frames": 30,
|
||||
"seconds": 1.0,
|
||||
"loop": true
|
||||
},
|
||||
"Sidestep": {
|
||||
"frames": 18,
|
||||
"seconds": 0.6,
|
||||
"loop": false
|
||||
},
|
||||
"Melee": {
|
||||
"frames": 24,
|
||||
"seconds": 0.8,
|
||||
"loop": false
|
||||
},
|
||||
"LineSlash": {
|
||||
"frames": 32,
|
||||
"seconds": 1.067,
|
||||
"loop": false
|
||||
},
|
||||
"CrossSlash": {
|
||||
"frames": 38,
|
||||
"seconds": 1.267,
|
||||
"loop": false
|
||||
},
|
||||
"Recover": {
|
||||
"frames": 22,
|
||||
"seconds": 0.733,
|
||||
"loop": false
|
||||
},
|
||||
"Stagger": {
|
||||
"frames": 28,
|
||||
"seconds": 0.933,
|
||||
"loop": false
|
||||
},
|
||||
"Death": {
|
||||
"frames": 72,
|
||||
"seconds": 2.4,
|
||||
"loop": false
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
|
After Width: | Height: | Size: 849 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 866 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 878 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 869 KiB |
Reference in New Issue
Block a user