Difference between revisions of "Skin SOP"

From TouchDesigner Documentation
Jump to: navigation, search
(Skin SOP Auto Create)
(TD Editor)
Line 1: Line 1:
 
+
{{Summary
{{Summary|OPfamily=SOP|OPtype=skin|OPlabel=Skin|OPlicense=Non-Commercial|OPclass=skinSOP_Class|OPfilter=True
+
|OPtype=skin
 
+
|OPlabel=Skin
|short=
+
|short=The Skin SOP takes any number of faces and builds a skin surface over them.
 
+
|OPclass=skinSOP_Class
|long=
+
|OPfamily=SOP
 
+
|long=The Skin SOP takes any number of faces and builds a skin surface over them. If given two or more surfaces, however, the SOP builds four skins, one for each set of boundary curves.
}}
 
 
 
{{ParMiniMenu|OPfamily=SOP|OPtype=skin|Parname=uprims|Parlabel=U Cross Sections|Parorder=0
+
All face and surface types are valid as long as the input(s) contain only faces or only surfaces. Different face types can be skinned together into one surface. For example, it is possible to skin a cubic open NURBS curve with a polygon and a quintic closed Bzier curve even if the three faces have a different number of control vertices. Similarly, this SOP can skin the boundary curves of surfaces of different types, number of rows, columns, etc.
 
+
|Parsummary=
+
When face types are input, the number of input SOPs and the number of faces in each input establish the skinning method. If only one input exists, a "linear-skinning" operation is performed by running a skin across the cross-sections. The result is the classic ruled or skinned surface. If a second input exists, a "bi-linear skinning" is performed which computes a cross-skin between the faces in the first input (U cross-sections) and the faces in the second input (V cross-sections). The result is a surface whose name derives from the number of cross-sections in each direction: triangular, square, or multiple boundary surface, as well as a special case of swept surfaces and N-rails. When possible, cross-sections are interpolated as isoparms.
 
+
|Paritems=
+
If you need more control over tangency in the skin, try using the [[Bridge SOP]].
 
+
+
<span class="tipTextSOP">Tip:</span> If you have problems with the results being skinned in the wrong order, try inserting a Sort SOP ahead of the Skin SOP, and <span class="tipTextSOP">Sort by Normals</span>.
 
+
|OPlicense=Non-Commercial
}}
+
|OPfilter=True
{{ParMiniMenu|OPfamily=SOP|OPtype=skin|Parname=vprims|Parlabel=V Cross Sections|Parorder=1
+
}}
 
+
{{ParMiniMenu
|Parsummary=
+
|Paritems=
 
+
|Parlabel=U Cross Sections
|Paritems=
+
|OPtype=skin
 
+
|OPfamily=SOP
+
|Parsummary=
 
+
|Parorder=0
}}
+
|Parname=uprims
{{ParMenu|OPfamily=SOP|OPtype=skin|Parname=surftype|Parlabel=Connectivity|Parorder=2
+
}}
 
+
{{ParMiniMenu
|Parsummary=
+
|Paritems=
 
+
|Parlabel=V Cross Sections
|Paritems=
+
|OPtype=skin
 
+
|OPfamily=SOP
+
|Parsummary=
{{Menuitem|Itemlabel=Rows|Itemname=rows|OPfamily=SOP|Parname=surftype
+
|Parorder=1
 
+
|Parname=vprims
|Itemsummary=
+
}}
 
+
{{ParMenu
}}
+
|Paritems=
{{Menuitem|Itemlabel=Columns|Itemname=cols|OPfamily=SOP|Parname=surftype
+
{{Menuitem
 
+
|Itemname=rows
|Itemsummary=
+
|Itemsummary=
 
+
|Itemlabel=Rows
}}
+
|OPfamily=SOP
{{Menuitem|Itemlabel=Rows and Columns|Itemname=rowcol|OPfamily=SOP|Parname=surftype
+
|Parname=surftype
 
+
}}
|Itemsummary=
+
{{Menuitem
 
+
|Itemname=cols
}}
+
|Itemsummary=
{{Menuitem|Itemlabel=Triangles|Itemname=triangles|OPfamily=SOP|Parname=surftype
+
|Itemlabel=Columns
 
+
|OPfamily=SOP
|Itemsummary=
+
|Parname=surftype
 
+
}}
}}
+
{{Menuitem
{{Menuitem|Itemlabel=Quadrilaterals|Itemname=quads|OPfamily=SOP|Parname=surftype
+
|Itemname=rowcol
 
+
|Itemsummary=
|Itemsummary=
+
|Itemlabel=Rows and Columns
 
+
|OPfamily=SOP
}}
+
|Parname=surftype
{{Menuitem|Itemlabel=Alternating Triangles|Itemname=alttriangles|OPfamily=SOP|Parname=surftype
+
}}
 
+
{{Menuitem
|Itemsummary=
+
|Itemname=triangles
 
+
|Itemsummary=
}}
+
|Itemlabel=Triangles
 
+
|OPfamily=SOP
}}
+
|Parname=surftype
{{ParToggle|OPfamily=SOP|OPtype=skin|Parname=keepshape|Parlabel=Preserve Shape|Parorder=3
+
}}
 
+
{{Menuitem
|Parsummary=
+
|Itemname=quads
 
+
|Itemsummary=
}}
+
|Itemlabel=Quadrilaterals
{{ParMenu|OPfamily=SOP|OPtype=skin|Parname=closev|Parlabel=V Wrap|Parorder=4
+
|OPfamily=SOP
 
+
|Parname=surftype
|Parsummary=
+
}}
 
+
{{Menuitem
|Paritems=
+
|Itemname=alttriangles
 
+
|Itemsummary=
+
|Itemlabel=Alternating Triangles
{{Menuitem|Itemlabel=Off|Itemname=nonewv|OPfamily=SOP|Parname=closev
+
|OPfamily=SOP
 
+
|Parname=surftype
|Itemsummary=
+
}}
 
+
}}
+
|Parlabel=Connectivity
{{Menuitem|Itemlabel=On|Itemname=wv|OPfamily=SOP|Parname=closev
+
|OPtype=skin
 
+
|OPfamily=SOP
|Itemsummary=
+
|Parsummary=
 
+
|Parorder=2
}}
+
|Parname=surftype
{{Menuitem|Itemlabel=If Primitive does|Itemname=ifprimwv|OPfamily=SOP|Parname=closev
+
}}
 
+
{{ParToggle
|Itemsummary=
+
|Parlabel=Preserve Shape
 
+
|OPtype=skin
}}
+
|OPfamily=SOP
 
+
|Parsummary=
}}
+
|Parorder=3
{{ParToggleJoinPair|OPfamily=SOP|OPtype=skin|Parname=force|Parlabel=Use V Order|Parorder=5
+
|Parname=keepshape
 
+
}}
|Parsummary=
+
{{ParMenu
 
+
|Paritems=
}}
+
{{Menuitem
{{ParInteger|OPfamily=SOP|OPtype=skin|Parname=orderv|Parlabel=V Order|Parorder=6
+
|Itemname=nonewv
 
+
|Itemsummary=
|Parsummary=
+
|Itemlabel=Off
 
+
|OPfamily=SOP
}}
+
|Parname=closev
{{ParMenu|OPfamily=SOP|OPtype=skin|Parname=skinops|Parlabel=Skin|Parorder=7
+
}}
 
+
{{Menuitem
|Parsummary=
+
|Itemname=wv
 
+
|Itemsummary=
|Paritems=
+
|Itemlabel=On
 
+
|OPfamily=SOP
+
|Parname=closev
{{Menuitem|Itemlabel=All Primitives|Itemname=all|OPfamily=SOP|Parname=skinops
+
}}
 
+
{{Menuitem
|Itemsummary=
+
|Itemname=ifprimwv
 
+
|Itemsummary=
}}
+
|Itemlabel=If Primitive does
{{Menuitem|Itemlabel=Groups of N Primitives|Itemname=group|OPfamily=SOP|Parname=skinops
+
|OPfamily=SOP
 
+
|Parname=closev
|Itemsummary=
+
}}
 
+
}}
+
|Parlabel=V Wrap
{{Menuitem|Itemlabel=Skip Every Nth Primitive|Itemname=skip|OPfamily=SOP|Parname=skinops
+
|OPtype=skin
 
+
|OPfamily=SOP
|Itemsummary=
+
|Parsummary=
 
+
|Parorder=4
}}
+
|Parname=closev
 
+
}}
}}
+
{{ParToggleJoinPair
{{ParInteger|OPfamily=SOP|OPtype=skin|Parname=inc|Parlabel=N|Parorder=8
+
|Parlabel=Use V Order
 
+
|OPtype=skin
|Parsummary=
+
|OPfamily=SOP
 
+
|Parsummary=
}}
+
|Parorder=5
{{ParToggle|OPfamily=SOP|OPtype=skin|Parname=prim|Parlabel=Keep Primitives|Parorder=9
+
|Parname=force
 
+
}}
|Parsummary=
+
{{ParInteger
 
+
|Parlabel=V Order
}}
+
|OPtype=skin
{{ParToggle|OPfamily=SOP|OPtype=skin|Parname=polys|Parlabel=Output Polygons|Parorder=10
+
|OPfamily=SOP
 
+
|Parsummary=
|Parsummary=
+
|Parorder=6
 
+
|Parname=orderv
}}
+
}}
{{History}}
+
{{ParMenu
{{SOPNavBox|OPfamily=SOP}}
+
|Paritems=
{{#invoke:Category|list|SOPs}}
+
{{Menuitem
 +
|Itemname=all
 +
|Itemsummary=
 +
|Itemlabel=All Primitives
 +
|OPfamily=SOP
 +
|Parname=skinops
 +
}}
 +
{{Menuitem
 +
|Itemname=group
 +
|Itemsummary=
 +
|Itemlabel=Groups of N Primitives
 +
|OPfamily=SOP
 +
|Parname=skinops
 +
}}
 +
{{Menuitem
 +
|Itemname=skip
 +
|Itemsummary=
 +
|Itemlabel=Skip Every Nth Primitive
 +
|OPfamily=SOP
 +
|Parname=skinops
 +
}}
 +
 +
|Parlabel=Skin
 +
|OPtype=skin
 +
|OPfamily=SOP
 +
|Parsummary=
 +
|Parorder=7
 +
|Parname=skinops
 +
}}
 +
{{ParInteger
 +
|Parlabel=N
 +
|OPtype=skin
 +
|OPfamily=SOP
 +
|Parsummary=
 +
|Parorder=8
 +
|Parname=inc
 +
}}
 +
{{ParToggle
 +
|Parlabel=Keep Primitives
 +
|OPtype=skin
 +
|OPfamily=SOP
 +
|Parsummary=
 +
|Parorder=9
 +
|Parname=prim
 +
}}
 +
{{ParToggle
 +
|Parlabel=Output Polygons
 +
|OPtype=skin
 +
|OPfamily=SOP
 +
|Parsummary=
 +
|Parorder=10
 +
|Parname=polys
 +
}}
 +
{{History
 +
}}
 +
{{SOPNavBox
 +
|OPfamily=SOP
 +
}}
 +
{{#invoke:Category
 +
|list|SOPs}}

Revision as of 12:12, 14 September 2017

  • Invalid title: ""

Summary
[edit]

The Skin SOP takes any number of faces and builds a skin surface over them. If given two or more surfaces, however, the SOP builds four skins, one for each set of boundary curves.

All face and surface types are valid as long as the input(s) contain only faces or only surfaces. Different face types can be skinned together into one surface. For example, it is possible to skin a cubic open NURBS curve with a polygon and a quintic closed Bzier curve even if the three faces have a different number of control vertices. Similarly, this SOP can skin the boundary curves of surfaces of different types, number of rows, columns, etc.

When face types are input, the number of input SOPs and the number of faces in each input establish the skinning method. If only one input exists, a "linear-skinning" operation is performed by running a skin across the cross-sections. The result is the classic ruled or skinned surface. If a second input exists, a "bi-linear skinning" is performed which computes a cross-skin between the faces in the first input (U cross-sections) and the faces in the second input (V cross-sections). The result is a surface whose name derives from the number of cross-sections in each direction: triangular, square, or multiple boundary surface, as well as a special case of swept surfaces and N-rails. When possible, cross-sections are interpolated as isoparms.

If you need more control over tangency in the skin, try using the Bridge SOP.

Tip: If you have problems with the results being skinned in the wrong order, try inserting a Sort SOP ahead of the Skin SOP, and Sort by Normals.

PythonIcon.png[[{{{opClass}}}]]

Contents

Template:ParMiniMenu Template:ParMiniMenu Template:ParMenu Template:ParToggle Template:ParMenu Template:ParToggleJoinPair Template:ParInteger Template:ParMenu Template:ParInteger Template:ParToggle Template:ParToggle TouchDesigner Build:

SOPs
Add • Alembic • Align • Arm • Attribute Create • Attribute • Basis • Blend • Bone Group • Boolean • Box • Bridge • Cache • Cap • Capture Region • Capture • Carve • CHOP to • Circle • Clay • Clip • Convert • Copy • CPlusPlus • Creep • Curveclay • Curvesect • DAT to • Deform • Delete • Divide • Extrude • Facet • File In • Fillet • Fit • Font • Force • Fractal • Grid • Group • Hole • Import Select • In • Introduction To SOPs id • Inverse Curve • Iso Surface • Join • Joint • Kinect • Lattice • Limit • Line • Line Thick • LOD • LSystem • Magnet • Material • Merge • Metaball • Model • Noise • Null • Object Merge • Oculus Rift • OpenVR • Out • Particle • Point • Polyloft • Polypatch • Polyreduce • Polyspline • Polystitch • Primitive • Profile • Project • Rails • Raster • Ray • Rectangle • Refine • Resample • Revolve • Script • Select • Sequence Blend • Skin • Sort • Sphere • Spring • Experimental:Sprinkle • Sprite • Stitch • Subdivide • Superquad • Surfsect • Sweep • Switch • Text • Texture • Torus • Trace • Trail • Transform • Trim • Tristrip • Tube • Twist • Vertex • Wireframe • ZED

An Operator Family that reads, creates and modifies 3D polygons, curves, NURBS surfaces, spheres, meatballs and other 3D surface data.