// =========================================================================== // Copyright 2018 Autodesk, Inc. All rights reserved. // // Use of this software is subject to the terms of the Autodesk license // agreement provided at the time of installation or download, or which // otherwise accompanies this software in either electronic or hard copy form. // =========================================================================== // // provided at the time of installation or download, or which otherwise accompanies global proc ilrUpdateAEGeometryShapeOptions(string $parent, string $node) { string $oldParent = `setParent -q`; setParent $parent; if (`attributeQuery -exists -node $node "ilrSubdivEnable"`) { int $enable = `getAttr ($node + ".ilrSubdivEnable")`; attrFieldSliderGrp -e -enable $enable ilrSubdivDepth; attrControlGrp -e -enable $enable ilrSubdivCorner; attrControlGrp -e -enable $enable ilrSmoothUV; } if (`attributeQuery -exists -node $node "ilrSmoothNormals"`) { int $enable = `getAttr ($node + ".ilrSmoothNormals")`; attrFieldSliderGrp -e -enable $enable ilrNormalThreshold; } if (`attributeQuery -exists -node $node "ilrFinalGatherOverride"`) { int $enable = `getAttr ($node + ".ilrFinalGatherOverride")`; attrFieldSliderGrp -e -enable $enable ilrFinalGatherRaysOverride; attrFieldSliderGrp -e -enable $enable ilrFinalGatherInterpolationPointsOverride; attrFieldSliderGrp -e -enable $enable ilrFinalGatherEstimatePointsOverride; attrFieldSliderGrp -e -enable $enable ilrFinalGatherContrastThresholdOverride; attrFieldSliderGrp -e -enable $enable ilrFinalGatherAccuracyOverride; attrFieldSliderGrp -e -enable $enable ilrFinalGatherSmoothOverride; $enable = `getAttr ($node + ".ilrPathTracerOverride")`; attrEnumOptionMenuGrp -e -enable $enable ilrPathTracerFilterTypeOverride; attrFieldSliderGrp -e -enable $enable ilrPathTracerFilterSizeOverride; $enable = `getAttr ($node + ".ilrMonteCarloOverride")`; attrFieldSliderGrp -e -enable $enable ilrMonteCarloRaysOverride; $enable = `getAttr ($node + ".ilrGlobalPhotonMapOverride")`; attrFieldSliderGrp -e -enable $enable ilrGlobalPhotonMapAccuracyOverride; attrFieldSliderGrp -e -enable $enable ilrGlobalPhotonMapRadiusOverride; $enable = `getAttr ($node + ".ilrCausticsOverride")`; attrFieldSliderGrp -e -enable $enable ilrCausticsAccuracyOverride; attrFieldSliderGrp -e -enable $enable ilrCausticsRadiusOverride; } if (`attributeQuery -exists -node $node "ilrBakeResOverride"`) { int $enable = `getAttr ($node + ".ilrBakeResOverride")`; attrFieldSliderGrp -e -enable $enable ilrBakeResXOverride; attrFieldSliderGrp -e -enable $enable ilrBakeResYOverride; attrFieldSliderGrp -e -enable $enable ilrBakeScaleOverride; } setParent $oldParent; } global proc ilrCreateAEGeometryShapeOptions(string $parent, string $node) { string $oldParent = `setParent -q`; setParent $parent; string $updcmd = "ilrUpdateAEGeometryShapeOptions(\\\"" + $parent + "\\\", \\\"" + $node + "\\\")"; int $subdivSettingsExist = 0, $renderStatsSettingsExist = 0, $bakeSettingsExist = 0; int $geometryGISettingsExist = 0; if (`attributeQuery -exists -node $node "ilrSubdivEnable"`) { $subdivSettingsExist = 1; } if (`attributeQuery -exists -node $node "ilrSmoothNormals"`) { $renderStatsSettingsExist = 1; } if (`attributeQuery -exists -node $node "ilrFinalGatherOverride"`) { $geometryGISettingsExist = 1; } if (`attributeQuery -exists -node $node "ilrBakeResOverride"`) { $bakeSettingsExist = 1; } if ($subdivSettingsExist) { frameLayout -label "Subdivision Settings" -cll true -cl true; columnLayout -adjustableColumn true; attrControlGrp -label "Render As Subdivision Surface" -attribute ($node + ".ilrSubdivEnable") -changeCommand $updcmd; attrFieldSliderGrp -label "Subdivision Depth" -attribute ($node + ".ilrSubdivDepth") ilrSubdivDepth; attrControlGrp -label "Sharp Corners" -attribute ($node + ".ilrSubdivCorner") ilrSubdivCorner; attrControlGrp -label "Smooth UV" -attribute ($node + ".ilrSmoothUV") ilrSmoothUV; setParent ..; setParent ..; } if ($renderStatsSettingsExist) { frameLayout -label "Render Stats" -cll true -cl true; columnLayout -adjustableColumn true; attrControlGrp -label "Smooth Normals" -attribute ($node + ".ilrSmoothNormals") -changeCommand $updcmd; attrFieldSliderGrp -label "Normal Threshold" -attribute ($node + ".ilrNormalThreshold") ilrNormalThreshold; separator(); attrControlGrp -label "Visible In Final Gather" -attribute ($node + ".ilrVisibleInFG"); attrControlGrp -label "Static Final Gather" -attribute ($node + ".ilrStaticGI"); attrControlGrp -label "Smooth Final Gather" -attribute ($node + ".ilrSmoothGI"); attrControlGrp -label "Cast Global Illumination" -attribute ($node + ".ilrCastGI"); attrControlGrp -label "Receive Global Illumination" -attribute ($node + ".ilrReceiveGI"); attrControlGrp -label "Cast Occlusion" -attribute ($node + ".ilrCastOcclusion"); attrControlGrp -label "Receive Occlusion" -attribute ($node + ".ilrReceiveOcclusion"); attrControlGrp -label "Self Occlusion" -attribute ($node + ".ilrSelfOcclusion"); attrControlGrp -label "Bias Shadow Rays" -attribute ($node + ".ilrShadowBias"); setParent ..; setParent ..; } if ($geometryGISettingsExist) { frameLayout -label "Global Illumination Override" -cll true -cl true; columnLayout -adjustableColumn true; frameLayout -label "Final Gather Override" -cll true -cl true; columnLayout -adjustableColumn true; attrControlGrp -label "Final Gather Override" -attribute ($node + ".ilrFinalGatherOverride") -changeCommand $updcmd; attrFieldSliderGrp -label "Rays" -attribute ($node + ".ilrFinalGatherRays") ilrFinalGatherRaysOverride; attrFieldSliderGrp -label "Interpolation Points" -attribute ($node + ".ilrFinalGatherInterpolationPoints") ilrFinalGatherInterpolationPointsOverride; attrFieldSliderGrp -label "Estimate Points" -attribute ($node + ".ilrFinalGatherEstimatePoints") ilrFinalGatherEstimatePointsOverride; attrFieldSliderGrp -label "Contrast Threshold" -attribute ($node + ".ilrFinalGatherContrastThreshold") ilrFinalGatherContrastThresholdOverride; attrFieldSliderGrp -label "Accuracy (Legacy)" -attribute ($node + ".ilrFinalGatherAccuracy") ilrFinalGatherAccuracyOverride; attrFieldSliderGrp -label "Smooth (Legacy)" -attribute ($node + ".ilrFinalGatherSmooth") ilrFinalGatherSmoothOverride; setParent ..; setParent ..; frameLayout -label "Path Tracer Override" -cll true -cl true; columnLayout -adjustableColumn true; attrControlGrp -label "Path Tracer Override" -attribute ($node + ".ilrPathTracerOverride") -changeCommand $updcmd; attrEnumOptionMenuGrp -label "Filter Type" -attribute ($node + ".ilrPathTracerFilterType") ilrPathTracerFilterTypeOverride; attrFieldSliderGrp -label "Filter Size" -attribute ($node + ".ilrPathTracerFilterSize") ilrPathTracerFilterSizeOverride; setParent ..; setParent ..; frameLayout -label "Monte Carlo Override" -cll true -cl true; columnLayout -adjustableColumn true; attrControlGrp -label "Monte Carlo Override" -attribute ($node + ".ilrMonteCarloOverride") -changeCommand $updcmd; attrFieldSliderGrp -label "Rays" -attribute ($node + ".ilrMonteCarloRays") ilrMonteCarloRaysOverride; setParent ..; setParent ..; frameLayout -label "Global Photon Map Override" -cll true -cl true; columnLayout -adjustableColumn true; attrControlGrp -label "Global Photon Map Override" -attribute ($node + ".ilrGlobalPhotonMapOverride") -changeCommand $updcmd; attrFieldSliderGrp -label "Accuracy" -attribute ($node + ".ilrGlobalPhotonMapAccuracy") ilrGlobalPhotonMapAccuracyOverride; attrFieldSliderGrp -label "Radius" -attribute ($node + ".ilrGlobalPhotonMapRadius") ilrGlobalPhotonMapRadiusOverride; setParent ..; setParent ..; frameLayout -label "Caustics Override" -cll true -cl true; columnLayout -adjustableColumn true; attrControlGrp -label "Caustics Override" -attribute ($node + ".ilrCausticsOverride") -changeCommand $updcmd; attrFieldSliderGrp -label "Accuracy" -attribute ($node + ".ilrCausticsAccuracy") ilrCausticsAccuracyOverride; attrFieldSliderGrp -label "Radius" -attribute ($node + ".ilrCausticsRadius") ilrCausticsRadiusOverride; setParent ..; setParent ..; setParent ..; setParent ..; } if ($bakeSettingsExist) { frameLayout -label "Bake Resolution Override" -cll true -cl true; columnLayout -adjustableColumn true; attrControlGrp -label "Bake Resolution Override" -attribute ($node + ".ilrBakeResOverride") -changeCommand $updcmd; attrFieldSliderGrp -label "Bake Res X" -attribute ($node + ".ilrBakeResX") ilrBakeResXOverride; attrFieldSliderGrp -label "Bake Res Y" -attribute ($node + ".ilrBakeResY") ilrBakeResYOverride; attrFieldSliderGrp -label "Bake Set Scale" -attribute ($node + ".ilrBakeScale") ilrBakeScaleOverride; setParent ..; setParent ..; } setParent $oldParent; ilrUpdateAEGeometryShapeOptions($parent, $node); }