Imagination PowerVR SDK Blog

PVRShamanGUI visual artefacts for Blender animation

pvrgeopod
pvrshaman

#1

Hi,



I am exporting a running animation from Blender for a MakeHuman character. It looks fine in Blender, but after export I can already see some problems in PVRShamanGUI, which of course will reproduce on my iPhone. So the problem seems to be in the export.



Hereby some PVRShamanGUI screenshots, you can see what I’m talking about at joints, at the right under arm and at the left leg:



The 1st problem:





The left under arm looks much better:





The 2nd problem:







The right leg looks much better:





And here is the effect in the application, more visible for the left leg:











The mesh seems to be strangled at joints. Any ideas why this is happening?


#2

There seems to be a problem with the inline images, you can view them here: https://www.dropbox.com/sh/abeonq259f7e81u/AAC5wDh8tSFXhoSadhh7mMWCa


#3

I’ve got a fix for this issue, or at least a workaround. The animation should start with the rest pose, then nothing bad will happen with the mesh along the animation. Now I just need to rethink the animation repeat cycle, but that shouldn’t be a problem.

Some screenshots with the fix: https://www.dropbox.com/sh/635atsfopz57dlk/AADBjNBhnQN3BdXjFXVITYira

Hope this helps someone else too.


#4

Glad to hear you’ve found a solution :slight_smile:



Do you mean that the cause was the animation loop process? To loop animate with the POD format, the first and last key frames must be identical.



Thanks,

Joe


#5

Hi Joe,



The problem also reproduces without animation at all (just pose the character in a couple of frames). The first key frame of the animation should be the same with the rest pose (the position of the character in edit mode) in order to avoid such problems with the mesh. I don’t understand why because it works in Blender without this constraint. Anyways, I’m glad it works, but I cannot have the rest pose as part of the running animation loop, so I will have to loop programmatically. I’m using the POD file in Cocos3D.



Cheers!


#6

Hi,

Thanks for the clarification.



If you can share a .blend file that reproduces the issue and the exported .pod by attaching them to a support ticket, I can ask the PVRGeoPOD lead to look into the problem for you.



Thanks,

Joe


#7

Hi,



Sorry I was off for the weekend, so I created a ticked this morning: https://pvrsupport.imgtec.com/ticket/115



Thanks,

Andrei


#8

I believe POD is actually using frame 0 as the rest pose …



// Back transform bone from frame 0 position

GetWorldMatrix(mTmp, NodeBone);



I think thought this should be automatic (hidden) by the exporter - the actual animation should start at frame 1 etc …


#9

Hi Warmi,



Thanks for the suggestion. I just saved the rest pose at frame 0, but still works as before. I shifted everything one frame to the right so that the rest pose is at frame 1 and the animation starts at frame 2, and works fine now. So this will do for the moment, I can extract and repeat just the run cycle in the cc3 code.


#10

Hi Andrei,



Glad to hear you have a workaround :slight_smile:



Thanks for sharing your files with us. I’ve reported BRN49190 against PVRGeoPOD to investigate the frame 0 animation issues.



Joe