Godot: Animating blend shapes produces visual artifacts

Created on 1 Jul 2018  路  8Comments  路  Source: godotengine/godot

Godot version:
master / 0ffec7daf

OS/device including version:
_Manjaro Linux 17.1_

Issue description:
When animating blendershapes with AnimationPlayer which was exported using the new Blender exporter, it produces visual artifacts which looks like black patches after letting it play for a while.

Here's a video which demonstrates the symptom (the glitch becomes more noticeable from 0:30 on):

By the way, the model is quite heavy with 20+ blendshapes and the scene is close to 200mb in size.

archived bug rendering

Most helpful comment

Yes, I agree with you. It's just not something too obvious that blendshapes modify actual a mesh resource so that it shouldn't be shared, but it makes sense that it's supposed to work that way.

I'll close both of those issues and change my tracker issue that mentions this problem.

Thanks again!

All 8 comments

A reproduction project would be very helpful

I have't yet decided if I should push the newly exported models to the repository because of their excessive size, but the project itself is available from this location:

I'll export the model again with a minimal set of blendshapes and push the code that can reproduce the issue on this weekend. I'll let you know when it's ready.

I just pushed the changes needed to reproduce the issue for my project. But I'm afraid it may be quite a hassle to set it up on other machines, because it only runs on a very recent Mono enabled build of Godot, but not on the latest one due to a regression error.

Anyway, you can clone repository (consider using --depth==1 if it takes too long) and check out the above linked branch (blendshapes).

Then open the project using a Mono version of Godot which is built from the revision r7516(0ffec7daf) or slightly older.

And if you run the default scene and let it play for a while, you'll notice the same symptom shown from the Youtube video linked in the issue description above.

I had deleted the blendshapes branch since the problem could be tested with the master branch now. I just made a new video showing the symptoms of this issue and also #22361 here:

i think this and #22361 is relevant and i have an idea what causing for the issue.

this issue happened to me when i used more than one instance my character with different eye blinking times.

i realized that, the eyes of my characters flickering and when i zoomed flickering is gone but here is new issue; the characters are blinking on same time but it should not like that.

then i did unique the mesh reference of all MeshInstance nodes in my character nodes.

and flickering is gone. my characters blinkig in different times as it's supposed to be.

@doyouknowaboutq I just tested this and I can confirm setting all the mesh resources as 'local to scene' apparently resolved both this issue and #22361. Thanks very much!

I wonder if this could be an intended behaviour then? In this case, we may close both of the issues and maybe mention this in the documentation because I think it's quite easy to overlook.

i think there is no bug. because it's seems to me so normal behaviour. when we were making an eye blinking animation through a blend shape with an AnimationPlayer before, we were manipulating a reference shared by all the characters. why would that be so?

Yes, I agree with you. It's just not something too obvious that blendshapes modify actual a mesh resource so that it shouldn't be shared, but it makes sense that it's supposed to work that way.

I'll close both of those issues and change my tracker issue that mentions this problem.

Thanks again!

Was this page helpful?
0 / 5 - 0 ratings