From a8c976a73891af626838b65b2cab8d538240483d Mon Sep 17 00:00:00 2001 From: David Lanier <122012029+lanierd-adsk@users.noreply.github.com> Date: Mon, 18 Nov 2024 17:56:30 +0100 Subject: [PATCH] HYDRA-1300 : Support Arnold area light nodes in maya hydra (#202) * HYDRA-1300 : Support Arnold area light nodes in maya hydra * Removiong a useless function. --- .../hydraExtensions/adapters/CMakeLists.txt | 1 + .../adapters/aiAreaLightAdapter.cpp | 320 ++++++++++++++ .../adapters/areaLightAdapter.cpp | 2 +- .../adapters/directionalLightAdapter.cpp | 2 +- .../adapters/nurbsCurveAdapter.cpp | 2 +- .../adapters/spotLightAdapter.cpp | 2 +- .../ArnoldLightsTest/aiAreaLight.png | Bin 0 -> 16155 bytes .../render/mayaToHydra/testArnoldLights.py | 8 + .../testArnoldLights/testArnoldAreaLight.ma | 416 ++++++++++++++++++ 9 files changed, 749 insertions(+), 4 deletions(-) create mode 100644 lib/mayaHydra/hydraExtensions/adapters/aiAreaLightAdapter.cpp create mode 100644 test/lib/mayaUsd/render/mayaToHydra/ArnoldLightsTest/aiAreaLight.png create mode 100644 test/testSamples/testArnoldLights/testArnoldAreaLight.ma diff --git a/lib/mayaHydra/hydraExtensions/adapters/CMakeLists.txt b/lib/mayaHydra/hydraExtensions/adapters/CMakeLists.txt index 4459b895c3..027d962021 100644 --- a/lib/mayaHydra/hydraExtensions/adapters/CMakeLists.txt +++ b/lib/mayaHydra/hydraExtensions/adapters/CMakeLists.txt @@ -7,6 +7,7 @@ target_sources(${TARGET_NAME} adapterDebugCodes.cpp adapterRegistry.cpp aiSkydomeLightAdapter.cpp + aiAreaLightAdapter.cpp areaLightAdapter.cpp cameraAdapter.cpp dagAdapter.cpp diff --git a/lib/mayaHydra/hydraExtensions/adapters/aiAreaLightAdapter.cpp b/lib/mayaHydra/hydraExtensions/adapters/aiAreaLightAdapter.cpp new file mode 100644 index 0000000000..79cc426318 --- /dev/null +++ b/lib/mayaHydra/hydraExtensions/adapters/aiAreaLightAdapter.cpp @@ -0,0 +1,320 @@ +// +// Copyright 2024 Autodesk, Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +PXR_NAMESPACE_OPEN_SCOPE + + +namespace { + +void _changeVisibility( + MNodeMessage::AttributeMessage msg, + MPlug& plug, + MPlug& otherPlug, + void* clientData) +{ + TF_UNUSED(msg); + TF_UNUSED(otherPlug); + if (plug == MayaAttrs::dagNode::visibility) { + auto* adapter = reinterpret_cast(clientData); + if (adapter->UpdateVisibility()) { + adapter->RemovePrim(); + adapter->Populate(); + adapter->InvalidateTransform(); + } + } +} + +void _lightShapeChangedCallBack( + MNodeMessage::AttributeMessage msg, + MPlug& plug, + MPlug& otherPlug, + void* clientData) +{ + TF_UNUSED(msg); + TF_UNUSED(otherPlug); + + auto plugPartialName = plug.partialName(); + if (plugPartialName == MString("ai_translator")) { + // This is changing the light type, we need to remove the prim and add it again + auto* adapter = reinterpret_cast(clientData); + adapter->RemovePrim(); + adapter->Populate(); + adapter->InvalidateTransform(); + } +} + +void _dirtyTransform(MObject& node, void* clientData) +{ + TF_UNUSED(node); + auto* adapter = reinterpret_cast(clientData); + if (adapter->IsVisible()) { + adapter->InvalidateTransform(); + adapter->MarkDirty( + HdLight::DirtyTransform | HdLight::DirtyParams | HdLight::DirtyShadowParams); + } +} + +void _dirtyParams(MObject& node, void* clientData) +{ + TF_UNUSED(node); + auto* adapter = reinterpret_cast(clientData); + if (adapter->IsVisible()) { + adapter->InvalidateTransform(); + adapter->MarkDirty(HdLight::DirtyParams | HdLight::DirtyShadowParams); + } +} + +} // namespace + +/** + * \brief aiAreaLightAdapter is used to handle the translation from a Maya area light to + * hydra. + */ +class aiAreaLightAdapter : public MayaHydraLightAdapter +{ +public: + aiAreaLightAdapter(MayaHydraSceneIndex* mayaHydraSceneIndex, const MDagPath& dag) + : MayaHydraLightAdapter(mayaHydraSceneIndex, dag) + { + } + + const TfToken& LightType() const override + { + const TfToken& defaultLightType = HdPrimTypeTokens->rectLight; + + //Get the light type + MStatus status; + MFnDependencyNode depNode(GetNode(), &status); + if (!status) { + return defaultLightType; + } + + MString primitiveType = "quad"; + MPlug plug = depNode.findPlug("aiTranslator", true, &status); + if (status && !plug.isNull()) { + primitiveType = plug.asString(); + if (primitiveType.length() == 0){ + return defaultLightType; + } + } + + if (primitiveType == "quad") { + return defaultLightType; + }else if (primitiveType == "disk") { + return HdPrimTypeTokens->diskLight; + }else if (primitiveType == "cylinder") { + return HdPrimTypeTokens->cylinderLight; + } + + return defaultLightType; + } + + VtValue GetLightParamValue(const TfToken& paramName) override + { + TF_DEBUG(MAYAHYDRALIB_ADAPTER_GET_LIGHT_PARAM_VALUE) + .Msg( + "Called aiAreaLightAdapter::GetLightParamValue(%s) - %s\n", + paramName.GetText(), + GetDagPath().partialPathName().asChar()); + + MStatus status; + MFnDependencyNode depNode(GetNode(), &status); + if (! status) { + return {}; + } + + // the aiAreaLight has no width/height/radius/length attributes, so we need to calculate + // them from the scale + MString primitiveType = "quad"; + double scale2[3] = { 1.0, 1.0, 1.0 }; + + MPlug plug = depNode.findPlug("aiTranslator", true, &status); + MTransformationMatrix modelMatrix(GetDagPath().inclusiveMatrix()); + if (status && !plug.isNull()) { + primitiveType = plug.asString(); + if (primitiveType.length() == 0) + primitiveType = "quad"; + } + + if (primitiveType == "quad") { + modelMatrix.getScale(scale2, MSpace::kWorld); + } + if (primitiveType == "disk") { + double scale[3]; + modelMatrix.getScale(scale, MSpace::kWorld); + if (scale[0] != scale[1]) // non uniform scaling across x and y + { + if (scale[0] != 0.0) + scale2[0] /= scale[0]; + if (scale[1] != 0) + scale2[1] /= scale[1]; + const double avs = (scale[0] + scale[1]) * 0.5; + scale2[0] *= avs; + scale2[1] *= avs; + } + + } else if (primitiveType == "cylinder") { + double scale[3]; + modelMatrix.getScale(scale, MSpace::kWorld); + if (scale[0] != scale[2]) // non uniform scaling across x and z + { + if (scale[0] != 0.0) + scale2[0] /= scale[0]; + if (scale[2] != 0) + scale2[2] /= scale[2]; + const double avs = (scale[0] + scale[2]) * 0.5; + scale2[0] *= avs; + scale2[2] *= avs; + } + } + + auto getFloatFromMPlug = [&depNode](const char* attrName, float initVal) { + float val = initVal; + MStatus status; + MPlug plug = depNode.findPlug(attrName, true, &status); + if (status && !plug.isNull()) { + val = plug.asFloat(); + } + return val; + }; + + auto getBoolFromMPlug = [&depNode](const char* attrName, bool initVal) { + bool val = initVal; + MStatus status; + MPlug plug = depNode.findPlug(attrName, true, &status); + if (status && !plug.isNull()) { + val = plug.asBool(); + } + return val; + }; + + constexpr float defaultWidth = 2.0f;//By default the drawing of the light shape has a width and height of 2.0 + constexpr float defaultHeight = 2.0f; + + //The width, height, length, radius are only queried by Hydra if the "normalize" (aiNormalize below) attribute is unchecked + if (paramName == HdLightTokens->width) {//Rect + return VtValue(float(defaultWidth * scale2[0])); + }else if (paramName == HdLightTokens->height) { //Rect + return VtValue(float(defaultHeight * scale2[1])); + }else if (paramName == HdLightTokens->radius) { //Cylinder, sphere and disk + return VtValue(float(scale2[0])); + }else if (paramName == HdLightTokens->length) {//Cylinder + return VtValue(float(scale2[0])); + }else if (paramName == HdLightTokens->intensity) { + float intensity = getFloatFromMPlug("intensity", 1.0f); + return VtValue(intensity); + }else if (paramName == HdLightTokens->exposure) { + float exposure = getFloatFromMPlug("aiExposure", 0.0f); + return VtValue(exposure); + }else if (paramName == HdLightTokens->color || paramName == HdTokens->displayColor) { + float colorR = getFloatFromMPlug("colorR", 1.0f); + float colorG = getFloatFromMPlug("colorG", 1.0f); + float colorB = getFloatFromMPlug("colorB", 1.0f); + return VtValue(GfVec3f(colorR, colorG, colorB)); + } else if (paramName == HdLightTokens->enableColorTemperature){ + const bool enableColorTemperature = getBoolFromMPlug("aiUseColorTemperature", false); + return VtValue(enableColorTemperature); + } else if (paramName == HdLightTokens->colorTemperature){ + float colorTemperature = getFloatFromMPlug("aiColorTemperature", 6500.f); + return VtValue(colorTemperature); + } else if (paramName == HdLightTokens->diffuse) { + return VtValue(1.0f); + } else if (paramName == HdLightTokens->specular) { + return VtValue(1.0f); + } else if (paramName == HdLightTokens->normalize){ + const bool normalize = getBoolFromMPlug("aiNormalize", false); + return VtValue(normalize); + } + + return { }; + } + + // We need a special case when the user changes the light type, we need to repopulate the prim + void CreateCallbacks() override + { + TF_DEBUG(MAYAHYDRALIB_ADAPTER_CALLBACKS) + .Msg("Creating light adapter callbacks for prim (%s).\n", GetID().GetText()); + + MStatus status; + auto dag = GetDagPath(); + auto obj = dag.node(); + + // This is what is new compared to MayaHydraLightAdapter::CreateCallbacks() + auto id = MNodeMessage::addAttributeChangedCallback(obj, _lightShapeChangedCallBack, this, &status); + if (status) { + AddCallback(id); + } + + //This is the same as in MayaHydraLightAdapter::CreateCallbacks() + id = MNodeMessage::addNodeDirtyCallback(obj, _dirtyParams, this, &status); + if (status) { + AddCallback(id); + } + + + dag.pop(); + for (; dag.length() > 0; dag.pop()) { + // The adapter itself will free the callbacks, so we don't have to worry + // about passing raw pointers to the callbacks. Hopefully. + obj = dag.node(); + if (obj != MObject::kNullObj) { + id = MNodeMessage::addAttributeChangedCallback( + obj, _changeVisibility, this, &status); + if (status) { + AddCallback(id); + } + id = MNodeMessage::addNodeDirtyCallback(obj, _dirtyTransform, this, &status); + if (status) { + AddCallback(id); + } + _AddHierarchyChangedCallbacks(dag); + } + } + MayaHydraAdapter::CreateCallbacks(); + } + + +}; + +TF_REGISTRY_FUNCTION(TfType) +{ + TfType::Define>(); +} + +TF_REGISTRY_FUNCTION_WITH_TAG(MayaHydraAdapterRegistry, aiAreaLight) +{ + MayaHydraAdapterRegistry::RegisterLightAdapter( + TfToken("aiAreaLight"), + [](MayaHydraSceneIndex* mayaHydraSceneIndex, const MDagPath& dag) -> MayaHydraLightAdapterPtr { + return MayaHydraLightAdapterPtr(new aiAreaLightAdapter(mayaHydraSceneIndex, dag)); + }); +} + +PXR_NAMESPACE_CLOSE_SCOPE diff --git a/lib/mayaHydra/hydraExtensions/adapters/areaLightAdapter.cpp b/lib/mayaHydra/hydraExtensions/adapters/areaLightAdapter.cpp index afad125897..64986f879b 100644 --- a/lib/mayaHydra/hydraExtensions/adapters/areaLightAdapter.cpp +++ b/lib/mayaHydra/hydraExtensions/adapters/areaLightAdapter.cpp @@ -69,7 +69,7 @@ TF_REGISTRY_FUNCTION(TfType) TfType::Define>(); } -TF_REGISTRY_FUNCTION_WITH_TAG(MayaHydraAdapterRegistry, pointLight) +TF_REGISTRY_FUNCTION_WITH_TAG(MayaHydraAdapterRegistry, areaLight) { MayaHydraAdapterRegistry::RegisterLightAdapter( TfToken("areaLight"), diff --git a/lib/mayaHydra/hydraExtensions/adapters/directionalLightAdapter.cpp b/lib/mayaHydra/hydraExtensions/adapters/directionalLightAdapter.cpp index 6108d34467..04d627bde9 100644 --- a/lib/mayaHydra/hydraExtensions/adapters/directionalLightAdapter.cpp +++ b/lib/mayaHydra/hydraExtensions/adapters/directionalLightAdapter.cpp @@ -112,7 +112,7 @@ TF_REGISTRY_FUNCTION(TfType) TfType::Define>(); } -TF_REGISTRY_FUNCTION_WITH_TAG(MayaHydraAdapterRegistry, pointLight) +TF_REGISTRY_FUNCTION_WITH_TAG(MayaHydraAdapterRegistry, directionalLight) { MayaHydraAdapterRegistry::RegisterLightAdapter( TfToken("directionalLight"), diff --git a/lib/mayaHydra/hydraExtensions/adapters/nurbsCurveAdapter.cpp b/lib/mayaHydra/hydraExtensions/adapters/nurbsCurveAdapter.cpp index 417d3fe515..e6d61f24cc 100644 --- a/lib/mayaHydra/hydraExtensions/adapters/nurbsCurveAdapter.cpp +++ b/lib/mayaHydra/hydraExtensions/adapters/nurbsCurveAdapter.cpp @@ -237,7 +237,7 @@ TF_REGISTRY_FUNCTION(TfType) TfType::Define>(); } -TF_REGISTRY_FUNCTION_WITH_TAG(MayaHydraAdapterRegistry, mesh) +TF_REGISTRY_FUNCTION_WITH_TAG(MayaHydraAdapterRegistry, curve) { MayaHydraAdapterRegistry::RegisterShapeAdapter( TfToken("nurbsCurve"), diff --git a/lib/mayaHydra/hydraExtensions/adapters/spotLightAdapter.cpp b/lib/mayaHydra/hydraExtensions/adapters/spotLightAdapter.cpp index e1b7f1e70b..0a7a8ff021 100644 --- a/lib/mayaHydra/hydraExtensions/adapters/spotLightAdapter.cpp +++ b/lib/mayaHydra/hydraExtensions/adapters/spotLightAdapter.cpp @@ -155,7 +155,7 @@ TF_REGISTRY_FUNCTION(TfType) TfType::Define>(); } -TF_REGISTRY_FUNCTION_WITH_TAG(MayaHydraAdapterRegistry, pointLight) +TF_REGISTRY_FUNCTION_WITH_TAG(MayaHydraAdapterRegistry, spotLight) { MayaHydraAdapterRegistry::RegisterLightAdapter( TfToken("spotLight"), diff --git a/test/lib/mayaUsd/render/mayaToHydra/ArnoldLightsTest/aiAreaLight.png b/test/lib/mayaUsd/render/mayaToHydra/ArnoldLightsTest/aiAreaLight.png new file mode 100644 index 0000000000000000000000000000000000000000..794bc81cf6cb0ec9723b6b762d1e29ff2438e194 GIT binary patch literal 16155 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 BKsEpX literal 0 HcmV?d00001 diff --git a/test/lib/mayaUsd/render/mayaToHydra/testArnoldLights.py b/test/lib/mayaUsd/render/mayaToHydra/testArnoldLights.py index f3a1a96fce..a6ba890dd9 100644 --- a/test/lib/mayaUsd/render/mayaToHydra/testArnoldLights.py +++ b/test/lib/mayaUsd/render/mayaToHydra/testArnoldLights.py @@ -77,5 +77,13 @@ def test_ArnoldLights(self): #Shadow OFF self.verifyLightingModes(False) + def test_ArnoldAreaLight(self): + testFile = mayaUtils.openTestScene( + "testArnoldLights", + "testArnoldAreaLight.ma") + self.assertSnapshotClose("aiAreaLight.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + cmds.refresh() + + if __name__ == '__main__': fixturesUtils.runTests(globals()) diff --git a/test/testSamples/testArnoldLights/testArnoldAreaLight.ma b/test/testSamples/testArnoldLights/testArnoldAreaLight.ma new file mode 100644 index 0000000000..2458e20a95 --- /dev/null +++ b/test/testSamples/testArnoldLights/testArnoldAreaLight.ma @@ -0,0 +1,416 @@ +//Maya ASCII 2025ff02 scene +//Name: testArnoldAreaLight.ma +//Last modified: Thu, Nov 14, 2024 05:35:13 PM +//Codeset: 1252 +requires maya "2025ff02"; +requires -nodeType "aiOptions" -nodeType "aiAOVDriver" -nodeType "aiAOVFilter" -nodeType "aiAreaLight" + -nodeType "aiImagerDenoiserOidn" "mtoa" "5.4.0"; +requires -nodeType "mayaUsdLayerManager" -nodeType "mayaUsdProxyShape" -dataType "pxrUsdStageData" + "mayaUsdPlugin" "0.31.0"; +currentUnit -l centimeter -a degree -t film; +fileInfo "application" "maya"; +fileInfo "product" "Maya 2025"; +fileInfo "version" "Preview Release"; +fileInfo "cutIdentifier" "202411130734-000000"; +fileInfo "osv" "Windows 10 Enterprise v2009 (Build: 19045)"; +fileInfo "UUID" "105AD957-4896-0C7A-CCB6-4ABEA5F85BFA"; +createNode transform -s -n "persp"; + rename -uid "57A5B582-4858-96AC-2C8E-E79A3E9BAD62"; + setAttr ".v" no; + setAttr ".t" -type "double3" 8.5769466341643614 7.816839760977575 15.414709078650747 ; + setAttr ".r" -type "double3" -25.538352732129567 391.39999999954262 0 ; +createNode camera -s -n "perspShape" -p "persp"; + rename -uid "DDF6480A-4444-7DC0-9C54-0D95D7F9EEED"; + setAttr -k off ".v" no; + setAttr ".fl" 34.999999999999993; + setAttr ".coi" 18.9774463637882; + setAttr ".imn" -type "string" "persp"; + setAttr ".den" -type "string" "persp_depth"; + setAttr ".man" -type "string" "persp_mask"; + setAttr ".hc" -type "string" "viewSet -p %camera"; +createNode transform -s -n "top"; + rename -uid "87B552F6-426B-4A53-C2D7-6A952700B3B4"; + setAttr ".v" no; + setAttr ".t" -type "double3" 0 1000.1 0 ; + setAttr ".r" -type "double3" -90 0 0 ; +createNode camera -s -n "topShape" -p "top"; + rename -uid "A00D69FF-4C30-5534-A825-5B9443F22CCB"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 1000.1; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "top"; + setAttr ".den" -type "string" "top_depth"; + setAttr ".man" -type "string" "top_mask"; + setAttr ".hc" -type "string" "viewSet -t %camera"; + setAttr ".o" yes; +createNode transform -s -n "front"; + rename -uid "C2B2EF9B-4DC1-4EE6-667C-27A077FC2FE2"; + setAttr ".v" no; + setAttr ".t" -type "double3" 0 0 1000.1 ; +createNode camera -s -n "frontShape" -p "front"; + rename -uid "7D861729-455C-0492-963D-8ABF9F2B8558"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 1000.1; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "front"; + setAttr ".den" -type "string" "front_depth"; + setAttr ".man" -type "string" "front_mask"; + setAttr ".hc" -type "string" "viewSet -f %camera"; + setAttr ".o" yes; +createNode transform -s -n "side"; + rename -uid "09B9E4DF-40CC-95EC-0A30-A1B2BA62BF95"; + setAttr ".v" no; + setAttr ".t" -type "double3" 1000.1 0 0 ; + setAttr ".r" -type "double3" 0 90 0 ; +createNode camera -s -n "sideShape" -p "side"; + rename -uid "78EC8A93-426C-380B-D8A1-C9BDD9D243AF"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 1000.1; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "side"; + setAttr ".den" -type "string" "side_depth"; + setAttr ".man" -type "string" "side_mask"; + setAttr ".hc" -type "string" "viewSet -s %camera"; + setAttr ".o" yes; +createNode transform -n "pSphere1"; + rename -uid "4391683A-4D2B-40C7-4207-D0AA12DCE902"; + setAttr ".t" -type "double3" 0 1.3540303277519974 1.8290548735619998 ; +createNode mesh -n "pSphereShape1" -p "pSphere1"; + rename -uid "43139AC2-4310-A55B-3C60-CB9728374E3B"; + setAttr -k off ".v"; + setAttr ".vir" yes; + setAttr ".vif" yes; + setAttr ".uvst[0].uvsn" -type "string" "map1"; + setAttr ".cuvs" -type "string" "map1"; + setAttr ".dcc" -type "string" "Ambient+Diffuse"; + setAttr ".covm[0]" 0 1 1; + setAttr ".cdvm[0]" 0 1 1; +createNode transform -n "stage1"; + rename -uid "92C4CFEC-456E-9940-4CAB-ABA21CF83102"; +createNode mayaUsdProxyShape -n "stageShape1" -p "stage1"; + rename -uid "9B596010-4D70-AF32-2ED4-EB9F012FFFBC"; + addAttr -r false -ci true -h true -sn "forceCompute" -ln "forceCompute" -min 0 + -max 1 -at "bool"; + addAttr -ci true -h true -sn "usdStageLoadRules" -ln "usdStageLoadRules" -dt "string"; + addAttr -ci true -h true -sn "usdStageTargetLayer" -ln "usdStageTargetLayer" -dt "string"; + setAttr -k off ".v"; + setAttr ".covm[0]" 0 1 1; + setAttr ".cdvm[0]" 0 1 1; + setAttr ".oslid" -type "string" "anon:000002E6CCE83CA0:anonymousLayer1-session.usda"; + setAttr ".orlid" -type "string" "anon:000002E6CCE84B10:anonymousLayer1"; + setAttr ".forceCompute" yes; + setAttr ".usdStageLoadRules" -type "string" "/=all"; + setAttr ".usdStageTargetLayer" -type "string" "anon:000001EEF6E8C480:anonymousLayer1"; +createNode transform -n "pPlane1"; + rename -uid "4EF7E25C-4878-C87E-D6EF-57A54C43A4C5"; +createNode mesh -n "pPlaneShape1" -p "pPlane1"; + rename -uid "98352A2D-4776-A4C2-FC8D-ECA3FEC11020"; + setAttr -k off ".v"; + setAttr ".vir" yes; + setAttr ".vif" yes; + setAttr ".uvst[0].uvsn" -type "string" "map1"; + setAttr ".cuvs" -type "string" "map1"; + setAttr ".dcc" -type "string" "Ambient+Diffuse"; + setAttr ".covm[0]" 0 1 1; + setAttr ".cdvm[0]" 0 1 1; +createNode transform -n "aiAreaLight1"; + rename -uid "D9523638-434A-E6BC-49DD-1388E283D1EC"; + setAttr ".t" -type "double3" 0 2.8064544236665365 -0.90981526088517728 ; + setAttr ".r" -type "double3" -32.329736017851253 179.34374406251604 0 ; +createNode aiAreaLight -n "aiAreaLightShape1" -p "aiAreaLight1"; + rename -uid "3ECCDD09-4FE3-5860-8C4A-8CB58F61D673"; + addAttr -ci true -h true -sn "aal" -ln "attributeAliasList" -dt "attributeAlias"; + setAttr -k off ".v"; + setAttr ".csh" no; + setAttr ".rcsh" no; + setAttr ".intensity" 100; + setAttr ".aal" -type "attributeAlias" 4 "exposure" "aiExposure" "normalize" "aiNormalize" ; +createNode lightLinker -s -n "lightLinker1"; + rename -uid "522056D4-4CB2-2A48-2CE0-A7AA1FA8BC7E"; + setAttr -s 2 ".lnk"; + setAttr -s 2 ".slnk"; +createNode displayLayerManager -n "layerManager"; + rename -uid "0C86FEA7-487E-C388-AE19-6BB1D3C89EEE"; +createNode displayLayer -n "defaultLayer"; + rename -uid "EE7D0C74-4489-75FF-EA4D-E19199D68D15"; + setAttr ".ufem" -type "stringArray" 0 ; +createNode renderLayerManager -n "renderLayerManager"; + rename -uid "836EA0B3-46D9-34C3-DD82-738E965F9696"; +createNode renderLayer -n "defaultRenderLayer"; + rename -uid "4D1F678D-482A-4D39-A8CF-7D97ECAF4BE4"; + setAttr ".g" yes; +createNode shapeEditorManager -n "shapeEditorManager"; + rename -uid "F215E342-4DF3-6276-33A7-2B950071BAC3"; +createNode poseInterpolatorManager -n "poseInterpolatorManager"; + rename -uid "9AFA6614-4F72-DC8B-191D-2998BBBFEF87"; +createNode polySphere -n "polySphere1"; + rename -uid "A9763358-4E90-A8E1-0607-F1AE95CBE085"; +createNode script -n "uiConfigurationScriptNode"; + rename -uid "114105E3-4BD0-2714-5979-EE98812936B0"; + setAttr ".b" -type "string" ( + "// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $nodeEditorPanelVisible = stringArrayContains(\"nodeEditorPanel1\", `getPanel -vis`);\n\tint $nodeEditorWorkspaceControlOpen = (`workspaceControl -exists nodeEditorPanel1Window` && `workspaceControl -q -visible nodeEditorPanel1Window`);\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\n\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n" + + "\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"|top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n" + + " -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n" + + " -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n" + + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Side View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"|side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n" + + " -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n" + + " -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n" + + " -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Front View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"|front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n" + + " -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n" + + " -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n" + + " -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n" + + " -camera \"|persp\" \n -useInteractiveMode 0\n -displayLights \"all\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n" + + " -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -rendererOverrideName \"mayaHydraRenderOverride_HdStormRendererPlugin\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n" + + " -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1117\n -height 714\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n" + + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"ToggledOutliner\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"ToggledOutliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -docTag \"isolOutln_fromSeln\" \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 1\n -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n" + + " -showParentContainers 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" + + " -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -selectCommand \"print(\\\"\\\")\" \n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n" + + " -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n" + + " -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -ufeFilter \"USD\" \"InactivePrims\" -ufeFilterValue 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n" + + "\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n" + + " -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n" + + " -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayValues 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showPlayRangeShades \"on\" \n -lockPlayRangeShades \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -tangentScale 1\n -tangentLineThickness 1\n -keyMinScale 1\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -preSelectionHighlight 0\n -limitToSelectedCurves 0\n -constrainDrag 0\n -valueLinesToggle 0\n -highlightAffectedCurves 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n" + + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n" + + " -showParentContainers 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 0\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n" + + " -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -hierarchyBelow 0\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"timeEditorPanel\" (localizedPanelLabel(\"Time Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n" + + "\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Time Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -initialized 0\n -manageSequencer 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"sequenceEditorPanel\" (localizedPanelLabel(\"Camera Sequencer\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Camera Sequencer\")) -mbv $menusOkayInPanels $panelName;\n" + + "\n\t\t\t$editorName = sequenceEditorNameFromPanel($panelName);\n clipEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -initialized 0\n -manageSequencer 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperGraphPanel\" (localizedPanelLabel(\"Hypergraph Hierarchy\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -mergeConnections 0\n -zoom 1\n -animateTransition 0\n -showRelationships 1\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n" + + " -showConstraints 0\n -showConnectionFromSelected 0\n -showConnectionToSelected 0\n -showConstraintLabels 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -opaqueContainers 0\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -heatMapDisplay 0\n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -range 0 0 \n -iconSize \"smallIcons\" \n -showCachedConnections 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperShadePanel\" (localizedPanelLabel(\"Hypershade\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n" + + "\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"visorPanel\" (localizedPanelLabel(\"Visor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"nodeEditorPanel\" (localizedPanelLabel(\"Node Editor\")) `;\n\tif ($nodeEditorPanelVisible || $nodeEditorWorkspaceControlOpen) {\n\t\tif (\"\" == $panelName) {\n\t\t\tif ($useSceneConfig) {\n\t\t\t\t$panelName = `scriptedPanel -unParent -type \"nodeEditorPanel\" -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n" + + " -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -connectNodeOnCreation 0\n -connectOnDrop 0\n -copyConnectionsOnPaste 0\n -connectionStyle \"bezier\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -connectedGraphingMode 1\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n -crosshairOnEdgeDragging 0\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -showUnitConversions 0\n -editorMode \"default\" \n" + + " -hasWatchpoint 0\n $editorName;\n\t\t\t}\n\t\t} else {\n\t\t\t$label = `panel -q -label $panelName`;\n\t\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -connectNodeOnCreation 0\n -connectOnDrop 0\n -copyConnectionsOnPaste 0\n -connectionStyle \"bezier\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -connectedGraphingMode 1\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n" + + " -crosshairOnEdgeDragging 0\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -showUnitConversions 0\n -editorMode \"default\" \n -hasWatchpoint 0\n $editorName;\n\t\t\tif (!$useSceneConfig) {\n\t\t\t\tpanel -e -l $label $panelName;\n\t\t\t}\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"createNodePanel\" (localizedPanelLabel(\"Create Node\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Create Node\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"polyTexturePlacementPanel\" (localizedPanelLabel(\"UV Editor\")) `;\n\tif (\"\" != $panelName) {\n" + + "\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"UV Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"renderWindowPanel\" (localizedPanelLabel(\"Render View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"shapePanel\" (localizedPanelLabel(\"Shape Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tshapePanel -edit -l (localizedPanelLabel(\"Shape Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"posePanel\" (localizedPanelLabel(\"Pose Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n" + + "\t\tposePanel -edit -l (localizedPanelLabel(\"Pose Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynRelEdPanel\" (localizedPanelLabel(\"Dynamic Relationships\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"relationshipPanel\" (localizedPanelLabel(\"Relationship Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"referenceEditorPanel\" (localizedPanelLabel(\"Reference Editor\")) `;\n\tif (\"\" != $panelName) {\n" + + "\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynPaintScriptedPanelType\" (localizedPanelLabel(\"Paint Effects\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"scriptEditorPanel\" (localizedPanelLabel(\"Script Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"profilerPanel\" (localizedPanelLabel(\"Profiler Tool\")) `;\n" + + "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Profiler Tool\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"contentBrowserPanel\" (localizedPanelLabel(\"Content Browser\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Content Browser\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-userCreated false\n\t\t\t\t-defaultImage \"vacantCell.xP:/\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"single\\\" -ps 1 100 100 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap false\n" + + "\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" + + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"all\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -rendererOverrideName \\\"mayaHydraRenderOverride_HdStormRendererPlugin\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -controllers 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -bluePencil 1\\n -greasePencils 0\\n -excludeObjectPreset \\\"All\\\" \\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1117\\n -height 714\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" + + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"all\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -rendererOverrideName \\\"mayaHydraRenderOverride_HdStormRendererPlugin\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -controllers 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -bluePencil 1\\n -greasePencils 0\\n -excludeObjectPreset \\\"All\\\" \\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1117\\n -height 714\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" + + "\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\nviewManip -drawCompass 0 -compassAngle 0 -frontParameters \"\" -homeParameters \"\" -selectionLockParameters \"\";\n}\n"); + setAttr ".st" 3; +createNode script -n "sceneConfigurationScriptNode"; + rename -uid "7083B3CB-4805-BBBB-90B9-2BA13EE8506C"; + setAttr ".b" -type "string" "playbackOptions -min 0 -max 36 -ast 0 -aet 36 "; + setAttr ".st" 6; +createNode polyPlane -n "polyPlane1"; + rename -uid "46C21008-49E2-E2D2-AF9F-FC867B9714D9"; + setAttr ".w" 25.007500046561471; + setAttr ".h" 32.659795962078114; + setAttr ".cuv" 2; +createNode aiOptions -s -n "defaultArnoldRenderOptions"; + rename -uid "148055FC-45F7-3144-9EBB-7885FC21C772"; + setAttr ".version" -type "string" "5.4.7"; +createNode aiAOVFilter -s -n "defaultArnoldFilter"; + rename -uid "779B0476-4AB2-BAEC-E5E5-87AEFE73113A"; +createNode aiAOVDriver -s -n "defaultArnoldDriver"; + rename -uid "D435EFF6-4228-FA07-4B26-798220BDAA53"; +createNode aiAOVDriver -s -n "defaultArnoldDisplayDriver"; + rename -uid "C9574805-4CF3-A94C-D23B-928BF8FDC401"; + setAttr ".ai_translator" -type "string" "maya"; + setAttr ".output_mode" 0; +createNode aiImagerDenoiserOidn -s -n "defaultArnoldDenoiser"; + rename -uid "54FCD0EB-499C-063C-C15F-0D91AA6C1931"; +createNode mayaUsdLayerManager -n "mayaUsdLayerManager1"; + rename -uid "F9776CF6-4645-1FB2-FECA-C69930996AE3"; +select -ne :time1; + setAttr ".o" 0; +select -ne :hardwareRenderingGlobals; + setAttr ".otfna" -type "stringArray" 22 "NURBS Curves" "NURBS Surfaces" "Polygons" "Subdiv Surface" "Particles" "Particle Instance" "Fluids" "Strokes" "Image Planes" "UI" "Lights" "Cameras" "Locators" "Joints" "IK Handles" "Deformers" "Motion Trails" "Components" "Hair Systems" "Follicles" "Misc. UI" "Ornaments" ; + setAttr ".otfva" -type "Int32Array" 22 0 1 1 1 1 1 + 1 1 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 ; + setAttr ".fprt" yes; + setAttr ".rtfm" 1; +select -ne :renderPartition; + setAttr -s 2 ".st"; +select -ne :renderGlobalsList1; +select -ne :defaultShaderList1; + setAttr -s 6 ".s"; +select -ne :postProcessList1; + setAttr -s 2 ".p"; +select -ne :defaultRenderingList1; +select -ne :lightList1; +select -ne :standardSurface1; + setAttr ".bc" -type "float3" 0.40000001 0.40000001 0.40000001 ; + setAttr ".sr" 0.5; +select -ne :openPBR_shader1; + setAttr ".bc" -type "float3" 0.40000001 0.40000001 0.40000001 ; + setAttr ".sr" 0.5; +select -ne :initialShadingGroup; + setAttr -s 2 ".dsm"; + setAttr ".ro" yes; +select -ne :initialParticleSE; + setAttr ".ro" yes; +select -ne :defaultRenderGlobals; + addAttr -ci true -sn "mtohMotionSampleStart" -ln "mtohMotionSampleStart" -at "float"; + addAttr -ci true -sn "mtohMotionSampleEnd" -ln "mtohMotionSampleEnd" -at "float"; + addAttr -ci true -sn "mayaHydraRenderPurpose" -ln "mayaHydraRenderPurpose" -min + 0 -max 1 -at "bool"; + addAttr -ci true -sn "mayaHydraProxyPurpose" -ln "mayaHydraProxyPurpose" -dv 1 -min + 0 -max 1 -at "bool"; + addAttr -ci true -sn "mayaHydraGuidePurpose" -ln "mayaHydraGuidePurpose" -min 0 + -max 1 -at "bool"; + addAttr -ci true -sn "mtohTextureMemoryPerTexture" -ln "mtohTextureMemoryPerTexture" + -dv 4096 -min 1 -max 262144 -smn 16384 -at "long"; + addAttr -ci true -sn "mtohMaximumShadowMapResolution" -ln "mtohMaximumShadowMapResolution" + -dv 2048 -min 32 -max 8192 -at "long"; + addAttr -ci true -sn "mayaHydraRefinementLevel" -ln "mayaHydraRefinementLevel" -min + 0 -max 8 -at "long"; + addAttr -ci true -sn "HdStormRendererPlugin__enableTinyPrimCulling" -ln "HdStormRendererPlugin__enableTinyPrimCulling" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdStormRendererPlugin__volumeRaymarchingStepSize" -ln "HdStormRendererPlugin__volumeRaymarchingStepSize" + -dv 1 -at "float"; + addAttr -ci true -sn "HdStormRendererPlugin__volumeRaymarchingStepSizeLighting" + -ln "HdStormRendererPlugin__volumeRaymarchingStepSizeLighting" -dv 10 -at "float"; + addAttr -ci true -sn "HdStormRendererPlugin__volumeMaxTextureMemoryPerField" -ln "HdStormRendererPlugin__volumeMaxTextureMemoryPerField" + -dv 128 -at "float"; + addAttr -ci true -sn "HdStormRendererPlugin__maxLights" -ln "HdStormRendererPlugin__maxLights" + -dv 16 -at "long"; + addAttr -ci true -h true -sn "dss" -ln "defaultSurfaceShader" -dt "string"; + addAttr -ci true -sn "HdArnoldRendererPlugin__enable_progressive_render" -ln "HdArnoldRendererPlugin__enable_progressive_render" + -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__progressive_min_AA_samples" -ln "HdArnoldRendererPlugin__progressive_min_AA_samples" + -dv -4 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__enable_adaptive_sampling" -ln "HdArnoldRendererPlugin__enable_adaptive_sampling" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__enable_gpu_rendering" -ln "HdArnoldRendererPlugin__enable_gpu_rendering" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__interactive_target_fps" -ln "HdArnoldRendererPlugin__interactive_target_fps" + -dv 30 -at "float"; + addAttr -ci true -sn "HdArnoldRendererPlugin__interactive_target_fps_min" -ln "HdArnoldRendererPlugin__interactive_target_fps_min" + -dv 20 -at "float"; + addAttr -ci true -sn "HdArnoldRendererPlugin__interactive_fps_min" -ln "HdArnoldRendererPlugin__interactive_fps_min" + -dv 5 -at "float"; + addAttr -ci true -sn "HdArnoldRendererPlugin__threads" -ln "HdArnoldRendererPlugin__threads" + -dv -1 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__AA_samples" -ln "HdArnoldRendererPlugin__AA_samples" + -dv 3 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__AA_samples_max" -ln "HdArnoldRendererPlugin__AA_samples_max" + -dv 20 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__GI_diffuse_samples" -ln "HdArnoldRendererPlugin__GI_diffuse_samples" + -dv 2 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__GI_specular_samples" -ln "HdArnoldRendererPlugin__GI_specular_samples" + -dv 2 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__GI_transmission_samples" -ln "HdArnoldRendererPlugin__GI_transmission_samples" + -dv 2 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__GI_sss_samples" -ln "HdArnoldRendererPlugin__GI_sss_samples" + -dv 2 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__GI_volume_samples" -ln "HdArnoldRendererPlugin__GI_volume_samples" + -dv 2 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__auto_transparency_depth" -ln "HdArnoldRendererPlugin__auto_transparency_depth" + -dv 10 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__GI_diffuse_depth" -ln "HdArnoldRendererPlugin__GI_diffuse_depth" + -dv 1 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__GI_specular_depth" -ln "HdArnoldRendererPlugin__GI_specular_depth" + -dv 1 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__GI_transmission_depth" -ln "HdArnoldRendererPlugin__GI_transmission_depth" + -dv 8 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__GI_volume_depth" -ln "HdArnoldRendererPlugin__GI_volume_depth" + -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__GI_total_depth" -ln "HdArnoldRendererPlugin__GI_total_depth" + -dv 10 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__abort_on_error" -ln "HdArnoldRendererPlugin__abort_on_error" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_textures" -ln "HdArnoldRendererPlugin__ignore_textures" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_shaders" -ln "HdArnoldRendererPlugin__ignore_shaders" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_atmosphere" -ln "HdArnoldRendererPlugin__ignore_atmosphere" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_lights" -ln "HdArnoldRendererPlugin__ignore_lights" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_shadows" -ln "HdArnoldRendererPlugin__ignore_shadows" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_subdivision" -ln "HdArnoldRendererPlugin__ignore_subdivision" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_displacement" -ln "HdArnoldRendererPlugin__ignore_displacement" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_bump" -ln "HdArnoldRendererPlugin__ignore_bump" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_motion" -ln "HdArnoldRendererPlugin__ignore_motion" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_motion_blur" -ln "HdArnoldRendererPlugin__ignore_motion_blur" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_dof" -ln "HdArnoldRendererPlugin__ignore_dof" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_smoothing" -ln "HdArnoldRendererPlugin__ignore_smoothing" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_sss" -ln "HdArnoldRendererPlugin__ignore_sss" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__ignore_operators" -ln "HdArnoldRendererPlugin__ignore_operators" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__log_mtohns_verbosity" -ln "HdArnoldRendererPlugin__log_mtohns_verbosity" + -dv 2 -at "long"; + addAttr -ci true -sn "HdArnoldRendererPlugin__log_mtohns_file" -ln "HdArnoldRendererPlugin__log_mtohns_file" + -dt "string"; + addAttr -ci true -sn "HdArnoldRendererPlugin__profile_mtohns_file" -ln "HdArnoldRendererPlugin__profile_mtohns_file" + -dt "string"; + addAttr -ci true -sn "HdArnoldRendererPlugin__stats_mtohns_file" -ln "HdArnoldRendererPlugin__stats_mtohns_file" + -dt "string"; + addAttr -ci true -sn "HdArnoldRendererPlugin__texture_searchpath" -ln "HdArnoldRendererPlugin__texture_searchpath" + -dt "string"; + addAttr -ci true -sn "HdArnoldRendererPlugin__plugin_searchpath" -ln "HdArnoldRendererPlugin__plugin_searchpath" + -dt "string"; + addAttr -ci true -sn "HdArnoldRendererPlugin__procedural_searchpath" -ln "HdArnoldRendererPlugin__procedural_searchpath" + -dt "string"; + addAttr -ci true -sn "HdArnoldRendererPlugin__osl_includepath" -ln "HdArnoldRendererPlugin__osl_includepath" + -dt "string"; + addAttr -ci true -sn "HdArnoldRendererPlugin__subdiv_dicing_camera" -ln "HdArnoldRendererPlugin__subdiv_dicing_camera" + -dt "string"; + addAttr -ci true -sn "HdArnoldRendererPlugin__subdiv_frustum_culling" -ln "HdArnoldRendererPlugin__subdiv_frustum_culling" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdArnoldRendererPlugin__subdiv_frustum_padding" -ln "HdArnoldRendererPlugin__subdiv_frustum_padding" + -at "float"; + addAttr -ci true -sn "HdArnoldRendererPlugin__background" -ln "HdArnoldRendererPlugin__background" + -dt "string"; + addAttr -ci true -sn "HdArnoldRendererPlugin__atmosphere" -ln "HdArnoldRendererPlugin__atmosphere" + -dt "string"; + addAttr -ci true -sn "HdArnoldRendererPlugin__aov_shaders" -ln "HdArnoldRendererPlugin__aov_shaders" + -dt "string"; + addAttr -ci true -sn "HdArnoldRendererPlugin__imager" -ln "HdArnoldRendererPlugin__imager" + -dt "string"; + addAttr -ci true -sn "HdArnoldRendererPlugin__texture_auto_generate_tx" -ln "HdArnoldRendererPlugin__texture_auto_generate_tx" + -dv 1 -min 0 -max 1 -at "bool"; + setAttr ".mayaHydraRenderPurpose" yes; + setAttr ".mayaHydraGuidePurpose" yes; + setAttr ".dss" -type "string" "standardSurface1"; +select -ne :defaultResolution; + setAttr ".pa" 1; +select -ne :defaultLightSet; +select -ne :defaultColorMgtGlobals; + setAttr ".cfe" yes; + setAttr ".cfp" -type "string" "/OCIO-configs/Maya2022-default/config.ocio"; + setAttr ".vtn" -type "string" "ACES 1.0 SDR-video (sRGB)"; + setAttr ".vn" -type "string" "ACES 1.0 SDR-video"; + setAttr ".dn" -type "string" "sRGB"; + setAttr ".wsn" -type "string" "ACEScg"; + setAttr ".otn" -type "string" "ACES 1.0 SDR-video (sRGB)"; + setAttr ".potn" -type "string" "ACES 1.0 SDR-video (sRGB)"; +select -ne :hardwareRenderGlobals; + setAttr ".ctrs" 256; + setAttr ".btrs" 512; +connectAttr "polySphere1.out" "pSphereShape1.i"; +connectAttr ":time1.o" "stageShape1.tm"; +connectAttr "polyPlane1.out" "pPlaneShape1.i"; +relationship "link" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; +relationship "link" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; +relationship "shadowLink" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; +relationship "shadowLink" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; +connectAttr "layerManager.dli[0]" "defaultLayer.id"; +connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; +connectAttr ":defaultArnoldDenoiser.msg" ":defaultArnoldRenderOptions.imagers" -na + ; +connectAttr ":defaultArnoldDisplayDriver.msg" ":defaultArnoldRenderOptions.drivers" + -na; +connectAttr ":defaultArnoldFilter.msg" ":defaultArnoldRenderOptions.filt"; +connectAttr ":defaultArnoldDriver.msg" ":defaultArnoldRenderOptions.drvr"; +connectAttr "defaultRenderLayer.msg" ":defaultRenderingList1.r" -na; +connectAttr "aiAreaLightShape1.ltd" ":lightList1.l" -na; +connectAttr "pSphereShape1.iog" ":initialShadingGroup.dsm" -na; +connectAttr "pPlaneShape1.iog" ":initialShadingGroup.dsm" -na; +connectAttr "aiAreaLight1.iog" ":defaultLightSet.dsm" -na; +// End of testArnoldAreaLight.ma