ExtractAnimSeq() (delete / overwrite)

Blitz3D Forums/Blitz3D Programming/ExtractAnimSeq() (delete / overwrite)

Inner(Posted 2004) [#1]
Is there anyway to delete a sequence or overwrite a sequence please?

or do I have to go hacking, if even such a thing is doable by a hack.


jfk EO-11110(Posted 2004) [#2]
Probably you have to boldly go where none has gone before - or at least never returned :)
Personally I never use ExtractAnimSeq, but create all Sequences as individual Files from beginning on. This workflow is a relict from Pre-Extract times. Actually it's very useful. Oftely I use the same animations for diffrent models, if the skeleton is the same.

So, sorry, can't help you with this.


Inner(Posted 2004) [#3]
thanks ;) any bold idea of where to start hacking up blitz ?


John Blackledge(Posted 2004) [#4]
Whoa, whoa, whoa!
Jfk, I've been asking this in another thread (and got no clear answer).
Does this mean that:
1) You can ExtractAnimSeq from one master model...
2) And add the animation to another model, so long as the skeleton/bones are the same...
3) And it doesn't matter if the new model's vertices are different.
???


Inner(Posted 2004) [#5]
John Blackledge: bit OT, do you know a David Blackledge by chance? ( he was a friend of mine many years ago )

I found a way around the problem by doing;

;
; 48hrs.. to provent histericaly high AnimSeq no.
; means we must perform these gymnastics!.
; ALL BECAUSE:
; there is no way of deleting/overwriting a
; extracted anim sequence no.                            
;
; just in case 'curmesh_copy' exists free it!
If curmesh_copy<>0 Then FreeEntity curmesh_copy
; copy the current mesh
curmesh_copy=CopyEntity(curmesh)
; extact the animation sequence from the 'copy'
ExtractAnimSeq(curmesh_copy,curframitem\fmfrom,curframitem\fmto)
; play the animation sequence from the 'copy'
Animate curmesh_copy,1+curframitem\mode,curframitem\speed#,1,curframitem\transition#  


Seams to work, better than hacking blitz I suppose, however it seams over kill to me to have to copy an entire entity just because you want to test a AnimSeq.


John Blackledge(Posted 2004) [#6]
No David Blackledge in the immediate family. Sorry.
We're N.W.UK based (?)

What I guess I mean is:
ExtractAnimSeq(mesh1,from,to) ; the 'master' with many anims
AddAnimSeq(mesh2,from,to)
AddAnimSeq(mesh3,from,to)

... but that's not what AddAnimSeq appears to do.
And it should!
Can anyone clarify? Or add a way this might be achieved?


IPete2(Posted 2004) [#7]
Hey JB,

I'm in Warrington! UK


IPete2.


John Blackledge(Posted 2004) [#8]
Sorry Inner, we seem to have hijacked this thread!

@IPete2: Just down the road! There seem lot be a lot of Blitzers around this area (NW, Cheshire, Wirral, Liverpool) - perhaps I should host an NW convention. You could all come down to the coast at New Brighton for the day. (Let me know.)

Back on topic: I suspect that LoadAnimSeq(entity,filename$) is the way forward. Have a master model containing all animations, then as long as all the other models have the same bones use this command to add all animations from the master to the others, rather than have to painfully design animations for each model. Anyone used LoadAnimSeq like this?


scribbla(Posted 2004) [#9]
this to me sounds like it should be done in the 3d package like lightwave...as long as the namimg on the weights and bones is the same..you load the skeleton in to new model
is this what you are trying do but within blitz


@John Blackledge & Ipete2...hey hey north westers...me manchester (A-U-L)


NTense(Posted 2004) [#10]
Hi John :) .. I've been working on the MasterSkeleton copy app, and almost have it finished.. I think it's gonna work nice (especially if JFK has been doing something similar). I'll shoot you a copy of it once I've got it done. I've been wondering about deleting an animsequence as well. That can come in very handy if you have a given number of frames designated for a walk cycle, and then you just copy the appropriate frames in there (maybe for a limp or something).. :)


John Blackledge(Posted 2004) [#11]
Once again apologies to Inner for hijacking this thread - hope this is still all good info for you.

@NTense. Nice one! I bought your Horse Essentials. Lots of people said 'Hey John, great horses.' And I mumbled 'Er, not mine actually.' (embarassed). Yes please, anything you can send I'll try out gladly.

If I can just be very clear about what I (and others I'm sure) are trying to do, before I start the next huge batch of modelling/animation: (let's say...)
1) I have 10 characters, all different shapes and vertices, but they can all have the same bones.
I _don't_ want to have to animate _every_ single model painstakingly (the same walk, the same idle) as I have been doing.
2) I want ONE master character containing all animations.
3) I want to...
LoadAnimSeq(character1, "master.b3d")
LoadAnimSeq(character2, "master.b3d")
LoadAnimSeq(character3, "master.b3d") etc
... then simply choose the correct anim for a given character. Has anyone done this? Does it work?

@All. There seem to be a lot of Blitzers in the NorthWest (Wirral, Cheshire. Altrincham, Manchester) so it's about time we got together. I'm going to start a new thread 'Wirral Gettogether'.


Inner(Posted 2004) [#12]
Thory:

-- Animation:
1. Build bipped in 3ds Max.
2. Animate the Bipped, export the bipped animation as b3d.

-- Models
1. Build model, attach bodes.


-- Blitz
1. Load both bipped & model
2. Parent each of the animated bipped bones to the bone in your model.

Atempt to play the _bipped animation_ and see if does anything, might take a few hours of fiddeling, but it might work.


John Blackledge(Posted 2004) [#13]
I can see what you're getting at, but surely every model will just copy what the master model is doing at any one time.
I want each model to move indepedently (different animations depending on their individual situations); so each model will have to have loaded all of the possible animations.


NTense(Posted 2004) [#14]
Thanks for the props on the horses John :) I'm in process of throwing a demo reel (animation) together to start submitting out to companies. Man it's a long process :)

John is right. If you simply parent a model, then you have no way of having multiple models independently animate. I'm at a bit of a crossroads on the application (sortof trying to decide whether to do a quick hack to demonstrate, or actually make things so that they're very portable). I'm at the point where all I've got to do is figure out the best way to store the animation/joint data, and I'm thinking of a couple of ways to do this. I think probably the more versitile way is to write a small app that will preparse the master skeleton and port the animation data to an actual DATA statements with the labels being the 'names' of the animations. That way if you want to read the whole thing and take up memory in types you can, or if you want to just read the data when needed, you can just use the Blitz 'Read' command to bring in the joint data (after you've preparsed the master skeleton). After looking at it a bit I see that there's probably a dozen ways to skin the cat, but I think that's the direction I'm gonna go with it. John it may take a bit for me to finish this 'cause I'm loaded with work this week, but if you're not in a hurry, it'll eventually get done :)


John Blackledge(Posted 2004) [#15]
Sorry, most of what you said you're doing went straight over my head :)
Still, I think I've summed up the ideal relationaship between the master and the other models pretty well - anyone who has achieved this, please add to this thread.