h1. Blender to dpm, a mini tutorial h2. Pre-required tools and reading * Go here - http://developer.valvesoftware.com/wiki/Blender#Installation and download the export script. * Rig / Animate as outlined here - http://developer.valvesoftware.com/wiki/Animation_in_Blender. * Only works with Blender 248a -- 249b (2.50 is a no go). h2. Blender work flow * Select your mesh and armature, export as smd. select Static Mesh. You only need to re-export this smd if the mesh or the rig change. * Now export as Animation Sequence. Preferably you have one track (and smd file) per animation. name it so you know what it is (modelname_attack1.smd for example). * You could possibly use the "Animation Sequence ( ALL )" or "All..." options, but I haven't tried so i cant say if it works. h2. dpmodel work flow * dpmodel needs and a text file telling it how to bake the mesh and animation(s) into a dpm. This text file should look something like: >
# save the model as model.dpm
model model
# move the model this much before saving
origin 0 0 0
# rotate the model 90 degrees around vertical
rotate 90
# scale the model by this amount, 0.5 would be half size and 2.0 would be double size
scale 1
# load the mesh file, this is stored into the dpm as frame 0
scene model.smd
# Each following (if any) smd's are animations
scene model_action1.smd fps 30
scene model_action2.smd fps 30
* Place all smd's and the text file in the same place, execute "dpmodel whatever_you_named_that_text_file". If all goes well you should now have a working dpm (and .framegroups file if its animated) h2. Caveats: * Your mesh needs to have a material assigned to it. The name of the material is what dp will look for to use as texture/shader on the model/mesh/es. * Blender exports what you got selected. make sure you have the relevant (and only the relevant) objects selected. * If export script fail with a encoding error, open it in a text editor and remove the whole top comment block (lines starting with #). There's an illegal character in there according to pyton. I haven't bothered to check closer witch one it could be.