Pymel / Python Coding

Curve fix and setup for Renderman/3delight

coded this up in pymel and used qt designer for the GUI in maya. This GUI sets up the normals on curves for rendering in renderman / 3delight – and is used in conjunction with primitive variables on each curve and a curve shader.

As you can see in (1) a regular curve prior to be fixed is all kinds of wonky. With this technique the ‘Face Camera’ of the normals are disabled and they can be set to all face the direction selected.

GUI enables per item or selection
1 Fix
2 set direction
3 color
5 Animation of Curve based on curve length proportion or custom set. Start and end frames
can also be set.

6 Width for start and end can be adjusted

qt designer

http://dopesheet.co.uk/?p=91

maya

http://dopesheet.co.uk/?p=86

import pymel.core as pm
pm.shadingNode ('ramp',asTexture=True,n="curveRamp")
pm.shadingNode ('place2dTexture',asUtility=True,n="curveRamp_place2dTexture")
pm.connectAttr ("curveRamp_place2dTexture.outUV", "curveRamp.uv");
pm.connectAttr( "curveRamp_place2dTexture.outUvFilterSize", "curveRamp.uvFilterSize");
pm.disconnectAttr ("curveRamp_place2dTexture.outUV", "curveRamp.uvCoord");
if (pm.window('Normal_Curve_Creator',exists=True)):
    pm.deleteUI('Normal_Curve_Creator')
import curve_fixer
reload(curve_fixer)
dialog2 = pm.loadUI(f="C:/Users/luke/Documents/QTDESIGNER/rebuild_curve.ui")
allowedAreas = ['right', 'left']
pm.showWindow()
pm.dockControl(area='left',content=dialog2,allowedArea=allowedAreas,l='Normal_Curve_Creator')

pymel
http://dopesheet.co.uk/uncategorized/curve_fixer-py/

Comments are closed.