Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Program Announcements / Enhanced Animation - 1.6 released (9-Feb-09)

Author
Message
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 9th Mar 2007 09:33 Edited at: 9th Mar 2007 22:31
Thought I'd set up a thread link here for this excellent plugin by Wolf (which I have just purchased)...

the link to this plugin:-

http://darkbasicpro.thegamecreators.com/?f=enhanced_animations

Wolf - any plans for any additional commands / updates?
- what now for 3dcm?
[edit]
when using your enan commands to insert a new key, please could you explain the 'time' parameter? could I just re-arrange the limbs on screen to a new static position and then save that as a new key[frame] - could you give an example?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 10th Mar 2007 05:01
Duffer,

I am glad you are liking the plugin so far
I didn't make a "Program Announcement" thread because I have been busy and I figured it would get buried a few pages deep in a short amount of time. There really isn't too much to say right now...

Anyway, I am working on an update for it. Hopefully it will be done by the end of the month. I am working on some optimizations. Most of it is internal stuff that will be transparant to users. I am looking at an option to de-activate limbs. This will prevent EnAn from running any calculations on certain limbs if they are not needed.

As far as 3DCM goes, I'll probably start a new WIP thread soon. I am working on some big improvements to it

Quote: "when using your enan commands to insert a new key, please could you explain the 'time' parameter? could I just re-arrange the limbs on screen to a new static position and then save that as a new key[frame] - could you give an example?"

All keys have a rotation, position, scale, and time parameter. The keys are stored in a time based order. So, if a key that occurs at a time of 100 will come before a key with a time of 200.

Say you have 5 keys in an animation:
Key 0: Time = 0
Key 1: Time = 50
Key 2: Time = 100
Key 3: Time = 150
Key 4: Time = 200

If you inserted a key with a time parameter of 125, it would become the 3rd key. The keys that come after it would be pushed to key 4 and key 5 respectively.

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 11th Mar 2007 21:46
@ Wolf,

Thanks for that. Look forward to the updated and the WIP postings for 3DCM...

Probably an obvious answer. I know how to ascertain number of keyframes - but how do I know how they are divided up over the time ie. in 10s, 100s >?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 11th Mar 2007 22:27
They can be at any time interval in between each key. It doesn't have to be an even division.

So, for instance, you can have 10 keys at the following times:

Key 0: Time = 0
Key 1: Time = 5
Key 2: Time = 20
Key 3: Time = 22
Key 4: Time = 25
Key 5: Time = 50
Key 6: Time = 51
Key 7: Time = 75
Key 8: Time = 80
Key 9: Time = 150

The only rule is that the keys are in order of time sequence. When you add/modify/delete a key, EnAn automatically adjusts all of the other keys to be in the correct order. If you change the time value of a key, it may move to be an earlier or later key.
As your animation is playing, it will interpolate the current rotation/position/scale to be in between the two relevant keys. For instance, in the example above, if the current time of your animation is 21, then the limb's orientation will be half way between key 2 and key 3.

I hope this makes sense!

Cash Curtis II
18
Years of Service
User Offline
Joined: 8th Apr 2005
Location: Corpus Christi Texas
Posted: 12th Mar 2007 04:02
Quote: "As your animation is playing, it will interpolate the current rotation/position/scale to be in between the two relevant keys."

Could that be slowing it down? That is definitely an improvement, but perhaps if the interpolations were optional then it would run faster. I don't interpolate between frames, just different animations, so perhaps that is the key difference.


Come see the WIP!
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 12th Mar 2007 04:54 Edited at: 12th Mar 2007 04:54
Cash,
No. DBpro automatically interpolates between key frames as the animation is playing like I am doing in EnAn. You just don't have much control over it. If it didn't you would end up with very jerky results as the animation would jump from key frame to key frame.

I plan to do some more testing this week. I'll let you know how the optimizations progress

Cash Curtis II
18
Years of Service
User Offline
Joined: 8th Apr 2005
Location: Corpus Christi Texas
Posted: 12th Mar 2007 12:30
Wow, it sucks to be wrong I just tested it out and DBP sure does auto-interpolate between frames. I guess I assumed that it didn't because I've never really tested it.



I did that with the model that I sent you. I set it up to flash blue whenever the frame was approximately an integer. You don't really need to run it, because all it proves is that it does interpolate based on the floating point value of the variable frame#.

Always good to learn something new, except that I should have already known it


Come see the WIP!
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 12th Mar 2007 14:50
@Wolf,

It would really help if you could post some code on how to insert or add to the end a new key frame of animation...?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 12th Mar 2007 15:38
OK. I'll try to write a quick snippet later today

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 13th Mar 2007 03:27
OK Duffer. Here you go

This snippet uses the same media as my other examples.

Basicly, it extracts animation from a model into one animation file. I then create a new, empty animation file. I then loop through the extracted animation and insert it's keys into the new animation. After all of that is done, it playes the two anims on two models so you can compare the results. I'll have to add this to the other "official" examples.



If you have any questions, just ask!

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 14th Mar 2007 09:21
@ Wolf,

Excellent - thanks - starting to make sense now...

Would be v useful if EnAn simply allowed you to insert a new frame after keyframe x rather than doing it all on timebase? suggestion for future command?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 14th Mar 2007 14:38
Quote: "Would be v useful if EnAn simply allowed you to insert a new frame after keyframe x rather than doing it all on timebase? suggestion for future command?"

The problem with that is that each Key needs a time value. What time value would I assign to the new key? I could simply make it equal to the previous key's time value plus one, but what if that is what the next key's time value was? It just gets messy....

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 14th Mar 2007 20:33
@Wolf,

See what you mean - is there a way though for me to ascertain total time of all animations ie. then divide by key frames to get time for each frame>? or, more likely, have I missed the point?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 15th Mar 2007 19:13 Edited at: 15th Mar 2007 19:13
Quote: "See what you mean - is there a way though for me to ascertain total time of all animations"


Yes. You can check the total time of animations with the "EnAn_AnimGetTotalFrames" command. You can get the number of animation frames for a particular limb by checking the time value of the last key for that limb:
EnAn_AnimGetLimbKeyTime( AnimID, Limb, EnAn_AnimGetLimbKeys( AnimID, Limb )-1 )

There isn't a defined amount of time that happens between each key, so you can't divide the total time by the number of keys. That would tell you an "average" time per key, but that isn't really helpful.

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 15th Mar 2007 19:40
@ Wolf,

If the last frame is at time say 950, can you add a new keyframe at say 1000?

Also, how do you get the time for each keyframe in turn? ie. I could then create an array of the times for each keyframe?

BTW - thanks for helping the dimwit...

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 15th Mar 2007 19:51
Quote: "If the last frame is at time say 950, can you add a new keyframe at say 1000?"


Yes. Most definately!

Quote: "Also, how do you get the time for each keyframe in turn? ie. I could then create an array of the times for each keyframe?"


This will store each key of a limb in an array called KeyTimes:


Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 15th Mar 2007 21:17
@ Wolf,

All my questions answered - ta muchly

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 20th Mar 2007 15:50
I have a minor problem with this plug in, I just got it and it doesn't work at all, none of the examples do anything, the models are just in their default position and nothing I press or do changes that, I have 2 PCs at my disposal and I get the same results.

Do I have 6.5? Yes, Do I have the latest DX? yes, and yes I even did a fresh install just to test, and now I must hunt down 500 plug ins again, as the models still don't move, Specs? I have a Athlon x2 4400+, 2Gigs of RAM, lots of HDD space left, 2X 7800GTX`s and my other PC has some dual core pentium, with 1 gigs of RAM, some random ATI card, they both have the very latest version of DX as I just upgraded them, and as I said I did a fresh install with only this plug in and 6.5 and it doesn't work at all, any ideas?

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 20th Mar 2007 16:35
dark coder,

Are you one of the people that tried an early test version? If so, make sure that you remove the test dll from your plugins-user folder.

If not, are you SURE that it registered correctly? Here is how to tell. In your "DBpro\compiler" folder, run the TGCOnline.exe. It will tell you all of the plugins that are currently registered correctly. If it is not listed there, then that is your problem.

dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 20th Mar 2007 17:05
No, I've registered around 4-5 other TGC plug ins, including your EZ Rotate with no problem, I even installed it 2 times hence "and yes I even did a fresh install" No I don't have any beta versions, I downloaded this from the orders page, and I activated it correctly, your example demo exe which is on the TGC site works however, and yes it's on the plug ins list with 'valid certificate' written next to it.

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 20th Mar 2007 17:52 Edited at: 20th Mar 2007 18:47
Dark Coder,
I found the problem!
It isn't anything that you have done. It is a problem that MUST be fixed. Unfortunately, it isn't anything that I have done either. TGC has to fix this.
When EnAn was released, a new version of DBpro was released with it (6.5). DBpro 6.5 added the security update for EnAn and a bug fix for DBpro that EnAn needed to work properly. All was good with the world.
A few days after release, TGC released a NEW version of 6.5 to fix some other problems that it introduced. The new 6.5 replaced the old 6.5. Unfortunately, it looks like although the new 6.5 included the security update, it did NOT include the bug fix.
I have attached the original 6.5 update to this thread. Install that and everthing should work fine. I have also e-mailed Mike, Lee, and Rick about the problem. Hopefully a new, new 6.5 will be released SOON!

Sorry for the problems....

-Ron

dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 20th Mar 2007 18:27
Hey thanks for attaching the file, however I'm having a little problem installing a 0 KB file with no extension .

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 20th Mar 2007 18:46
! lol

I tried it again. I get a "maximum file size exceeded" error. The maximum file size is supposed to be 50mb. Odd...

I can upload the "DBProBasic3DDebug.dll" instead (that is all you really need). Just place this dll in your compiler\plugins folder. It should replace the existing one.

Attachments

Login to view attachments
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 21st Mar 2007 11:31
DBpro 6.6 has been released. It now correctly works with Enhanced Animations. I believe it also fixes a lot of the other bugs that were holding people back from updating (such as the culling bug).

Regards,
Ron

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 21st Mar 2007 17:46
@ Wolf,

Great news - how gos 3DCM? time for a new WIP thread yet>?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 21st Mar 2007 19:15
Hey, yea 6.6 works great and closes as fast as it should do now.

I have one other issue though, I have an animated model that I can load fine and it clones just fine(20ms) however I tracked down a major slowdown to this command 'EnAn_oacCreate( Obj )' it takes around 250ms for this one object which is around 500polys, the issue might be the bone count as I think it's around 15, however it shouldn't be this slow. I saved the model using your "EnAn_ObjSaveNoAnims" command too, any ideas on speeding this up? because I can't exactly spawn these things in real time if it takes 250MS a time.

CronosGDL
17
Years of Service
User Offline
Joined: 6th Mar 2007
Location: Guadalajara Jalisco , Mexico
Posted: 21st Mar 2007 19:58
Excellent thanks , i love (Enhanced Animations)
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 21st Mar 2007 20:02 Edited at: 21st Mar 2007 20:09
Quote: "Hey, yea 6.6 works great and closes as fast as it should do now."

It is good to hear that. Hopefully all/most of the niggling bugs that were introduced in 6.4/6.5 are now dead.

Quote: "I have one other issue though, I have an animated model that I can load fine and it clones just fine(20ms) however I tracked down a major slowdown to this command 'EnAn_oacCreate( Obj )' it takes around 250ms for this one object which is around 500polys, the issue might be the bone count as I think it's around 15, however it shouldn't be this slow. I saved the model using your "EnAn_ObjSaveNoAnims" command too, any ideas on speeding this up? because I can't exactly spawn these things in real time if it takes 250MS a time."


I'll do some testing tomorrow. You are right, it shouldn't take that long. I don't have the code in front of me at the moment (I am at work), but there are probably some things that I can do to speed things up. I have a good idea of what is causing the majority of the slowdown and I can definately optimize that. Come to think of it, there might also be a few other things are still being done but no longer needed. I'll keep you posted on my progreess.

edit:

Quote: "Great news - how gos 3DCM? time for a new WIP thread yet>?"

It is going good although some of the stuff that I am adding is making me re-do more than I expected. Once I get caught back up to where I used to be, I'll post a new WIP thread. It might be a few weeks yet.

Quote: "Excellent thanks , i love (Enhanced Animations) "

Thank you! I am glad you are finding it useful

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 23rd Mar 2007 03:56
Dark Coder,

I have done some testing. There are some reasons that it takes so long to create an OAC. The first is that it has to work all of the parent/child limb hierarchy. This information isn't stored nicely in the DBpro object format, so I have to do tests to determine. It is then stored in the OAC so it takes no time to calculate in game. It also has to work out the correct update order for your limb hierachy. There really isn't much optimization that I can do to the way that it is being done. Still, I do have a solution
I have added a new command:
new_oacID = EnAn_CreateClone( ObjNo, oacID )
This will create an OAC for the specified object based on an existing OAC. So far, in my tests, it was taking about 100ms to create an OAC. When I use the clone command, it takes 0ms! Is that fast enough for you?

-Ron

dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 23rd Mar 2007 12:57
Yeah!, I load a base model of my characters first too, so this method would be perfect, also when will you be uploading this?

Also it's nice to know asking for features / help of TPCs isn't like beating a dead horse which you get from other products

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 23rd Mar 2007 15:48 Edited at: 23rd Mar 2007 20:22
Quote: "Yeah!, I load a base model of my characters first too, so this method would be perfect, also when will you be uploading this?"


I am going to try to have this optimization update finished by the end of the month. There are a couple of extra things added too that help speed things up. Internally, I am taking a different approach to how I am searching for the correct key frame. The results are faster, more consistant frame rates. There is also the option to de-activate updates for specified limbs. This will prevent un-needed calculations that are being done on un-animated limbs. Also, there is a setting to turn on/off object boundry updates. This is a useful speed boost for those that do their own collision detection stuff.
The update is pretty much done in regards to the dll. I still have to update the keywords file and helpfile. Hopefully, I will have that done tonight. Then I have to send it all off to Mike for him to add the security stuff and build the installer.

Quote: "Also it's nice to know asking for features / help of TPCs isn't like beating a dead horse which you get from other products "

Thanks. It is important to me that people feel like they are getting good value for my products. It is hard to consider all of the different ways that people will use the tools that you create. I had never tested the amount of time that it takes to create an OAC because I considered that to be something that people would do outside of their main loop. Your problem/request makes perfect sense, so I am glad to do whatever I can to help solve it.


edit:
The keywords file and help file updates are now also DONE! I am going to do some more testing. If all goes well then I'll be sending Mike the update on Monday.

dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 24th Mar 2007 13:52
I noticed one other slowdown too,

One of my models in my game it uses 38bones/limbs, and when updating a single object like this in real time I get a FPS drop from around 700 to 300, the object poly count is around 1.2k, however the limbs aren't moving at all. I'm testing this using a single frame which I took from the model's frames 0 to 0, so the FPS loss should almost be none, I realise animating objects in real time would have a slowdown, but is there no way to speed up this updating process? as the only other way I can think of getting around this is to only update animations every other frame, but that's more of a bodge fix. I assume the slowdown is due to calculating all the limb / vertex rotations and their offsets in real time, could there not be some command that will do linear interpolation between object frames if your FPS is high? that way you would keep high FPS and you wouldn't notice the linear movements due to the high FPS rate, but I don't know maybe there's a better way.

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 24th Mar 2007 14:50
Dark Coder,
One of the features that I am adding (as I posted above) is the ability to de-activate updates on certain limbs. If you are not using certain limbs for animations, then you will save the calculation time required for each one that you deactivate. Also, I changed the way that I am searching for keyframes, which also offers a FPS boost.
Most of the slowdown comes from the vertex manipulation. This also occurrs in DBpro's standard animations. You will also notice that as you add more models, for some reason the FPS drops less each time. I'm not sure why...
The optimization update does offer a significant boost though. I used to get about 280fps when running the Limb Specific example. I now get a consistant 310fps. This is WITHOUT de-activating any limbs. I am still looking for other ways to speed things up. One thing that I have considered is for ME to take control of the vertex manipulation to see if I can optimize things there. That is a pretty significan addition though....

dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 26th Mar 2007 15:32
One more problem, I'm trying to find the position of my objects hands or just general positions within the animation for positioning things like a weapon or whatever, however I can never get the actual positions of any limbs. If you load up your basic demo and replace it with this code:



I think you should be able to see a sphere at every joint, instead you get a mash of spheres near the feet which makes this impossible, I realise that in your other demos you glue a gun to the hands but making objects just to find the positions of limbs is a bit excessive I think.

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 26th Mar 2007 16:34
Dark Coder,
The commands supplied in EnAn for limb postions are offsets from the limb's origin. I did not provide global limb position commands because DBpro already has them. Replace the code in your loop with this and it works fine:



dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 26th Mar 2007 21:16
So it is, awesome .

Reece
21
Years of Service
User Offline
Joined: 29th Aug 2002
Location: UK
Posted: 27th Mar 2007 17:07
Great, what a much needed addition!
I'm sure to use it for all my future animation projects.

One thing I have noticed with the usual DBpro playback of object animation (in my experience) is that with very long animations, my frame rate drops gradually as it plays through.

When it loops back to the beginning, the frame rate shoots back up and the process repeats.

My only theory is that DBpro calculates the animation by looking through all animation keys up to its current playing position, every frame!! This seems crazy, but its the only theory I have.

Anyway, my question is... is this something that won't happen in 'Enhanced Animations'? Is playback using a different command that is more efficient?
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 27th Mar 2007 17:54
Version 1.1 should be available any time now. I have sent it off to Mike, he built the installer, and I tested it. Now, it just needs to be uploaded to the site

Quote: "One thing I have noticed with the usual DBpro playback of object animation (in my experience) is that with very long animations, my frame rate drops gradually as it plays through.

When it loops back to the beginning, the frame rate shoots back up and the process repeats.

My only theory is that DBpro calculates the animation by looking through all animation keys up to its current playing position, every frame!! This seems crazy, but its the only theory I have.

Anyway, my question is... is this something that won't happen in 'Enhanced Animations'? Is playback using a different command that is more efficient?"


In version 1.1 I have added a smarter system for keeping track of keys. The original version of EnAn suffered from the same problem. Now it is much more consistant all the way through playback. In addition to that, because animations are generally broken into actions, there are a lot less keys to work with per animation.
With all that said, EnAn probably does still run a little bit slower than DBpro's standard animation system, but that is because it does so much more. I am also still looking for further speed optimizations.

Reece
21
Years of Service
User Offline
Joined: 29th Aug 2002
Location: UK
Posted: 27th Mar 2007 18:14
Thanks Wolf,

The consistant playback sounds interesting, might be just what I need, even if at a small cost to the general playback speed.
Consistancy is important, and I'm not getting that with the stardard playback.

I have an animation show in london this week which may end up using this if I can get it to work. (not to mention getting the last THREE DBpro updates to work without my machine asking for directx 9c, which it already has. grumble...grumble...aghhhh!!!!)

Will post details laterrr.
Cheers
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 27th Mar 2007 18:27
One odd thing that you will find (in DBpro and Enhanced Animations) is that for each object that you have an animation playing on, the drop in FPS is less and less. There is a huge drop in fps for the first object, then smaller and smaller after that. I have no idea what would cause that to happen. It has to be in the way that the vertices are being updated (which currently is being handled by by DBpro in EnAn). I will probably have a look at using EnAn to translate vertices to see if I can get any better results. That will take a good bit of work though...

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 29th Mar 2007 15:55
Version 1.1 is now available for download!

Just go to your order history and grab the new version.
Enjoy! Now it is time to start adding things to the list for version 1.2

Miguel Melo
18
Years of Service
User Offline
Joined: 8th Aug 2005
Location:
Posted: 30th Mar 2007 00:35
Please add support for the DGDK, Wolf.

I have vague plans for World Domination
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 30th Mar 2007 03:21
Quote: "Please add support for the DGDK, Wolf."


hehehe... I will.
I want to wait a little longer until the changes between versions is a bit more minor. That way, I don't have to change things twice.

dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 30th Mar 2007 12:44
I have a new problem :/,

I upgraded to the 1.1 version and the cloning works great, however when I went to convert a new mesh into various animation files and such I found it wasn't animating in my game, the issue isn't with the patch of anything as my other objects are still working, it's only when I reexported this one. The model has 60 frames, I previewed them using the standard Loop object beforehand and can confirm the animations do exist, here's the code which I used to test this and i get no motion at all.



It's nothing to do with the animation speed either, as this model used to work, the only change is that it's now skinned, I however cannot provide the model. When extracted the total animation file is 75KB so there must be some data in there, just nothing is happening.

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 30th Mar 2007 13:24 Edited at: 30th Mar 2007 13:43
Did you use a different method of exporting this model?
It will be really HARD for me to find the problem with a specific model if I don't have a copy of it. If there is any way that you can send me the model, I'm sure I can help. Otherwise, it is going to be difficult.

Does the animation have any rotation in it, or is it entirely position changes?

Edit:
Can you also tell me the model type:
type = EnAn_oacGetModelType( oacID )
If you are unable to send me the model file, can you at least send me the animation file that you are generating from the model?

dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 30th Mar 2007 14:07
It returns type 0, The model has rotational changes not sure about positional ones as I didn't make the model, and to the best of my knowledge it was exported the same as the earlier version which worked. I've attached the animation output.

Attachments

Login to view attachments
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 30th Mar 2007 17:39 Edited at: 30th Mar 2007 17:42
Dark Coder,

Are you running DBpro 6.6? If not, then update to it. There is a bug in 6.5 that will effect some models. If you are running 6.6 then it looks like there is something up with the model. The anim file DOES contain animation info. Here are the rotation values from the file for the first few limbs of the model:




If this doesn't help then I will definately need a copy of the model to look any further.

dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 31st Mar 2007 09:28
Yes I'm running 6.6, how else would the plugin work? and I've E-Mailed you the model.

griffirr
19
Years of Service
User Offline
Joined: 27th Apr 2004
Location:
Posted: 31st Mar 2007 14:12
Wolf,
I seem to be having a problem with EnAn_ObjRenameLimb. If the new name is shorter than the old, the end portion of the old name is retained. Here is some code to demonstrate.

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 31st Mar 2007 15:13
dark coder,
I am looking into the model further. I do have an idea what could be causing the problem. Hopefully, I'll have a fix for it built into EnAn soon.
Possibly, what might be happening, is that some model exporters don't fill out their rotation matrices properly. I have seen some cases where the last element (which should always be equal to one) is equal to zero.
Instead of:
1,0,0,0
0,1,0,0
0,0,1,0
0,0,0,1
The matrix looks like this:
1,0,0,0
0,1,0,0
0,0,1,0
0,0,0,0

If that happens, then the entire matrix is zeroed, which could be what is happening! That is an easy thing to look for and if it is the case, I should have a fix soon!

In the mean time, I do have another solution for you. I have attached a tool that came with one of the old versions of the directX SDK. It is a GREAT little utility. Anyway, just load your model with it, then save it as something else. It's save routine fixes the problem (which is one of the reasons that I think it might be the problem that I have explained above).


Quote: "I seem to be having a problem with EnAn_ObjRenameLimb. If the new name is shorter than the old, the end portion of the old name is retained. Here is some code to demonstrate."

Doh! Sorry about that. I haven't tested your code yet, but I'll take your word for it that it is broken. Consider it fixed for the next update! I could have sworn that I anticipated and tested for that, but who knows what I was thinking

-Ron

Attachments

Login to view attachments

Login to post a reply

Server time is: 2024-03-30 06:37:14
Your offset time is: 2024-03-30 06:37:14