understanding model animation <solved>

Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: understanding model animation <solved>

Re: understanding model animation <solved>

by CBM » Sat Oct 26, 2019 11:21 am

Cherno wrote:INTERPOLATEDDOUBLEFRAMES means that double frames are handled as one with a tic length equal to the tic lengths of both frames combined, in regards to frame interpolation. It's meant for vanilla Doom monsters who have See states like AABBCCDD.

Code: Select all

AABBCCDD 4
becomes

Code: Select all

ABCD 8
as far as interpolation is concerned (movement and everything else is not affected). Without it, it would appear as if the monster quickly transitions to the next aniomation frame and then freeze a short time before transitioning to the next. With the flag, the transitioning is continuous.
okay, thanks

Re: understanding model animation <solved>

by Cherno » Sat Oct 26, 2019 5:57 am

INTERPOLATEDDOUBLEFRAMES means that double frames are handled as one with a tic length equal to the tic lengths of both frames combined, in regards to frame interpolation. It's meant for vanilla Doom monsters who have See states like AABBCCDD.

Code: Select all

AABBCCDD 4
becomes

Code: Select all

ABCD 8
as far as interpolation is concerned (movement and everything else is not affected). Without it, it would appear as if the monster quickly transitions to the next aniomation frame and then freeze a short time before transitioning to the next. With the flag, the transitioning is continuous.

Re: understanding model animation - need help

by CBM » Fri Oct 25, 2019 10:43 pm

R4L wrote:
CBM wrote:I was looking at this page

http://r4ldoom.blogspot.com/2018/02/the ... -doom.html

the start of a how to guide but it seems it was abandoned more than 1,5 years ago
5 years ago? The link even says 2018 lol.

I plan on finishing it, just haven't had time between real world work. Glad you got it figured out though.
look again... :)

I did not write 5.. I wrote 1,5 (aka 1½) .. which is accurate... since the guide is dated february 2018 and we now have october 2019.. soon to be november

in case others gets stuck as well...
What I have learned about using md2 models in gzdoom so far...

metadata should contain path to md2 file, ex MD2_PATH models/helpers/sydney ( does seem to work without it though )

it seems gzdoom will only find the first 10 md2 animation groups, but each group does seem to be able to have many many frames

format for frames are...

FRAME <4 letter/number spritename> <frameindex> <modelindex> "<animation group name><3 digit animation group index>"

ex

Frame Q2wv A 0 "wave000"

when animating multiple models, each must have an entry ie

Frame Q2wv A 0 "wave000"
Frame Q2wv A 1 "wave000"

Q2wv A will play for model 0 and 1, ie monsterbody and monsterhead

BUT .. I still do not know what INTERPOLATEDOUBLEDFRAMES is

I hope you find time to finish the guide, part 1 was usefull

Re: understanding model animation - need help

by R4L » Thu Oct 24, 2019 5:22 am

CBM wrote:I was looking at this page

http://r4ldoom.blogspot.com/2018/02/the ... -doom.html

the start of a how to guide but it seems it was abandoned more than 1,5 years ago
5 years ago? The link even says 2018 lol.

I plan on finishing it, just haven't had time between real world work. Glad you got it figured out though.

Re: understanding model animation - need help

by CBM » Wed Oct 23, 2019 8:52 am

I had another look at the genetech mod and I think I have finally figured it out

I looked at the gunner.md2 model

it has 70 stand frames and apparently it means that they must be adressed as "stand00" to "stand69" instead of "stand"

not intuitive but atleast now I know :D

next step... that I actually READ what people post to me :D

Re: understanding model animation - need help

by CBM » Tue Oct 22, 2019 2:18 am

I was looking at this page

http://r4ldoom.blogspot.com/2018/02/the ... -doom.html

the start of a how to guide but it seems it was abandoned more than 1,5 years ago

the guide states this

Code: Select all

You can make an animation in Blender, and every frame you use can be defined in MODELDEF with FrameIndex. If you have a shooting animation for example that's only 5 frames, you could do something like:

FrameIndex SHOT A 0 0
FrameIndex SHOT B 0 1
FrameIndex SHOT C 0 2
FrameIndex SHOT D 0 3
FrameIndex SHOT E 0 4
the first 0 in SHOT A 0 0 ... what is that?

lets say the model has a shooting animation with 5 frames and then a walking animation also with 5 frames, could I then do this? :

Code: Select all

FrameIndex SHOT A 0 0
FrameIndex SHOT B 0 1
FrameIndex SHOT C 0 2
FrameIndex SHOT D 0 3
FrameIndex SHOT E 0 4
FrameIndex WALK A 1 0
FrameIndex WALK B 1 1
FrameIndex WALK C 1 2
FrameIndex WALK D 1 3
FrameIndex WALK E 1 4
?

Re: understanding model animation

by CBM » Mon Oct 21, 2019 10:36 am

it seems like it is very wrong.. this is my modeldef

Code: Select all

Model sydney
{ 
   Path "Models\monsters\sydney"
   Skin 0 "sydney.png"
   Model 0 "tris.md2"
   Scale 1.5 1.5 1.5
	
	INTERPOLATEDOUBLEDFRAMES

//spawn - quake2 spawn sets a and b (S) 
	FrameIndex Q2SA A 0 1
	FrameIndex Q2SA b 0 2
	FrameIndex Q2SA c 0 3
	FrameIndex Q2SA d 0 4
	FrameIndex Q2SA e 0 5
	FrameIndex Q2SA f 0 6
	FrameIndex Q2SA g 0 7
	FrameIndex Q2SA h 0 8
	FrameIndex Q2SA i 0 9
	FrameIndex Q2SA j 0 10
	FrameIndex Q2SA k 0 11
	FrameIndex Q2SA l 0 12
	FrameIndex Q2SA m 0 13
	FrameIndex Q2SA n 0 14
	FrameIndex Q2SA o 0 15
	FrameIndex Q2SA p 0 16
	FrameIndex Q2SA q 0 17
	FrameIndex Q2SA r 0 18
	FrameIndex Q2SA s 0 19
	FrameIndex Q2SA t 0 20
	FrameIndex Q2SA u 0 21
	FrameIndex Q2SA v 0 22
	FrameIndex Q2SA w 0 23
	FrameIndex Q2SA x 0 24
	FrameIndex Q2SA y 0 25
	FrameIndex Q2SA z 0 26
	FrameIndex Q2SB a 0 27
	FrameIndex Q2Sb b 0 28
	FrameIndex Q2Sb c 0 29
	FrameIndex Q2Sb d 0 30
	FrameIndex Q2Sb e 0 31
	FrameIndex Q2Sb f 0 32
	FrameIndex Q2Sb g 0 33
	FrameIndex Q2Sb h 0 34
	FrameIndex Q2Sb i 0 35
	FrameIndex Q2Sb j 0 36
	FrameIndex Q2Sb k 0 37
	FrameIndex Q2Sb l 0 38
	FrameIndex Q2Sb m 0 39
	FrameIndex Q2Sb n 0 40

//run - quake 2 run set a (R)
	FrameIndex Q2rA A 0 41
	FrameIndex Q2rA b 0 42
	FrameIndex Q2rA c 0 43
	FrameIndex Q2rA d 0 44
	FrameIndex Q2rA e 0 45
	FrameIndex Q2rA f 0 46

//attack - quake 2 attack set a (A)
	FrameIndex Q2aA A 0 47
	FrameIndex Q2aA b 0 48
	FrameIndex Q2aA c 0 49
	FrameIndex Q2aA d 0 50
	FrameIndex Q2aA e 0 51
	FrameIndex Q2aA f 0 52
	FrameIndex Q2aA g 0 53
	FrameIndex Q2aA h 0 54

//pain - quake 2 pain set a (P)
	FrameIndex Q2pA A 0 55
	FrameIndex Q2pA b 0 56
	FrameIndex Q2pA c 0 57
	FrameIndex Q2pA d 0 58
	FrameIndex Q2pA e 0 59
	FrameIndex Q2pA f 0 60
	FrameIndex Q2pA g 0 61
	FrameIndex QppA h 0 62  //unknown sprite? - only 61 sprites????
	FrameIndex QppA i 0 63
	FrameIndex Q2pA j 0 64
	FrameIndex Q2pA k 0 65
	FrameIndex Q2pA l 0 66

//jump - quake 2 jump set a (J)
	FrameIndex Q2jA A 0 67
	FrameIndex Q2jA b 0 68
	FrameIndex Q2jA c 0 69
	FrameIndex Q2jA d 0 70
	FrameIndex Q2jA e 0 71
	FrameIndex Q2jA f 0 72

//flip - quake 2 flip set a (F)
	FrameIndex Q2fA A 0 73
	FrameIndex Q2fA b 0 74
	FrameIndex Q2fA c 0 75
	FrameIndex Q2fA d 0 76
	FrameIndex Q2fA e 0 77
	FrameIndex Q2fA f 0 78
	FrameIndex Q2fA g 0 79
	FrameIndex QpfA h 0 80
	FrameIndex QpfA i 0 81
	FrameIndex Q2fA j 0 82
	FrameIndex Q2fA k 0 83
	FrameIndex Q2fA l 0 84

//salute - quake 2 salute (SL)
	FrameIndex Q2sl A 0 85
	FrameIndex Q2sl b 0 86
	FrameIndex Q2sl c 0 87
	FrameIndex Q2sl d 0 88
	FrameIndex Q2sl e 0 89
	FrameIndex Q2sl f 0 90
	FrameIndex Q2sl g 0 91
	FrameIndex Qpsl h 0 92
	FrameIndex Qpsl i 0 93
	FrameIndex Q2sl j 0 94
	FrameIndex Q2sl k 0 95

//taunt - quake 2 taunt set a (T)
	FrameIndex Q2tA A 0 96
	FrameIndex Q2tA b 0 97
	FrameIndex Q2tA c 0 98
	FrameIndex Q2tA d 0 99
	FrameIndex Q2tA e 0 100
	FrameIndex Q2tA f 0 101
	FrameIndex Q2tA g 0 102
	FrameIndex Q2tA h 0 103
	FrameIndex Q2tA i 0 104
	FrameIndex Q2tA j 0 105
	FrameIndex Q2tA k 0 106
	FrameIndex Q2tA l 0 107
	FrameIndex Q2tA m 0 108
	FrameIndex Q2tA n 0 109
	FrameIndex Q2tA o 0 110
	FrameIndex Q2tA p 0 111
	FrameIndex Q2tA q 0 112

//wave - quake 2 wave (wv)
	FrameIndex Q2wv A 0 113
	FrameIndex Q2wv b 0 114
	FrameIndex Q2wv c 0 115
	FrameIndex Q2wv d 0 116
	FrameIndex Q2wv e 0 117
	FrameIndex Q2wv f 0 118
	FrameIndex Q2wv g 0 119
	FrameIndex Q2wv h 0 120
	FrameIndex Q2wv i 0 121
	FrameIndex Q2wv j 0 122
	FrameIndex Q2wv k 0 123
	FrameIndex Q2wv l 0 124
	FrameIndex Q2wv m 0 125
	FrameIndex Q2wv n 0 126
	FrameIndex Q2wv o 0 127
	FrameIndex Q2wv p 0 128
	FrameIndex Q2wv q 0 129

//point  - quake 2 point (pt)
	FrameIndex Q2pt A 0 130
	FrameIndex Q2pt b 0 131
	FrameIndex Q2pt c 0 132
	FrameIndex Q2pt d 0 133
	FrameIndex Q2pt e 0 134
	FrameIndex Q2pt f 0 135
	FrameIndex Q2pt g 0 136
	FrameIndex Q2pt h 0 137
	FrameIndex Q2pt i 0 138
	FrameIndex Q2pt j 0 139
	FrameIndex Q2pt k 0 140
	FrameIndex Q2pt l 0 141

//idle (crstand) - quake 2 idle set a (i)
	FrameIndex Q2iA A 0 142
	FrameIndex Q2iA b 0 143
	FrameIndex Q2iA c 0 144
	FrameIndex Q2iA d 0 145
	FrameIndex Q2iA e 0 146
	FrameIndex Q2iA f 0 147
	FrameIndex Q2iA g 0 148
	FrameIndex Q2iA h 0 149
	FrameIndex Q2iA i 0 150
	FrameIndex Q2iA j 0 151
	FrameIndex Q2iA k 0 152
	FrameIndex Q2iA l 0 153
	FrameIndex Q2iA m 0 154
	FrameIndex Q2iA n 0 155
	FrameIndex Q2iA o 0 156
	FrameIndex Q2iA p 0 157
	FrameIndex Q2iA q 0 158
	FrameIndex Q2iA r 0 159
	FrameIndex Q2iA s 0 160

//walk (crwalk) - quake 2 walk set a (w)
	FrameIndex Q2wA A 0 161
	FrameIndex Q2wA b 0 162
	FrameIndex Q2wA c 0 163
	FrameIndex Q2wA d 0 164
	FrameIndex Q2wA e 0 165
	FrameIndex Q2wA f 0 166

//crattack - quake 2 cr attack (CA)
	FrameIndex Q2cA A 0 167
	FrameIndex Q2cA b 0 168
	FrameIndex Q2cA c 0 169
	FrameIndex Q2cA d 0 170
	FrameIndex Q2cA e 0 171
	FrameIndex Q2cA f 0 172
	FrameIndex Q2cA g 0 173
	FrameIndex Q2cA h 0 174
	FrameIndex Q2cA i 0 175

//crpain - quake 2 cr pain (CP)
	FrameIndex Q2cp A 0 176
	FrameIndex Q2cp b 0 177
	FrameIndex Q2cp c 0 178
	FrameIndex Q2cp d 0 179

//xdeath (crdeath) - quake 2 xdeath set a (x)
	FrameIndex Q2xA A 0 180
	FrameIndex Q2xA b 0 181
	FrameIndex Q2xA c 0 182
	FrameIndex Q2xA d 0 183
	FrameIndex Q2xA e 0 184

//death - quake 2 death set a (d)
	FrameIndex Q2dA A 0 185
	FrameIndex Q2dA b 0 186
	FrameIndex Q2dA c 0 187
	FrameIndex Q2dA d 0 188
	FrameIndex Q2dA e 0 189
	FrameIndex Q2dA f 0 190
	FrameIndex Q2dA g 0 200
	FrameIndex Q2dA h 0 201
	FrameIndex Q2dA i 0 202
	FrameIndex Q2dA j 0 203
	FrameIndex Q2dA k 0 204
	FrameIndex Q2dA l 0 205
	FrameIndex Q2dA m 0 206
	FrameIndex Q2dA n 0 207
	FrameIndex Q2dA o 0 208
	FrameIndex Q2dA p 0 209
	FrameIndex Q2dA q 0 210
	FrameIndex Q2dA r 0 211
	FrameIndex Q2dA s 0 212
	FrameIndex Q2dA t 0 213
}
the model.. sydney..has the following frames

//spawn - 40 frames
//run - 6 frames
//attack - 8 frames
//pain - 12 frames
//jump - 6 frames

//flip - 12 frames
//salute - 11 frames
//taunt - 17 frames
//wave -11 frames
//point - 12 frames

//idle (crstand) - 19 frames
//walk (crwalk) - 6 frames
//crattack - 9 frames
//crpain - 4 frames
//xdeath (crdeath) - 5 frames

//death - 20 frames

16 animations in total

what am I doing wrong?

it apparently thinks the model only has 61 frames in total? or 62 if it starts with index 0

Re: understanding model animation

by Guest » Mon Oct 21, 2019 10:35 am

it seems like it is very wrong.. this is my modeldef

[code]
Model sydney
{
Path "Models\monsters\sydney"
Skin 0 "sydney.png"
Model 0 "tris.md2"
Scale 1.5 1.5 1.5

INTERPOLATEDOUBLEDFRAMES

//spawn - quake2 spawn sets a and b (S)
FrameIndex Q2SA A 0 1
FrameIndex Q2SA b 0 2
FrameIndex Q2SA c 0 3
FrameIndex Q2SA d 0 4
FrameIndex Q2SA e 0 5
FrameIndex Q2SA f 0 6
FrameIndex Q2SA g 0 7
FrameIndex Q2SA h 0 8
FrameIndex Q2SA i 0 9
FrameIndex Q2SA j 0 10
FrameIndex Q2SA k 0 11
FrameIndex Q2SA l 0 12
FrameIndex Q2SA m 0 13
FrameIndex Q2SA n 0 14
FrameIndex Q2SA o 0 15
FrameIndex Q2SA p 0 16
FrameIndex Q2SA q 0 17
FrameIndex Q2SA r 0 18
FrameIndex Q2SA s 0 19
FrameIndex Q2SA t 0 20
FrameIndex Q2SA u 0 21
FrameIndex Q2SA v 0 22
FrameIndex Q2SA w 0 23
FrameIndex Q2SA x 0 24
FrameIndex Q2SA y 0 25
FrameIndex Q2SA z 0 26
FrameIndex Q2SB a 0 27
FrameIndex Q2Sb b 0 28
FrameIndex Q2Sb c 0 29
FrameIndex Q2Sb d 0 30
FrameIndex Q2Sb e 0 31
FrameIndex Q2Sb f 0 32
FrameIndex Q2Sb g 0 33
FrameIndex Q2Sb h 0 34
FrameIndex Q2Sb i 0 35
FrameIndex Q2Sb j 0 36
FrameIndex Q2Sb k 0 37
FrameIndex Q2Sb l 0 38
FrameIndex Q2Sb m 0 39
FrameIndex Q2Sb n 0 40

//run - quake 2 run set a (R)
FrameIndex Q2rA A 0 41
FrameIndex Q2rA b 0 42
FrameIndex Q2rA c 0 43
FrameIndex Q2rA d 0 44
FrameIndex Q2rA e 0 45
FrameIndex Q2rA f 0 46

//attack - quake 2 attack set a (A)
FrameIndex Q2aA A 0 47
FrameIndex Q2aA b 0 48
FrameIndex Q2aA c 0 49
FrameIndex Q2aA d 0 50
FrameIndex Q2aA e 0 51
FrameIndex Q2aA f 0 52
FrameIndex Q2aA g 0 53
FrameIndex Q2aA h 0 54

//pain - quake 2 pain set a (P)
FrameIndex Q2pA A 0 55
FrameIndex Q2pA b 0 56
FrameIndex Q2pA c 0 57
FrameIndex Q2pA d 0 58
FrameIndex Q2pA e 0 59
FrameIndex Q2pA f 0 60
FrameIndex Q2pA g 0 61
FrameIndex QppA h 0 62 //unknown sprite? - only 61 sprites????
FrameIndex QppA i 0 63
FrameIndex Q2pA j 0 64
FrameIndex Q2pA k 0 65
FrameIndex Q2pA l 0 66

//jump - quake 2 jump set a (J)
FrameIndex Q2jA A 0 67
FrameIndex Q2jA b 0 68
FrameIndex Q2jA c 0 69
FrameIndex Q2jA d 0 70
FrameIndex Q2jA e 0 71
FrameIndex Q2jA f 0 72

//flip - quake 2 flip set a (F)
FrameIndex Q2fA A 0 73
FrameIndex Q2fA b 0 74
FrameIndex Q2fA c 0 75
FrameIndex Q2fA d 0 76
FrameIndex Q2fA e 0 77
FrameIndex Q2fA f 0 78
FrameIndex Q2fA g 0 79
FrameIndex QpfA h 0 80
FrameIndex QpfA i 0 81
FrameIndex Q2fA j 0 82
FrameIndex Q2fA k 0 83
FrameIndex Q2fA l 0 84

//salute - quake 2 salute (SL)
FrameIndex Q2sl A 0 85
FrameIndex Q2sl b 0 86
FrameIndex Q2sl c 0 87
FrameIndex Q2sl d 0 88
FrameIndex Q2sl e 0 89
FrameIndex Q2sl f 0 90
FrameIndex Q2sl g 0 91
FrameIndex Qpsl h 0 92
FrameIndex Qpsl i 0 93
FrameIndex Q2sl j 0 94
FrameIndex Q2sl k 0 95

//taunt - quake 2 taunt set a (T)
FrameIndex Q2tA A 0 96
FrameIndex Q2tA b 0 97
FrameIndex Q2tA c 0 98
FrameIndex Q2tA d 0 99
FrameIndex Q2tA e 0 100
FrameIndex Q2tA f 0 101
FrameIndex Q2tA g 0 102
FrameIndex Q2tA h 0 103
FrameIndex Q2tA i 0 104
FrameIndex Q2tA j 0 105
FrameIndex Q2tA k 0 106
FrameIndex Q2tA l 0 107
FrameIndex Q2tA m 0 108
FrameIndex Q2tA n 0 109
FrameIndex Q2tA o 0 110
FrameIndex Q2tA p 0 111
FrameIndex Q2tA q 0 112

//wave - quake 2 wave (wv)
FrameIndex Q2wv A 0 113
FrameIndex Q2wv b 0 114
FrameIndex Q2wv c 0 115
FrameIndex Q2wv d 0 116
FrameIndex Q2wv e 0 117
FrameIndex Q2wv f 0 118
FrameIndex Q2wv g 0 119
FrameIndex Q2wv h 0 120
FrameIndex Q2wv i 0 121
FrameIndex Q2wv j 0 122
FrameIndex Q2wv k 0 123
FrameIndex Q2wv l 0 124
FrameIndex Q2wv m 0 125
FrameIndex Q2wv n 0 126
FrameIndex Q2wv o 0 127
FrameIndex Q2wv p 0 128
FrameIndex Q2wv q 0 129

//point - quake 2 point (pt)
FrameIndex Q2pt A 0 130
FrameIndex Q2pt b 0 131
FrameIndex Q2pt c 0 132
FrameIndex Q2pt d 0 133
FrameIndex Q2pt e 0 134
FrameIndex Q2pt f 0 135
FrameIndex Q2pt g 0 136
FrameIndex Q2pt h 0 137
FrameIndex Q2pt i 0 138
FrameIndex Q2pt j 0 139
FrameIndex Q2pt k 0 140
FrameIndex Q2pt l 0 141

//idle (crstand) - quake 2 idle set a (i)
FrameIndex Q2iA A 0 142
FrameIndex Q2iA b 0 143
FrameIndex Q2iA c 0 144
FrameIndex Q2iA d 0 145
FrameIndex Q2iA e 0 146
FrameIndex Q2iA f 0 147
FrameIndex Q2iA g 0 148
FrameIndex Q2iA h 0 149
FrameIndex Q2iA i 0 150
FrameIndex Q2iA j 0 151
FrameIndex Q2iA k 0 152
FrameIndex Q2iA l 0 153
FrameIndex Q2iA m 0 154
FrameIndex Q2iA n 0 155
FrameIndex Q2iA o 0 156
FrameIndex Q2iA p 0 157
FrameIndex Q2iA q 0 158
FrameIndex Q2iA r 0 159
FrameIndex Q2iA s 0 160

//walk (crwalk) - quake 2 walk set a (w)
FrameIndex Q2wA A 0 161
FrameIndex Q2wA b 0 162
FrameIndex Q2wA c 0 163
FrameIndex Q2wA d 0 164
FrameIndex Q2wA e 0 165
FrameIndex Q2wA f 0 166

//crattack - quake 2 cr attack (CA)
FrameIndex Q2cA A 0 167
FrameIndex Q2cA b 0 168
FrameIndex Q2cA c 0 169
FrameIndex Q2cA d 0 170
FrameIndex Q2cA e 0 171
FrameIndex Q2cA f 0 172
FrameIndex Q2cA g 0 173
FrameIndex Q2cA h 0 174
FrameIndex Q2cA i 0 175

//crpain - quake 2 cr pain (CP)
FrameIndex Q2cp A 0 176
FrameIndex Q2cp b 0 177
FrameIndex Q2cp c 0 178
FrameIndex Q2cp d 0 179

//xdeath (crdeath) - quake 2 xdeath set a (x)
FrameIndex Q2xA A 0 180
FrameIndex Q2xA b 0 181
FrameIndex Q2xA c 0 182
FrameIndex Q2xA d 0 183
FrameIndex Q2xA e 0 184

//death - quake 2 death set a (d)
FrameIndex Q2dA A 0 185
FrameIndex Q2dA b 0 186
FrameIndex Q2dA c 0 187
FrameIndex Q2dA d 0 188
FrameIndex Q2dA e 0 189
FrameIndex Q2dA f 0 190
FrameIndex Q2dA g 0 200
FrameIndex Q2dA h 0 201
FrameIndex Q2dA i 0 202
FrameIndex Q2dA j 0 203
FrameIndex Q2dA k 0 204
FrameIndex Q2dA l 0 205
FrameIndex Q2dA m 0 206
FrameIndex Q2dA n 0 207
FrameIndex Q2dA o 0 208
FrameIndex Q2dA p 0 209
FrameIndex Q2dA q 0 210
FrameIndex Q2dA r 0 211
FrameIndex Q2dA s 0 212
FrameIndex Q2dA t 0 213
}
[/code]

the model.. sydney..has the following frames

//spawn - 40 frames
//run - 6 frames
//attack - 8 frames
//pain - 12 frames
//jump - 6 frames

//flip - 12 frames
//salute - 11 frames
//taunt - 17 frames
//wave -11 frames
//point - 12 frames

//idle (crstand) - 19 frames
//walk (crwalk) - 6 frames
//crattack - 9 frames
//crpain - 4 frames
//xdeath (crdeath) - 5 frames

//death - 20 frames

16 animations in total

what am I doing wrong?

Re: understanding model animation

by CBM » Sun Oct 20, 2019 6:16 am

thanks for the replies, and I now have a fine selection of tools

I also found a very large selection of quake 2 player models that can satisfy my animation needs for now

---------------

update 21 okt 2019

I read all the comments and I am trying to understand them... so this leads me to this:

I am experimenting with the sydney quake 2 model and trying to writeup a valid modeldef for her model since most quake 2 player models follows her pattern

what I believe so far is that I need to define each and every animation frame of every animation set that I wish to use... so for example...

if I wanted to define her idle and walking animations I might do this... ??

Code: Select all


model sydney
{

path, model, skin etc goes here...

//idle - lets just say she has 3 idle frames to make it easy 
SDNI A 1 // idle animation frame 1 ?
SDNI B 2 // 2
SDNI C 3 // 3

//walk - lets just say she has 3 walk frames to make it easy 
SDNW A 4 // walk anim frame 1?
SDNW B 5  // 2
SDNW C 6 // 3

// 6 frames in total - 3 from idle and 3 from walk ?

}

or is that completely wrong ?

Re: understanding model animation

by Cherno » Thu Oct 10, 2019 3:43 pm

When using Noesis to export to MD3, use the command line

-rotate 90 90 180

if your model is pointing toward +z (in 3D Studio Max at least). Depending on the modeling software, you might have to play around with these values.

There is a MDX model viewer for Kingpin models that exports to MD2. It's called MDX or Kingpin Model Viewer, you should be able to find it via Google.

Re: understanding model animation

by Ozymandias81 » Thu Oct 10, 2019 2:55 pm

In order to make gzdoom use md2 animations, you must use Frame and be sure that the md2 animation group is called Animframes, at least I always did like this.
Then you must know each frame name and what they does, and to know it if you can't get it with Misfit/Maverick, use then an hexadecimal editor like HxD and scrolls until you find such names on the right column

For mdl/mdx converter, check for Milkshape3d and read this link , I am from phone so can't be more fully specific otherwise I would have explan this in a better way.

Re: understanding model animation

by CBM » Thu Oct 10, 2019 7:05 am

Cherno wrote:OBJ models have no animation data.
Use Noesis' model viewer for all your model viewing and exporting needs.
Try to use md3 models if you can instead of md2s.
noesis model viewer seems nice

sadly the selection of md2 and md3 models is very scarce

holy S... noesis can convert fbx models and perhaps other models with animations in to md2 or md3 format, except mdx it seems

any tool that will convert mdl or mdx to md2 or md3?

Re: understanding model animation

by CBM » Thu Oct 10, 2019 6:31 am

Enjay wrote:
CBM wrote:"misfit"
This is the second time I've made this recommendation recently. :)

Maverick Model 3D is a more up to date (and still occasionally maintained) version of Misfit. It contains a number of bug fixes.

https://clover.moe/mm3d/

So, if you are still using Misfit, I recommend trying Maverick instead.
thanks :)

maverick is very usefull, lots of sites have tons of free obj models

Re: understanding model animation

by Enjay » Wed Oct 09, 2019 10:27 am

CBM wrote:"misfit"
This is the second time I've made this recommendation recently. :)

Maverick Model 3D is a more up to date (and still occasionally maintained) version of Misfit. It contains a number of bug fixes.

https://clover.moe/mm3d/

So, if you are still using Misfit, I recommend trying Maverick instead.

Re: understanding model animation

by Cherno » Wed Oct 09, 2019 8:13 am

OBJ models have no animation data.
Use Noesis' model viewer for all your model viewing and exporting needs.
Try to use md3 models if you can instead of md2s.

Top