Work in progress.

Requires webgl2

Set in C3 editor and in project settings

Notes:

  • Spiritual successor to 3DObject
  • SDK V2 supported
  • Renders 3D models (using glb files)
  • Requires webgl2 - set in C3 editor and in project settings

Features:

  • Render  3D model w/ PBR textures
  • Lighting (8 lights) - only rendera objects (for now)
  • Shadows (can be enabled for each light, only rendera objects cast shadow)
  • Enable, disable node

Usage:

  • One global object: rendera (controls loading glb model, lighting)
  • World object, instances
    • Can create model per instance
    • Control animation and movement
    • C3 behaviors can control position, rotation
    • Enable, disable nodes
  • Light object, instances
    • Control light position through object position
    • Control light type (use spotlight for now)
    • Control cast of shadows or not

Perf suggestions: 

  • Only use 1 or 2 hero shadows, experiment adding others for specific effects
  • Minimize bones, polys

Working with the esteemed Foozle, who has been working on a 3d editor for C3. Currently rendera controller just renders a placeholder sprite with the glb name in the editor.

Looking for feedback on Minimum Viable Project, what are the minimum additional ACEs or features to make a shippable C3 3D game in your style? This is not a 'wishlist' it is what features are required for shipping a 3D game using rendera? Thanks for checking this project out. Leave MVP 'requirements' in comments.

Updated 7 days ago
StatusIn development
CategoryAssets
Rating
Rated 5.0 out of 5 stars
(3 total ratings)
Authorkindeyegames
Made withConstruct

Download

Download NowName your own price

Click download now to get access to the following files:

rendera-control-1-0-0.c3addon 23 kB
rendera-1-0-0.c3addon 381 kB
RenderaControl.c3p 24 MB
RenderaControl (6).zip 24 MB
rendera-control-1.1.0.c3addon 12 kB
rendera_1.1.0.c3addon 328 kB
rendera-control-1.2.0.c3addon 13 kB
rendera-control-1.3.0.c3addon 13 kB
rendera-control-1.5.0.c3addon 14 kB
rendera_1.2.0.c3addon 330 kB
rendera-control-1.6.0.c3addon 15 kB
rendera_1.3.0.c3addon 331 kB
rendera-control-1.6.2.c3addon 459 kB
rendera-light-1.0-0.c3addon 10 kB
rendera-1-4-0.c3addon 335 kB
RenderLightControl.c3p 78 MB
rendera-control-1.7.0.c3addon 459 kB
rendera-light-1.1-0.c3addon 10 kB
RenderaLight.c3p 78 MB
rendera_1.5.0.c3addon 340 kB
rendera_1.6.0.c3addon 340 kB
rendera-control-1.8.0.c3addon 459 kB
rendera_1.7.0.c3addon 340 kB
rendera_1.7.1.c3addon 341 kB
RenderaControl-1-7-1.c3p 79 MB
rendera_1.8.0.c3addon 341 kB
rendera_1.8.1.c3addon 343 kB
rendera-control-1.9.0.c3addon 460 kB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

Made a new debugging test. Besides all the visual stuff, it runs really smooth. Setting objects around the layout was hard haha. It was all a guess.
https://www.mediafire.com/file/wqalg1290zwa160/RenderaTest.c3p/file

Nice work, I'll get to the no object on screen bug next.

I added some bone world pos expressions. Note that the bug.glb is strange it scales with inversebindmatrix, so it won't work well with this, but cleric.gltf does.

For level design check out blender dropper addons

https://jhocking.itch.io/dropper-for-blender

Having fun with this! For my MVP, these are really the only 2 I need that's missing from the old 3dobject.

Get Node Vertex Position = for spawning effects
GPU skinning/Static geometry = for performance

Would be cool but not really needed rn.
SSAO

You use the existing SSAO effect (which I also updated recently, it's over in 3DObject page.)

It is already doing gpu skinning and static geometry. I am finding the GPU C3 busy metric doesn't seem to match what rendera is doing, instead keep an eye on CPU and FPS.

I'll take a look at your requests. The Get node vertex pos, I'm going to see if I can make a bone instead and we'll see how that works.

Oh yay, didn't know SSAO still worked and had the skinning and static already, thanks!

That would be cool if it's a bone. Would it still need to be parsed by json?

Yay the latest update works for me now!
Some bugs, models disappearing before going off screen and when nothing is on screen all the graphics break.


Thanks for testing, I do have frustrum culling, maybe I'll make that more tuneable. Also will check out the issue with no models. Great to have the video, helps me see what's happening.

Can you plz share your project, so I can debug?

Sure here
https://www.mediafire.com/file/vq8arnq7fh8ooko/RenderaLight.c3p/file

Thanks for the example. Will also look at the no 3DObject on screen rendering issue.

https://kindeyegames.itch.io/rendera/devlog/1101315/add-frustrum-cull-offset

(2 edits)

Perfect! Will test making a game with this. I have used your other 3dobject add-on with a couple of games (check my profile). These are the best add-ons.

For the rendering issue, it also happens with 3DObject on screen. Gets worse when setting the 3dobject sizes smaller to like 100x100. Other than that, it works ok.
https://www.mediafire.com/file/2uw5a0yl1bng4ag/RenderaLight.c3p/file

My models are not loading

Must use webgl2, not webgpu

I'm waiting for updates, great project

(2 edits)

When WebGPU is enabled, everything becomes normal but the model doesn't render. But when it's off, the model becomes visible and dark-ish (it's visible when the camera isn't close to it) and the whole layout goes.. like this in the image. WebGL2 is used too, and worker mode is off. I think I did it like The Rendera c3p samples, but the results are different for some reason.

And yeah, I understand that it's experimental, and I'll be keeping watch on the updates. 👍

(2 edits)

Amazing work as always! Very promising!

Feature request: Not sure if already possible in Rendera or not but one thing I really missed from the legacy rapier physics was angle ACE:s instead of just X&Y cordinates for everything. It would be so much easier with some "raycast at angle", "apply force at angle", "apply impulse at angle", "move character controller at angle" etc. And I mean X&Y angle, having Z separate is fine :)

Also not sure what the issue is but I can not get rendera to work outside of the sample C3p provided whatever I do. I can't get a single model to render even though I think I've set everything up exactly like in the rendera samples and WebGPU is off and WebGL2 is used. Any idea what I can be missing?

I get this error when trying to load a glb with skeleton animations. 

actions.js:122  [rendera] Failed to load model Objectid: "Player.glb"[[Prototype]]: Object Player.glb Objectcode: "INVALID_DATA"message: "Unsupported attribute semantic: TEXCOORD_1"modelId: undefinedname: "ModelError"[[Prototype]]: Object

I have already tested different models and they all get this error. Files without animation are working fine.

I use animated models too and they work. Can you send a link to one of your files that does not work?

I’m having some crashes when trying to use the plugin. It usually happens when I add a new RenderaController in your “RenderaLight.cp3”. Sometimes it also crashes when I try to close the project through the Construct menu.

I’ve uploaded a file with the model that for some reason doesn’t load, and also a screenshot of the crashes I’m getting.

Drive Folder

(1 edit)

Thanks for the example, try the new one.

I am now ignoring TEXCOORD_1, TEXCOORD_2 (they are typically game specific)

Also for now don't use worker animation, some work to be done there.

I open the example project and everything seems to work, but when I try adding it to my own project, I don't get the 3d options and such underneath the renderacontroller properties

Not sure, try the latest? You need rendera and renderacontroller in your project

Great stuff! I’m really confused about how the scaling works, sometimes I have a large object in the editor, but when I preview it in-game, it appears really small. Am I missing something? 

same here... 

The model is not displayed.

I don't understand what to do. There are no examples. 

Try RenderaControl.c3p listed above. This is WIP.

(1 edit)

By the way, I can't get it working - just empty layout and a console full of errors like this:

index.js:14565 Uncaught (in promise) TypeError: this.gl.bindBufferBase is not a function at GPUResourceManager.initializeBoneUB

I've tried the latest C3 and r449 as well (where 3DObject works fine and I'm using it with this version)

Also, what is the purpose of "3D editor" coming with this plugin?

Make sure everything is set to use webgl2, not webgpu project and editor

Yeah, my editor was set to WebGL1, sorry for bothering you. Thanks for your work!

(2 edits)

Wow, wow! The most anticipated (and most needed actually) plugin for C3! You guys rock!

MVP 'requirements' (I can think of):

  • Load and render 3D models
  • Play/Change animations
  • Change textures in runtime
  • Enable/Disable nodes

Thanks for your mvp comments.

(1 edit)

I agree that changing textures mid game is a necessity. My tank game allows sprites to be used to change the team color and damage state.


oooo.

I will play around with it.

The static for glbs that do not have animations to improve performance.

grande!!!

Woohoo! Nice!

Great stuff!