Motivations:
Currently projection textures onto NURBS surfaces have 2 major limitations:
Limitations:
Projection texture onto a sphere
Problems with projection texture map
If you deform
the surface by pulling CVs, the texture does not deform with the CVs
If you animate the surface, the projected texture does not motion blur with the geometry
Solution #1 for motion blur projection texture with
jptFixProj (can't deform geometry)
Projection textures will now motion blur, but deforming the surface
will still cause texture to "swim"
Projection texture motion blurs correctly
The hypergraph is similar to regular projection map, but with the jptFixProj1
node supplying the pointCamera info to projection1. In order to calculate
the correct pointCamera position, jptFixProj1 node needs the worldSpace
attribute from the NURBS sphere's shape.
Solution #2 for motion blur/deformed surface projection texture with jptFixProj (reference object)shadingNode -asTexture -asUtility jptFixProj; // create the jptFixProj nodeconnectAttr -f jptFixProj1.pointCamera projection1.pointCamera; // connect pointCameraconnectAttr -f nurbsSphereShape1.ws[0] jptFixProj1.is; // supply surface to fixProj
Deformed projection texture motion blurs correctly
The hypergraph is identical to Solution #1, except for the input surface
to fixProj1, which is now the duplicated reference surface (which does
not deform).
shadingNode -asTexture -asUtility jptFixProj; // create the jptFixProj nodeselect nurbsSphere1;duplicate; // make a copy for referencehide; // hide the reference objectconnectAttr -f jptFixProj1.pointCamera projection1.pointCamera; // connect pointCameraconnectAttr -f nurbsSphereShape2.ws[0] jptFixProj1.is; // supply surface to fixProj