Comments (1)
modeldecompile
is a powerful tool, decompiles any model format (DPM, IQM, MD3, ...).
There's a lack of documentation on this robust "model disassembler" tool.
I discovered something magical, if you put the .dpm file and .dpm.framegroups file (also, .iqm, .iqm.framegroups, md3...) in
(darkplaces_game
can be xonotic
, quake
, wrath
or any DarkPlaces game)
- Windows:
%USERPROFILE%\Saved Games\darkplaces_game\data\
- Linux:
~/.darkplaces_game
- Mac:
~/Library/Application Support/darkplaces_game
- Or in
darkplaces_game-data.pk3dir
directory.
the tool decompiles the mesh and the animations of a model in one action (the animations aren't distributed per actions).
No matter if the model is a weapon, a player or any object/entity.
An example of a .framegroups file from a player model (okrobot1.dpm.framegroups
):
1 41 30 0 // okrobot1 die1
67 56 30 0 // okrobot1 die2
133 11 15 1 // okrobot1 draw
144 6 10 1 // okrobot1 duck
150 17 15 1 // okrobot1 duckwalk
167 31 40 0 // okrobot1 duckjump
198 1 10 1 // okrobot1 duckidle
199 101 15 1 // okrobot1 idle
300 17 20 1 // okrobot1 jump
317 6 10 0 // okrobot1 pain1
323 6 10 0 // okrobot1 pain2
329 6 30 0 // okrobot1 shoot
335 17 15 1 // okrobot1 taunt
352 17 30 1 // okrobot1 run
369 17 30 1 // okrobot1 runbackwards
386 17 30 1 // okrobot1 strafeleft
403 17 30 1 // okrobot1 straferight
41 1 10 0 // okrobot4 dead1
122 1 10 0 // okrobot4 dead2
424 17 30 1 // okrobot1 forwardright
441 17 30 1 // okrobot1 forwardleft
458 17 30 1 // okrobot1 backright
475 17 30 1 // okrobot1 backleft
492 21 15 1 // okrobot1 melee
The hacky way to obtain all animations of a model is setting the last keyframe in an exaggerated value (don't care if the fps have that value or aren't loopable) of the .framegroups file, the file must contain ONLY one line:
1 9999 30 0 // LegendGuard's legendary method
What that legendary method does is setting the initial keyframe to 1
and 9999
the last keyframe, we can know 9999
doesn't exist but reaches into a limit. (ignore 30
(means fps) and 0
(means nonloop, if 1
means loopable)).
In the game, execute modeldecompile any_model.dpm
(any_model.iqm, any_model.md3, ...).
After that, go to the data directory where the files were decompiled.
Use the SMD files to import into Blender using Blender Source Tools addon.
First, import the mesh (ref1.smd
) with the Bone Append Mode set to "Make New Armature" and "Import Animations" option disabled.
After, select the armature of the imported model (orange highlighted) and import other SMD file (groupified_0_anim.smd
), before that, set the Bone Append Mode to "Validate Against Target" and enable "Import Animations" option. The animations in one action are applied to the armature.
Result (video): https://streamable.com/1egthv
The actions can be created with the imported one to separate the keyframes of every animation.
Anyway, I'm gonna to close the issue, I should have renamed to "modeldecompile
tool isn't documented" :P
from darkplaces.
Related Issues (20)
- q3bsp lightmap no longer bound to light style HOT 4
- Current beta - gamedir change corrupts cvars HOT 9
- droptofloor issue HOT 2
- Textures in a fullbright map (a Q1 map with no light data). HOT 3
- Zirconization HOT 7
- Q1 Sky After The First Never Loads HOT 3
- DarkPlaces Misses Keyups and Why + Fix HOT 1
- r_drawworld 0 fails (fix)
- Can not play Alkaline 1.2 mod HOT 1
- Rogue lavamen fall through floor
- Ctrl + Plus not working
- fails to set video mode
- Add support for Bullet physics engine
- Poor performance in Peril mod maps HOT 2
- r_fakelight 2 no longer works (missing in glsl shader text) cvar remains
- Fiends get briefly stuck after leaping
- Quake Remaster Code Support For DarkPlaces HOT 2
- Allow particle effects to spawn other particle effects
- centerprint text should also go into the console
- Allow rtlight spotlights without cubemaps HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from darkplaces.