Thanks to Construct community funding - GPU Skinning



Thanks to the following contributors and Construct Community Collective for funding the release of a major update: GPU skinning support for worker animation and non-worker animation.

  • Adamantium: Skymen
  • Platinum: PixelMetal
  • Gold
  • Silver: Linus
  • Bronze: Galiano
  • Contributor: Federico, Hayo

Remove the main.js that was previously required for fragment lighting.

This update provides performant skinning animation supporting using GPU instead of the CPU (which the GPU is very good at), it also lowers the transfer of data between CPU and GPU and stores vertex and animation data on the GPU, so it is not needed to be transferred every frame as C3 typically does for rendering. Not sending data improves CPU and GPU performance.

Only use GPU Skinning or Static Geometry do not mix the setting on an object/instances. It is ok to enable and disable the setting, but generally should be enabled and not changed.

This is a fairly major change for animation, so there may be issues. Please report problems related to this change and a test project which shows the issue.

This update also automatically update the vertex shader to work with GPU skinning and Fragment lighting, so that any 3DObject or frag light js code in main.js is not required anymore (if you don't have any other changes in main.js, you can remove it from the project.)

This only supports webGL2 and webGL2 will be the focus going forward. I have not see a big improvement in performance with webGPU with C3.

Files

3DObject-2-68-1.c3addon 120 kB
99 days ago

Get Construct 3 3DObject Plugin

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

Woooow! I'll try it soon 🤩

(3 edits)

cool! so should worker animations be off?

edit : just tried and all my models turned invisible, idk why. ill try again this weekend

I had the same problem in one of my games, and in another project only the 3D of the character disappeared, it only appeared after I activated Worker Animations, but in the previous project it didn't help.

I'll work on easier version today, part of the frag light js script that modifies the vertex shader needs to be removed, also webgl2 only

I forgot that this version already includes the other frag light changes, so you can delete the main.js that was previously need for fragment lighting. That may be causing the issue.

I forgot that this version already includes the other frag light changes, so you can delete the main.js that was previously need for fragment lighting. That may be causing the issue. Can you try commenting out all the main.js code or removing the file?

worker animation can be on or off, generally on is preferred for lower main thread CPU usage.