From 1afc9aef277306f11296c3284bf3b725395eff7c Mon Sep 17 00:00:00 2001 From: Ivan Vlasov Date: Wed, 14 Feb 2024 11:44:40 -0500 Subject: [PATCH] - Support MaterialX on Maya native prims - Autotest --- .../adapters/materialAdapter.cpp | 86 +++++++ .../mayaUsd/render/mayaToHydra/CMakeLists.txt | 1 + .../MaterialXOnNativeTest/RedMtlxSphere.png | Bin 0 -> 17007 bytes .../mayaToHydra/testMaterialXOnNative.py | 41 +++ .../testMaterialX/RedMtlxSphere.ma | 239 ++++++++++++++++++ 5 files changed, 367 insertions(+) create mode 100644 test/lib/mayaUsd/render/mayaToHydra/MaterialXOnNativeTest/RedMtlxSphere.png create mode 100644 test/lib/mayaUsd/render/mayaToHydra/testMaterialXOnNative.py create mode 100644 test/testSamples/testMaterialX/RedMtlxSphere.ma diff --git a/lib/mayaHydra/hydraExtensions/adapters/materialAdapter.cpp b/lib/mayaHydra/hydraExtensions/adapters/materialAdapter.cpp index 89880431c2..1b8ed545ad 100644 --- a/lib/mayaHydra/hydraExtensions/adapters/materialAdapter.cpp +++ b/lib/mayaHydra/hydraExtensions/adapters/materialAdapter.cpp @@ -29,16 +29,31 @@ #include #include #include +#include +#include +#include +#include +#include #include #include #include #include +#include +#include + PXR_NAMESPACE_OPEN_SCOPE namespace { +TF_DEFINE_PRIVATE_TOKENS( + _tokens, + (mtlx) + ((mtlxSurface, "mtlx:surface")) + (surface) +); + const VtValue _emptyValue; const TfToken _emptyToken; const TfTokenVector _stSamplerCoords = { TfToken("st") }; @@ -231,10 +246,81 @@ class MayaHydraShadingEngineAdapter : public MayaHydraMaterialAdapter } } + bool PopulateMaterialXNetworkMap(HdMaterialNetworkMap& networkMap) + { + // Get the dependency node + MStatus status; + MFnDependencyNode node(_surfaceShader, &status); + if (!status) { + return false; + } + + // Fetch the "renderDocument" attribute from the node + static const MString renderDocumentStr("renderDocument"); + auto mtlxDocPlug = node.findPlug(renderDocumentStr, true, &status); + if (!status) { + return false; + } + + // Construct a MaterialX document + auto mtlxDocStr = mtlxDocPlug.asString(); + auto mtlxDoc = MaterialX::createDocument(); + MaterialX::readFromXmlString(mtlxDoc, mtlxDocStr.asChar()); + + // Create a Usd Stage from the MaterialX document + auto stage = UsdStage::CreateInMemory("tmp.usda", TfNullPtr); + UsdMtlxRead(mtlxDoc, stage); + + // Search for material group in the Usd Stage + static const SdfPath basePath("/MaterialX/Materials"); + auto mtlxRange = stage->GetPrimAtPath(basePath).GetChildren(); + if (mtlxRange.empty()) { + return false; + } + + // There should be only one material. Fetch it. + UsdShadeMaterial mtlxMaterial(*mtlxRange.begin()); + if (!mtlxMaterial) { + return false; + } + + // Get MaterialX output + UsdShadeOutput mtlxOutput = mtlxMaterial.GetOutput(_tokens->mtlxSurface); + if (!mtlxOutput) { + return false; + } + + // Get MaterialX shader outputs + UsdShadeAttributeVector mtlxShaderOutputs = + UsdShadeUtils::GetValueProducingAttributes(mtlxOutput, /*shaderOutputsOnly*/true); + if (mtlxShaderOutputs.empty()) { + return false; + } + + // Finally get MaterialX shader + UsdShadeShader mtlxShader(mtlxShaderOutputs[0].GetPrim()); + if (!mtlxShader) { + return false; + } + + // Convert the MaterialX shader to HdMaterialNetwork + UsdImagingBuildHdMaterialNetworkFromTerminal( + mtlxShader.GetPrim(), _tokens->surface, {_tokens->mtlx}, + {_tokens->mtlx}, &networkMap, UsdTimeCode()); + + return true; + } + VtValue GetMaterialResource() override { TF_DEBUG(MAYAHYDRALIB_ADAPTER_MATERIALS) .Msg("MayaHydraShadingEngineAdapter::GetMaterialResource(): %s\n", GetID().GetText()); + + HdMaterialNetworkMap materialXNetworkMap; + if (PopulateMaterialXNetworkMap(materialXNetworkMap)) { + return VtValue(materialXNetworkMap); + } + MayaHydraMaterialNetworkConverter::MayaHydraMaterialNetworkConverterInit initStruct( GetID(), _enableXRayShadingMode, &_materialPathToMobj); diff --git a/test/lib/mayaUsd/render/mayaToHydra/CMakeLists.txt b/test/lib/mayaUsd/render/mayaToHydra/CMakeLists.txt index 116f04a372..8ebfb2224b 100644 --- a/test/lib/mayaUsd/render/mayaToHydra/CMakeLists.txt +++ b/test/lib/mayaUsd/render/mayaToHydra/CMakeLists.txt @@ -12,6 +12,7 @@ set(INTERACTIVE_TEST_SCRIPT_FILES testSceneBrowser.py testStageAddPrim.py testTransforms.py + testMaterialXOnNative.py testNewSceneWithStage.py testMayaLights.py testUSDLights.py diff --git a/test/lib/mayaUsd/render/mayaToHydra/MaterialXOnNativeTest/RedMtlxSphere.png b/test/lib/mayaUsd/render/mayaToHydra/MaterialXOnNativeTest/RedMtlxSphere.png new file mode 100644 index 0000000000000000000000000000000000000000..bf5b1539ec3a1760f7d71cfd651ce93739f6b1d3 GIT binary patch literal 17007 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 W=aCiW|NT1=6b5=Gx>Z1@*Z&J#b-CC8 literal 0 HcmV?d00001 diff --git a/test/lib/mayaUsd/render/mayaToHydra/testMaterialXOnNative.py b/test/lib/mayaUsd/render/mayaToHydra/testMaterialXOnNative.py new file mode 100644 index 0000000000..53cc0f5bdb --- /dev/null +++ b/test/lib/mayaUsd/render/mayaToHydra/testMaterialXOnNative.py @@ -0,0 +1,41 @@ +# Copyright 2024 Autodesk +# +# 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. +# +import maya.cmds as cmds +import mayaUtils +import fixturesUtils +import mtohUtils +import unittest + +class TestMaterialXOnNative(mtohUtils.MtohTestCase): + _file = __file__ + + IMAGEDIFF_FAIL_THRESHOLD = 0.01 + IMAGEDIFF_FAIL_PERCENT = 0.1 + + def verifySnapshot(self, imageName): + cmds.refresh() + self.assertSnapshotClose(imageName, + self.IMAGEDIFF_FAIL_THRESHOLD, + self.IMAGEDIFF_FAIL_PERCENT) + + @unittest.skipUnless(mtohUtils.checkForPlugin('LookdevXMaya'), "Requires LookDevX Plugin.") + def test_MaterialX(self): + mayaUtils.openTestScene("testMaterialX", "RedMtlxSphere.ma") + self.setBasicCam(2) + self.setHdStormRenderer() + self.verifySnapshot("RedMtlxSphere.png") + +if __name__ == '__main__': + fixturesUtils.runTests(globals()) diff --git a/test/testSamples/testMaterialX/RedMtlxSphere.ma b/test/testSamples/testMaterialX/RedMtlxSphere.ma new file mode 100644 index 0000000000..c5818681f3 --- /dev/null +++ b/test/testSamples/testMaterialX/RedMtlxSphere.ma @@ -0,0 +1,239 @@ +//Maya ASCII 2025 scene +//Name: RedMtlxSphere.ma +//Last modified: Thu, Feb 01, 2024 11:44:45 AM +//Codeset: 1252 +requires maya "2025"; +requires -nodeType "materialxStack" -nodeType "MaterialXSurfaceShader" -dataType "MxDocumentStackData" + "LookdevXMaya" "1.3.0"; +requires -nodeType "mayaUsdLayerManager" -dataType "pxrUsdStageData" "mayaUsdPlugin" "0.27.0"; +currentUnit -l centimeter -a degree -t film; +fileInfo "application" "maya"; +fileInfo "product" "Maya 2025"; +fileInfo "version" "Preview Release 153"; +fileInfo "cutIdentifier" "202401261656-000000"; +fileInfo "osv" "Windows 11 Pro v2009 (Build: 22621)"; +fileInfo "UUID" "24C81B11-4BF5-068C-C538-61B9C42DC0C8"; +createNode transform -s -n "persp"; + rename -uid "D61EA094-4466-1B7F-26FF-D0999B29C0D1"; + setAttr ".v" no; + setAttr ".t" -type "double3" 28 21 28 ; + setAttr ".r" -type "double3" -27.938352729602379 44.999999999999972 -5.172681101354183e-14 ; +createNode camera -s -n "perspShape" -p "persp"; + rename -uid "623F544E-49E3-EC81-A610-C29E02EDBE9A"; + setAttr -k off ".v" no; + setAttr ".fl" 34.999999999999993; + setAttr ".coi" 44.82186966202994; + 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 "CF8F1449-407E-C89F-45CB-2DA7B6215D12"; + 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 "EE087644-4406-3613-0549-0DB1B8E72EDF"; + 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 "0DCE939E-4E3B-368D-5098-448B7FCBE032"; + setAttr ".v" no; + setAttr ".t" -type "double3" 0 0 1000.1 ; +createNode camera -s -n "frontShape" -p "front"; + rename -uid "AB311069-45B6-250E-63BA-9C93230EE383"; + 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 "A25E0309-481F-0F72-E982-319C954A7530"; + 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 "0F11FEA6-4B97-C54D-B61D-309213905062"; + 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 "D661F003-4947-ED35-C115-8BA9AB9183B0"; +createNode mesh -n "pSphereShape1" -p "pSphere1"; + rename -uid "88A89276-4AB0-5F0C-E005-75936F2E15BC"; + 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 "materialXStack1"; + rename -uid "4DAA67C6-4271-C14C-678D-2CA1161F59B8"; +createNode materialxStack -n "materialXStackShape1" -p "materialXStack1"; + rename -uid "E984D5DD-442C-11BA-48AF-CD8796184157"; + setAttr -k off ".v"; + setAttr ".docs" -type "string" "[\n {\n \"document\": \"AAACJHicdZJNbsMgEIX3PsVo1ikGWWmIZDubrnsFiwaiWLLBAjtybl8Td9IaNSMWzA/ifU9Tnua+g5vxoXW2QsE4nuqs7NVofKu6+W+rkAjz4EKFb5wdRCHlEeFOBVnEwDoDKMOorFZeN2HyF3U2YFVvKkzLAmG8D7Gx5uGqtPEI1mmjzaXCz48mfdMks6sgzvg+xjsJ4kxIGQVGPYui1g7T+CPjSwXTnF3nPP3/SAqEm+qmJRU74MtByB80eaphZVzv5BQhbqtPQiokcNtpohHssP8FIbJ/SBIvXpr50n4C3OpYFiB/bkCdfQMRU7OR\",\n \"name\": \"standard_surface1\"\n }\n]\n"; +createNode lightLinker -s -n "lightLinker1"; + rename -uid "CC74146F-4CED-443B-DE17-A19115844C92"; + setAttr -s 3 ".lnk"; + setAttr -s 3 ".slnk"; +createNode shapeEditorManager -n "shapeEditorManager"; + rename -uid "3642B4C4-4775-4B79-9F59-D892BA84A30E"; +createNode poseInterpolatorManager -n "poseInterpolatorManager"; + rename -uid "E114329A-4BC0-17B6-5258-A29A7390027D"; +createNode displayLayerManager -n "layerManager"; + rename -uid "3DD5940A-4144-6B80-DAEF-078CCA543F85"; +createNode displayLayer -n "defaultLayer"; + rename -uid "B890795D-444C-ACC0-F7C1-DB82B54B17C5"; + setAttr ".ufem" -type "stringArray" 0 ; +createNode renderLayerManager -n "renderLayerManager"; + rename -uid "276994F9-426C-AD80-F6B4-7A9C7B78F4E8"; +createNode renderLayer -n "defaultRenderLayer"; + rename -uid "16C37F14-4D38-B49C-00A3-F4BE6A0C692A"; + setAttr ".g" yes; +createNode polySphere -n "polySphere1"; + rename -uid "97DCD454-4E05-1E36-2F50-FC8BC962CFA3"; +createNode MaterialXSurfaceShader -n "surfacematerial1"; + rename -uid "F47700EA-4249-0155-22C1-09BFA65F63A4"; + setAttr ".up" -type "string" "|materialXStack1|materialXStackShape1,%standard_surface1%surfacematerial1"; +createNode shadingEngine -n "surfacematerial1SG"; + rename -uid "A9AC7ECE-44ED-E4D6-5273-04B7A79AA32C"; + setAttr ".ihi" 0; + setAttr ".ro" yes; +createNode materialInfo -n "materialInfo1"; + rename -uid "DF00C6BA-491B-4B2B-D904-5B83CB9CE51E"; +createNode mayaUsdLayerManager -n "mayaUsdLayerManager1"; + rename -uid "A1E0777D-4F79-DBCB-8A03-B793A8A5CDCB"; + setAttr ".sst" -type "string" ""; +createNode script -n "LookdevXUIConfigurationScriptNode"; + rename -uid "3D896317-4428-39F8-3DD1-EBB66042DCD5"; + setAttr ".b" -type "string" "# LookdevX UI Configuration File.\n#\n# This script is machine generated. Edit at your own risk.\n#\nimport functools\nfrom maya import cmds\nif not cmds.pluginInfo(\"LookdevXMaya\", query=True, loaded=True):\n cmds.loadPlugin(\"LookdevXMaya\")\nif cmds.pluginInfo(\"LookdevXMaya\", query=True, loaded=True):\n import LookdevX_reloadUI\n d = LookdevX_reloadUI.Data()\n d.addTab('Untitled 1')\n if hasattr(d, 'setRuntimeName'): d.setRuntimeName('MaterialX')\n d.addObject('|materialXStack1|materialXStackShape1,%standard_surface1')\n d.setCurrentCompound('/|materialXStack1|materialXStackShape1,%standard_surface1')\n f=functools.partial(LookdevX_reloadUI.restoreWindow, d)\n cmds.evalDeferred(f, lowestPriority=True)\n"; + setAttr ".st" 2; + setAttr ".stp" 1; +createNode script -n "uiConfigurationScriptNode"; + rename -uid "B9B6D91A-4A31-C3BB-256D-FB86A6F5DC20"; + 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 \"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 1757\n -height 1067\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 -showShapes 1\n -showAssignedMaterials 1\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 -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 $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 -keyMinScale 1\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -preSelectionHighlight 1\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 \"integer\" \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 \"\"\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 \\\"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 1757\\n -height 1067\\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 \\\"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 1757\\n -height 1067\\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 "C5BB557B-468E-FDE5-3241-44977BFE391E"; + setAttr ".b" -type "string" "playbackOptions -min 1 -max 120 -ast 1 -aet 200 "; + setAttr ".st" 6; +select -ne :time1; + setAttr ".o" 1; + setAttr ".unw" 1; +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 3 ".st"; +select -ne :renderGlobalsList1; +select -ne :defaultShaderList1; + setAttr -s 6 ".s"; +select -ne :postProcessList1; + setAttr -s 2 ".p"; +select -ne :defaultRenderingList1; +select -ne :standardSurface1; + setAttr ".bc" -type "float3" 0.40000001 0.40000001 0.40000001 ; + setAttr ".sr" 0.5; +select -ne :initialShadingGroup; + setAttr ".ro" yes; +select -ne :initialParticleSE; + setAttr ".ro" yes; +select -ne :defaultRenderGlobals; + addAttr -ci true -h true -sn "dss" -ln "defaultSurfaceShader" -dt "string"; + setAttr ".dss" -type "string" "standardSurface1"; +select -ne :defaultResolution; + setAttr ".pa" 1; +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"; +relationship "link" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; +relationship "link" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; +relationship "link" ":lightLinker1" "surfacematerial1SG.message" ":defaultLightSet.message"; +relationship "shadowLink" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; +relationship "shadowLink" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; +relationship "shadowLink" ":lightLinker1" "surfacematerial1SG.message" ":defaultLightSet.message"; +connectAttr "layerManager.dli[0]" "defaultLayer.id"; +connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; +connectAttr "materialXStackShape1.sk" "surfacematerial1.sk"; +connectAttr "surfacematerial1.oc" "surfacematerial1SG.ss"; +connectAttr "pSphereShape1.iog" "surfacematerial1SG.dsm" -na; +connectAttr "surfacematerial1SG.msg" "materialInfo1.sg"; +connectAttr "surfacematerial1.msg" "materialInfo1.m"; +connectAttr "surfacematerial1.msg" "materialInfo1.t" -na; +connectAttr "surfacematerial1SG.pa" ":renderPartition.st" -na; +connectAttr "surfacematerial1.msg" ":defaultShaderList1.s" -na; +connectAttr "defaultRenderLayer.msg" ":defaultRenderingList1.r" -na; +// End of RedMtlxSphere.ma