Trying to figure out the best way to have a light source around the player while leaving the player unlit. Basically your standard ARPG lighting experience.
I tried using a point light and it lights up the character. Tried changing player to channel 1 and light to channel 0, but it still lights up the character. This also causes “dark spots” around the character when I want the character to have more uniform lighting like ARPGs (e.g. Diablo, POE, etc…).
A spotlight won’t work since I don’t want the top of objects light up brightly when near pillars, etc… (this is a top-down game).
Would an emissive lighting on the character material work for this?
If you add the point light to your character directly under the capsule, set its light channel to 1 and the character mesh to 0, light should not be applying to the character. You may see reflections of the light on your character, but it should not be illuminating or casting shadows from your character itself. This is the way I would recommend doing this, it gives you the most control over lighting your scene with the least amount of work. You just need to make sure that environmental lights that should affect the character are set to light channel 1 as well as 0.
If this is still not working for you, can you share any details about how you are attaching the point light to your character?
That’ll work to put a light radius around the character, but how do I then light up the character itself so there’s no dark spots on the character? I assume I need to make some adjustments to the material for that? Would having a global lighting with fog attached to the character be a possible solution as well?
Ok, this kinda works. Problem is lighting channel doesn’t seam to do a thing for HISM. My entire map is HISM. It’s set to accept channels 0 and 1 just like my AI. My AI receive light, but my floors, walls, etc… do not. Only way they will is if I put the light back on channel 0. If I put the light on channel 0 and my character on channel 1 then my character still casts shadows from the point light which I don’t want.
Aha, got it figured out. I’m using a modular character and in the constructor it’s combined into a single mesh. I needed to also set the channel on all the child meshes as was only setting it on the parent. Now I set the light to channel 0 and character to channel 1. This gives the light radius behavior I’m looking for.
Now I need to figure out how to properly light the character itself.
Ok, for lighting the character I added 4 lights that only affect channel 1 (same channel as character), don’t cast shadows, and spaced equally in a square around the character. This seams to light them up perfectly.