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.

Bug Reports / dbLoadObject

Author
Message
taylor design
15
Years of Service
User Offline
Joined: 28th May 2008
Location: Germany
Posted: 11th Sep 2011 13:57 Edited at: 12th Sep 2011 04:40
It seams that the initial pose is wrong in some cases. In DBPro and fragMOTION my .X file loads and plays correctly, but it fails in DarkGDK.

Anybody does know something about that? I know, the play and loop functions are broken, too. But I just mean that the animation works in DBPro and not in DarkGDK.

Maybe installing an older version works?? Thank you for any help or workaround!!!

EDIT: I have tried older versions and the animations are NOT working.

EDIT: I think some matrix multiplication is wrong. Looks like the position vector from a matrix is used where it should not be used - or something. Hmm, much guesswork...

EDIT: For models, with a initial pose, that matches the first animation pose, the animations works. But for others (which happens often) it does not work. DarkGDK calculates with the animation bone, without taking into acount, that the vertex blending positions are given by the vertex and the initial bone pose. Hm, hard to explain, sry xD

I found the problem, and this leads us to a potential solution!

So we have a initial pose. The mesh vertex and the bones, matching exactly that vertex space! Now, if the first animation pose is NOT exactly the same like the initial pose, an error with the animations is shown. So if DarkGDK would be fixed, they have to use the vertex space from the initial pose. If the animation pose uses the correct vertex space, all would be fine.

I proofed this by using models with the same initial pose and first animation pose. This works. If it's not the same, the animation is broken.

Please, can someone tell me, how long this fix should need to be implemented? Because I REALLY don't wont to fall back on my pure C++/DirectX, but I must have correct bone animations! As a workaround, I could make a tool, that takes the first animation pose and corrects the initial pose to fit it, the vertex and the bones.

EDIT: Another proof is to load a model with matching inital pose and animation pose. Appending a non-matching animation after this will work! Because the "vertex space buffer" is build just once at the first loading. This is where the bug is to locate at.

EDIT: What I am going to do now, is to fix all my media files. It will work like that: Import static model, import bones, use that as initial pose. Import animation. Than save this, but as multiple files (like I have read somewhere about to work with Enhanced Animations, might be usefull for both so):

static.X -> the original model with original initial pose bones
pose.X -> the first animation key as the initial pose with transformed vertex to match it. so basically the original model and pose is replaced with the first animation frame. then use the same as first 1-frame-long animation, which we just skip during playback to stay perfect in time.
anim1.X -> appending other animations with ANY initial pose will work now, the vertex buffer is filled correctly.

I really like to see this fix in DarkGDK. Anyone likes to see the fix, too?^^
taylor design
15
Years of Service
User Offline
Joined: 28th May 2008
Location: Germany
Posted: 13th Sep 2011 13:50
Please, could someone say anything to this? Comfirm this bug pls!!!
Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 16th Sep 2011 20:04 Edited at: 16th Sep 2011 20:09
I suggest to define the problem concisely and briefly, and to attach a sample .x file that can show your problem, along with the code, so other people can test.

Best idea is to open a thread in the DGDK forum so you can get help confirming it, then post here the conclusion and a sample project, otherwise you will hardly get attention.

[EDIT: Oh, also next time it would be nice to include "[DGDK]" in the name of the thread ]

taylor design
15
Years of Service
User Offline
Joined: 28th May 2008
Location: Germany
Posted: 24th Sep 2011 08:54
I just finished my converter, which is able to create an animation with 1 frame. The animation bones are just the same as from the initial pose. Than I do use "dbAppendObject" and than the animations are played correctly. If I dont use "dbLoadObject" on the '1-frame inital pose animation', the append fails to play correctly.

Going to make some media and stuff for you, will take some time now.
Green Gandalf
VIP Member
19
Years of Service
User Offline
Joined: 3rd Jan 2005
Playing: Malevolence:Sword of Ahkranox, Skyrim, Civ6.
Posted: 11th Oct 2011 19:59
There does seem to be a problem with animated objects in the latest GDK upgrade (consistent with DBP U7.5 I believe). Simple DBP code to load and play an object works perfectly - but the corresponding GDK code fails to animate.

Here's the code I used with the "tiny.x" and "dwarf.x" models that come with the MS DX9 SDK:

GDK:



DBP:



I'm not very familiar with the GDK so I may have missed something - but I'd expect those two codes to do much the same thing (except for the window of course).

I don't know whether my original GDK installation worked - I upgraded before trying animations and don't know how to switch back cleanly (in DBP it's easy - just run the earlier installer you need).

Login to post a reply

Server time is: 2024-04-19 06:56:42
Your offset time is: 2024-04-19 06:56:42