Difference between revisions of "Category:LSL Face"

From Second Life Wiki
Jump to navigation Jump to search
(refined face existance rules for sphere prims)
 
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{LSL Header}}
{{LSL Header|ml=*}}{{LSLC|}}{{LSLC|Prim}}
A prim has one or more faces depending on its basic shape and its shape parameters. Each face of a prim can have its own texture properties, color, alpha, and attributes (shiny, full-bright, and bump-map). The texture properties that each face can have are: texture, texture map (standard or planar), scale, offset, and rotation. The properties of a prim face can be changed individually by using its face number or all of the prim faces can be modified at once using the [[ALL_SIDES]] face number.


Prims are formed by moving a circle, triangle, or square through a path in 3D space. For boxes, prisms, and cylinders the path is a line. For tori, rings, and tubes the path is a circle. For a sphere the path is rotation of a half-circle around a point. A circle (or half-circle) defines one face along its path, a triangle defines three faces along its path, and a square defines four faces along its path. The interior face of a hollow prim is always one face, even if the hollow shape is a triangle or a square.
See [[Face]] for information.
===Using the Face List Table===
The following table lists all of the possible faces for the seven different prim types. A given prim will have some subset of this list depending on its shape parameters. The face number of a prim face is determined by its position in the face list after non-existent faces have been removed. The first face in the list that exists will be face zero, the next existing face will be face one, and so on. The positions of the faces listed in the table are in the local coordinate space of the prim, assuming no twist. If beginning twist or end twist is non-zero then the faces will move with respect to the prim's local coordinate space.
 
The following rules determine whether a face exists and has a face number:
* The outside face always exists on circle derived prims (sphere, cylinder, and torus).
* Both path cut faces exist if path cut begin > 0 or path cut end < 1
* Both path cut faces exist on circular path prims (torus, ring, and tube) if the circular path is broken: path cut, skewed, begin twist ≠ end twist, radius delta ≠ 0, revolutions > 1, or taper parameters ≠ 0
** ''even if begin twist ≡ end twist ''mod'' 360''
* Both path cut faces exist on sphere prims if begin twist ≠ end twist (even if ≡ ''mod'' 360)
* Both sphere dimple faces exists if either dimple begin > 0 or dimple end < 1
** ''yes, the dimple begin face exists even if dimple begin = 0 and dimple end < 1''
* The hollow face only exists if hollow > 0
* Both profile cut faces exist if profile cut begin > 0 or profile cut end < 1
* If the path cut of a prism or box completely eliminates a face then that face doesn't exist
* If the profile cut of a ring or tube completely eliminates a face then that face doesn't exist
* A face ''''still exists'''' even if it is shrunk all the way to a line or a point by the taper parameters
 
{|  {{prettytable}}
| '''Sphere'''
* path cut end
* outside
* hollow
* path cut begin
* dimple begin
* dimple end
|| '''Cylinder'''
* top (+z)
* outside
* hollow
* bottom (-z)
* path cut begin
* path cut end
|| '''Torus'''
* path cut end
* outside
* hollow
* path cut begin
* profile cut begin
* profile cut end
|-
| || '''Prism'''
* top (+z)
* +y
* -x
* -y
* hollow
* bottom (-z)
* path cut begin
* path cut end
|| '''Ring'''
* path cut end
* inside face
* +x
* outside face
* hollow
* path cut begin
* profile cut begin
* profile cut end
|-
| || '''Box'''
* top (+z)
* -y
* +x
* +y
* -x
* hollow
* bottom (-z)
* path cut begin
* path cut end
|| '''Tube'''
* path cut end
* outside face
* -x
* inside face
* +x
* hollow
* path cut begin
* profile cut begin
* profile cut end
|}
==== An example ====
If you have a box prim that has a path cut beginning of 0.30, a path cut ending of 1.00, and no hollow then your face list looks like this:
{|
{{LSL DefineRow|top (+z)|''always exists''}}
{{LSL DefineRow|-y|''doesn't exist because the path cut beginning is ≥ 0.25''}}
{{LSL DefineRow|+x|''exists''}}
{{LSL DefineRow|+y|''exists''}}
{{LSL DefineRow|-x|''exists''}}
{{LSL DefineRow|hollow|''doesn't exist because the hollow parameter is 0''}}
{{LSL DefineRow|bottom (-z)|''always exists''}}
{{LSL DefineRow|path cut begin|''exists because path cut beginning > 0''}}
{{LSL DefineRow|path cut end|''exists because path cut beginning > 0''}}
|}
So the face numbering for this prim is:
{|  {{prettytable}}
| 0 || top (+z)
|-
| 1 || +x
|-
| 2 || +y
|-
| 3 || -x
|-
| 4 || bottom (-z)
|-
| 5 || path cut begin
|-
| 6 || path cut end
|}

Latest revision as of 11:23, 8 January 2010