I am currently studying the lighting section in three.js.
I wrote the code based on the official sample.
After using a hemispherical light source, the projection color of this flamingo on the ground turned sky blue.
I am very puzzled about this. Can a friend help explain this phenomenon? How should we solve it again?
Thank you!
This is not a projection, it’s a shadow.
By default - when using DirectionalLight for example - shadows are black. And that ain’t realistic (ex. go outside behind a very tall building, in a way that the building is between you and the sun. Are you standing in pitch-black shadow, or is there still light around you someway?)
HemisphereLight fakes, in quite a super naive way, that light that manages to bounce into the shadowy areas. Models are lit from underneath with the “groundColor” - simulating light that bounced from the ground and hit the downside of the models. And ground gets lit from above with the “skyColor” - simulating the ambient light caused by the color of the sky hemisphere.