2
$\begingroup$

I wish to create an inverted sphere with inverted lighting (so it appears as a normal sphere). The vertex normals need to point outwards, while the face normals point inwards (for creation of an atmosphere in Unity3D).

I have found a few solutions within Unity3d, however, each require per-frame calculations I very much wish to avoid.

$\endgroup$
  • $\begingroup$ I dont know Unity, but what about using two spheres ? $\endgroup$ – lemon Jun 16 '16 at 15:39
  • $\begingroup$ With 2 spheres? I am using 2 spheres, but are you thinking clouds or suggesting something else? Here is a screenshot of what i am working on, notice the glow of the atmosphere being on the wrong side of the planet. i.imgur.com/chnmlk7.jpg?1 By reversing only the vertices normals Unity's lighting model will invert the light hitting the atmosphere. $\endgroup$ – Dennis Jun 16 '16 at 17:01
3
$\begingroup$

I finally solved the issue. The solution is to split the normals, which I assume means telling Blender to stop the 'connection' between the two types of normals, face and vertex:

  1. Enable 'Custom Normal Tools' in Add-Ons
  2. Create an inverted sphere
  3. Enable 'Auto Smooth' in Object Data
  4. Add the 'Normal Edit' modifier to the inverted sphere
  5. Add an empty object in the center of the sphere
  6. Use Empty object as target in the Normal Edit Modifier with the following settings:
    • Radial
    • Mix Mode: Subtract
    • Mix Factor: 1.000

Source: Custom Split Normals (Blender wiki)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.