Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(2 edits)

Hello, first of all congratulations on the great work you've been doing for the C3 community, I recently acquired 2 of your plugins and my head is bubbling with ideas with the possibilities that have opened up and I'm already developing a project... I'm managing to work well with 3D so far, but I'm having a hard time understanding how the illuminations work. Even looking at all the examples you've provided, I can't create some of the things I wanted to.

For example, I'd like to know how to create this type of lighting:

And I'd like to know if it's possible to create this type of lighting on 3D signs or in some other way: 


And my last question, is how I could create a more realistic Lantern... I saw on your twitter this example https://twitter.com/kindeyegames/status/1673439254016565250 that you posted of a test, and is it currently possible to create something the same or similar?

Thanks in advance.

(2 edits)

C3 SDK and effects do not support very good lighting. So, we have to do a few compromises. For flat lighting of the 3DObject, you can have multiple lights, including spot lights. However, the only work on a per face basis. So, for example on the building above each side is a single face with texture, so each face only have a single light value for the entire face, so you won't get nice liking like you have above.

You could subdivide the walls into many triangles and it could start to look like the above, however, that requires a lot of performance to do. I find that the 3DObject lighting works best on a little more complicated, animated models.

This lighting is world space lighting (e.g. the lights can be placed in the world and they work as expected as you change the camera location). These are ACEs of 3DObject.

The other option is the screenspace lighting. This lighting is done by looking at the depth normals of the screenspace and using though to determine lighting on a fragment (e.g. pixel) basis. It look pretty nice, but it has the restriction that the light _will_ change as the camera changes orientation (the lighting is _not_ world based). So, in general it works better for some ambient, distant lighting and lighting sources that are coming from the direction of the camera. This is an effect addon.

Some other ideas to think about: bake in lighting on 3d models. For example in the above, if the lighting doesn't change you could bake the lighting into the textures in blender, etc.

Okay, that helped me understand a bit, I think the idea of doing the lighting on the textures is valid and simpler to do.