Difference between revisions of "Spherical Normal maps"

From Second Life Wiki
Jump to navigation Jump to search
(first draft)
 
m (sorting paragraphs, fixing and cutting)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Normal maps for spherical prims/faces and spherical sculpted prims are different and involve some more/different steps:
Normal maps are different between flat faces, Spherical prim faces and Sculpted Prims. Spherical prim faces require a rotation by 90° that can be tricky for some textures, like normal maps for spherical globes:


- Your texture must be sideways to work with a spherical prim:
== Planar sculpt maps work just fine on all [[PRIM_SCULPT_TYPE_SPHERE]] sculpted prims, but they do not work on prim spheres ==


'''To work on a spherical prim, the height map for your normal map needs to be rotated rotated by -90° counter clockwise''' (clockwise may work as well, not tested) before you turn it into a normal map. Otherwise the north pole of an earth map on a spherical prim would not be on the north pole of a spherical prim! You can not rotate a normal map on a prim in post without changing the way that it reflects light. A 180° rotation of a normal map within SL turns a hill into a valley!
[http://secondlife.com/app/image/3e9211d6-c42d-a9ff-95b9-5c1ab349ed38/2 3e9211d6-c42d-a9ff-95b9-5c1ab349ed38] will NOT work on prim spheres because they have their poles on the left and right side of an unrotated texture. But rotating a normal map changes the normal map, rotating a normal map by 180° inverts it.


This does not apply for SCULPT_TYPE_SPHERE spherical sculpted prims. You can
Using .werkkzeug3 [https://mega.co.nz/#!s0UHSKTJ!BqybVjWr8wdfYTNePdS5bhonAJkZh3P_2YAvPEtCvVU] to make maps for spherical prims from a height map needs the following command chain:


A bump/hill on your (unfinished) normal map should have green on the upper side, blue on the left side and flat terrain should be bright red. This map would work nicely on a flat texture.
(double right klick in the lower window to add a function, they are chained from top to bottom loke these functions:)


- all spherical normal maps need hue shifted by -90
* Import: (a .png height map image that has the north pole facing up and that has high parts white and low parts black)
''' To work on a spherical face or on a spherical sculpted prim, a normal maps image needs to be shifted in its HUE by -90''' (-1/4 of a full hue rotation).
* Rotate: With "angle" set to -0.250, rotating 90° to the right!
* Normal: 3d (flat will be red, hills are green on the lower side)
* HSCB: With 0.600 as "hue" parameter, making "flat" BLUE.
* Rotate: With "angle" set to 0.250, rotating 90° to the left.


Flat terrain should now be purple, the upper left side of a bump should now be green, the upper right side should be red and the lower side should be blue.
----
This is necessary for spherical prims and SCULPT_TYPE_SPHERE spherical sculpted prims.


-examples illustrating the differences:
== A [[PRIM_TYPE_SPHERE]] normal map for a sphere prim must be rotated by 90°:==


A flat normal map (1a6c1313-8042-62cb-8b59-5f30bbfbc47e) on a prim-sphere will have a light source cast no light "south" of it (assuming an earth-map and mostly flat terrain) and have all flat/ocean terrain north of it 100% illuminated.
but green must still be on the upper side of a hill like here: [http://secondlife.com/app/image/ab6adc27-e101-9d3a-1097-088104c1f607/2 ab6adc27-e101-9d3a-1097-088104c1f607]


A spherical normal map on a prim-sphere (1e266b9c-f842-865f-9eb2-39b43e30cb75) on a sphere will work properly. The same spherical normal map will work on SCULPT_TYPE_SPHERE, you just have to rotate the normal map by 90 or 270 within SL's normal map settings.
 
Using .werkkzeug3 to make these normal maps for spherical prims needs the following command chain:
 
* Import: (a .png height map image that has the north pole facing up and that has high parts white and low parts black)
* Normal: 3d (flat will be red, hills are green on the lower side)
* Rotate: With "angle" set to 0.250, rotating 90° to the left.
* HSCB: With 0.600 as "hue" parameter, making "flat" blue.
 
== This Purple-rotated normal map works on sculpt spheres and prim spheres, but not on flat prim faces: ==
 
[http://secondlife.com/app/image/1e266b9c-f842-865f-9eb2-39b43e30cb75/2 1e266b9c-f842-865f-9eb2-39b43e30cb75] if good if you like spheres.
 
* Import: (a .png height map image that has the north pole facing up and that has high parts white and low parts black)
* Color: "Mode" set to "invert" (inverting the height map to make high places black and low places white)
* Rotate: With "angle" set to 0.250, rotating 90° to the left.
* Normal: 3d (flat will be red, hills are green on the lower side)
* HSCB: With 0.800 as "hue" parameter, making "flat" PURPLE. (0.8 is correct here, it is purple after all)
 
The normal map must be rotated by 270 in second life.

Latest revision as of 13:09, 28 August 2014

Normal maps are different between flat faces, Spherical prim faces and Sculpted Prims. Spherical prim faces require a rotation by 90° that can be tricky for some textures, like normal maps for spherical globes:

Planar sculpt maps work just fine on all PRIM_SCULPT_TYPE_SPHERE sculpted prims, but they do not work on prim spheres

3e9211d6-c42d-a9ff-95b9-5c1ab349ed38 will NOT work on prim spheres because they have their poles on the left and right side of an unrotated texture. But rotating a normal map changes the normal map, rotating a normal map by 180° inverts it.

Using .werkkzeug3 [1] to make maps for spherical prims from a height map needs the following command chain:

(double right klick in the lower window to add a function, they are chained from top to bottom loke these functions:)

  • Import: (a .png height map image that has the north pole facing up and that has high parts white and low parts black)
  • Rotate: With "angle" set to -0.250, rotating 90° to the right!
  • Normal: 3d (flat will be red, hills are green on the lower side)
  • HSCB: With 0.600 as "hue" parameter, making "flat" BLUE.
  • Rotate: With "angle" set to 0.250, rotating 90° to the left.

A PRIM_TYPE_SPHERE normal map for a sphere prim must be rotated by 90°:

but green must still be on the upper side of a hill like here: ab6adc27-e101-9d3a-1097-088104c1f607


Using .werkkzeug3 to make these normal maps for spherical prims needs the following command chain:

  • Import: (a .png height map image that has the north pole facing up and that has high parts white and low parts black)
  • Normal: 3d (flat will be red, hills are green on the lower side)
  • Rotate: With "angle" set to 0.250, rotating 90° to the left.
  • HSCB: With 0.600 as "hue" parameter, making "flat" blue.

This Purple-rotated normal map works on sculpt spheres and prim spheres, but not on flat prim faces:

1e266b9c-f842-865f-9eb2-39b43e30cb75 if good if you like spheres.

  • Import: (a .png height map image that has the north pole facing up and that has high parts white and low parts black)
  • Color: "Mode" set to "invert" (inverting the height map to make high places black and low places white)
  • Rotate: With "angle" set to 0.250, rotating 90° to the left.
  • Normal: 3d (flat will be red, hills are green on the lower side)
  • HSCB: With 0.800 as "hue" parameter, making "flat" PURPLE. (0.8 is correct here, it is purple after all)

The normal map must be rotated by 270 in second life.