Jump to content
Eternal Lands Official Forums
Sign in to follow this  
Roja

Bone problem

Recommended Posts

I was working on a new emote(a salute :) when I encountered this problem viewing it in world:

 

http://www.eternal-lands.com/misc/bug_fingerbone.jpg

The one on the left is in world, the one on the right is from Blender.

 

As you can see the one in world looks kinda mangled, like the bone is bent wrong. However it looks perfectly fine in blender AND in the cal3d viewer. So it seems to be something in the client.

 

Can anyone take a look at this problem? I can send this emote file if needed of course. If no one can fix it then...that's how it's gonna look when the update comes, cause I tried everything on my end that I could think of :P

Share this post


Link to post
Share on other sites

Are you sure it's the finger bones bending the wrong way? For me, it looks like the back of the hand is deformed in world, as if it's at least twice as thick as it should be. If you follow the line along the palm to the pinkie, it looks ok (that is the under/inner side of the hand, at the lower edge of the hand in the image)

Share this post


Link to post
Share on other sites

Ok. Xaphier would probably have more clues than me about it but I can try to look at it and see if I can find anything...

By the way, it's probably the same bug you've found some time ago when you said that the boots of the char was not exactly at the same position with UVP 0 and 1.

Could you put the emote file somewhere online or send it to me by mail please?

Share this post


Link to post
Share on other sites

Good news, I found the bug! ;)

The problem comes from the weights of the vertices that are compressed on 8 bits when they are passed to the vertex program. We are loosing some precision when we do that so I've just changed the conversion by rounding the value instead of trunking it and it reduces the effect. It's still not perfect but it's much better.

I will commit the change this evening after the work...

Share this post


Link to post
Share on other sites

Do I need to compile with any special setting? I don't notice any difference. I do however notice a LOT of vertices moving when i turn on/off the use animation program, also the lighting changes on the models.

Share this post


Link to post
Share on other sites

No you don't. Yes there are a lot of vertices moving but there should be less with the fix.

 

Can you verify that you have this in the actor_init.cpp file at line 581:

buffer[i].m_weight[j] = (Uint8)(weight_buffer[i * 4 + j] * 255.0f + 0.5f);

If yes then it should work correctly. If it's not working, there's probably a mistake somewhere else. Are you sure to launch the good exe file? :P

 

On my side, I've tested with human, dwarf and elf models in case they were different and they all works.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×