]> de.git.xonotic.org Git - xonotic/xonotic.wiki.git/blob - Dpmodel.md
rename before merge
[xonotic/xonotic.wiki.git] / Dpmodel.md
1 Dpm models for Xonotic
2 ======================
3
4 1st you need dpm compiler, get it from http://icculus.org/twilight/darkplaces/files , search for dpmodel(blahblah).zip, try to get latest one
5
6 2nd you need hl2 smd exporter for your modeling application:
7 \> \> \> 3dsmax version 6-8 : http://www.chaosincarnate.net/cannonfodder/3dsmax.php
8
9 \> \> \> Maya : check here http://developer.valvesoftware.com/wiki/Maya
10
11 \> \> \> Blender : there was working smd exporter fixed by div0 at Xonotic forums. This MAY be it I'm not sure: http://ai.kurotorobert.com/xonotic/files/Blender/Exporters/hl2\_smd/hl2\_smd\_mesh\_export\_div0.7z
12
13 there are 2 types of smd files
14
15 \>reference smd, that contain bones and mesh and uv coords
16
17 \>animation smd, that contain only animation data, each animation is in separate file
18
19 if you are using same skeleton for many models you can share animation files
20
21 dpmodel converter takes these smd files and make single dpm file that contains all model info and animations inside, lately it started to generate .[framegroups](Framegroups) file too, we will need this one, it will spit lots of other strange file but you wont need them
22
23 dpmodel need configuration file, its just simple text file
24
25 it looks like that:
26
27 `# save the model as box.dpm`
28 `model box`
29 `# move the model this much before saving`
30 `origin 0 0 0`
31 `# rotate the model 0 degrees around vertical`
32 `rotate 0`
33 `# scale the model by this amount, 0.5 would be half size and 2.0 would be doule size`
34 `scale 1`
35 `# allows .framegroups file generation`
36 `framegroups`
37 `# load the mesh file, first reference then animation files`
38 `scene ref.smd`
39 `scene idle.smd fps 30`
40 `scene pain.smd fps 30 noloop`
41 `scene death.smd fps 10 noloop`
42
43 I think that comments explained it all quite well :)
44
45 you run dpmodel.exe configfile.txt
46
47 and that's all