I made sure to put a 0.7-intensity hemispheric light in my scene and even added a similarly-powered directional light later (which is why there are two highlights in my version).
I recreated the skybox, too, using the same exact .env file.
I went through the materials, both the skybox’s and the cone’s, to make sure they match their counterparts in the Sandbox.
The biggest thing I noticed is that, in the Sandbox, in the “Levels” section in the Inspector, the cone material receives its lighting only from the “Environment”, whereas for mine it’s only the “Specular”. However, I haven’t been able to figure out how to recreate that kind of lighting.
I solved it by applying the skybox CubeTexture as the reflectionTexture property on the cone’s material.
It’s still unclear how the Sandbox applied the reflection texture. How did it decide which materials should receive it? Does it just apply it to all the materials in the scene?
Thank you. I tried to do that by iterating over every mesh in the scene, once it loaded, but since TypeScript transpiles to JavaScript and JavaScript is dynamically typed, I couldn’t figure out how to check whether the mesh’s material is of type PBRMaterial or StandardMaterial.
Checking if the reflectionTexture property is defined on the material proved pointless, since both have it.
And applying the texture to both kinds of materials regardless resulted in… interesting things :