{
  "id": "pbr",
  "name": "PBR",
  "displayName": "PBR",
  "category": "MAT",
  "subcategory": "PBR",
  "version": "",
  "lastUpdated": "2025-08-08T00:37:50.822Z",
  "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\PBR_MAT.htm",
  "url": "",
  "description": "The PBR MAT creates a material using a Physically Based Rendering (PBR) lighting model. It has support for textures, reflections, bumps, cone lights, rim lights, alpha maps and more.",
  "summary": "The PBR MAT creates a material using a Physically Based Rendering (PBR) lighting model. It has support for textures, reflections, bumps, cone lights, rim lights, alpha maps and more.",
  "details": "",
  "usage": "",
  "tips": [],
  "warnings": [],
  "parameters": [
    {
      "id": null,
      "name": "Base Color",
      "label": "Base Color",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "From Derivative\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tJump to navigation\n\t\tJump to search\n\t\t\nThe PBR  creates a material using a Physically Based  (PBR) lighting model. It has support for textures, reflections, bumps, cone lights, rim lights, alpha maps and more. \t\t\t\nIt also supports most Adobe Substance 3D Designer PBR materials loaded in the Substance TOP. \t\t\t\t\nYou can output its GLSL shader into two DATs for further adaptation in a GLSL MAT by using the Output  parameter.\t\t\t\t\nThis OP creates physically based materials from texture maps you assign to it and works with any content pipeline whether you use Maya, Houdini, Unreal, Photoshop etc.\nYou can get more PBR materials from PBR texture libraries such as Quixel and Poliigon and Game Textures.\nSee also: Substance TOP.\npbrMAT_Class\n\nContents\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n\n\n\n\n  basecolor -  - Base color of the texture, used to calculate diffuse and specular contributions.\n\n basecolorr - basecolorg - basecolorb -\n\n  specularlevel - The amount of contribution the Specular Level Map adds to the material.\n\n\n\n  metallic - The amount of contribution the Metallic Map adds to the material.\n\n\n\n  roughness - The amount of contribution the Roughness Map adds to the material. Used to calculate specular D, R, and F (blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf page 3).\n\n\n\n  ambientocclusion - The amount of contribution the Ambient Occlusion Map adds to the material. Ambient Occlusion affects the contribution from the Environement Light .\n\n\n\n  envlightquality - The sampling quality of the Environment Light with the material.\n\n\n\n  emit -  - This is the color that the material will emit even if there is no light.\n\n emitr - emitg - emitb -\n\n  constant -  - Adds to the final color. Where there are point colors, finalcolor +=  Color * Constant Color. This behaves like there is ambient illumination of 1 1 1. It is not affected by textures or transparency.\n\n constantr - constantg - constantb -\n\n  frontfacelit -  - Controls how the polygon's normal is used to light the front face of the polygon. For more information refer to the Two-Sided Lighting article.\n\n uselight - frontlit - backlit -\n\n  backfacelit -  - Back Face's backfacelit - Controls how the polygon's normal is used to light the back face of the polygon. For more information refer to the Two-Sided Lighting article.\n\n uselight - frontlit - backlit -\n\n  outputshader - This button will bring up a dialog that will create a GLSL MAT and Text DATs with shader code that this PBR  is currently using. Since shaders are dependent on the number and type of lights, it will list some possible different shader choices, based on what lighting configurations have been used in the current system. If no shaders are listed in the dialog, it means no shader has been rendered in the current session of TouchDesigner. Turn on the viewer for the Phong , or setup a render in a Render . That will create/compile some shaders and will cause the list to be populated. For example if you want to see a shader that does shadow mapping, setup a render that does shadow mapping and you will see that come up in the list.\n\n\n\n\n\n  substance -  a Substance TOP containing an .sbsar file. Referencing the  will automatically unpack all enabled textures without having to manually fill in any of the below texture maps. Manually filling in any of the texture map parameters will override the texture automatically pulled from the .sbsar package.\n\n\n\n  basecolormap -  - Clicking on the arrows to the right of the map field will open the Texture Sampling Parameters for Color Map.  The other Map parameters below will have their own Texture Sampling Parameters as well.\n\n  basecolormapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  basecolormapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  basecolormapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  basecolormapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  specularlevelmap -  - Specifies a specular level map.\n\n  specularlevelmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  specularlevelmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  specularlevelmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  specularlevelmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  specularlevelmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  metallicmap -  - Specifies a metallic texture map. This is equivalent to the Metallic map in Substance Designer.\n\n  metalnessmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  metalnessmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  metallicmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  metallicmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  metallicmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  roughnessmap -  - Specifies a roughness texture map. This is equivalent to the Roughness map in Substance Designer.\n\n  roughnessmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  roughnessmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  roughnessmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  roughnessmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  roughnessmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  ambientocclusionmap -  - Specifies a ambient occlusion texture map. This is equivalent to the Ambient Occlusion map in Substance Designer. Ambient Occlusion affects the contribution from the Environement Light .\n\n  ambientocclusionmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  ambientocclusionmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  ambientocclusionmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  ambientocclusionmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  ambientocclusionmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  normalmap -  - Uses a Normal Map from TOPs to create a 'bump map' effect. Bump-mapping simulates bumps or wrinkles in a surface to give it a 3D depth effect. Your geometry must have tangent attributes created for this feature to work (T[4]). Create these using the Attribute Create SOP.\n\n  normalmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  normalmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  normalmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  normalmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  bumpscale - A multiplier for the 'bump effect' created by the Normal Map parameter.\n\n\n\n  heightmapenable - Enables height mapping.\n\n\n\n  heightmap -  - Specifies a height texture map. This is equivalent to the Height map in Substance Designer. The height map is used in conjunction with the normal map to perform parallax mapping.\n\n  heightmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  heightmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  heightmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  heightmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  heightmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  parallaxscale - Scale value applied to the height map. Can be used to increase or exaggerate the effect.\n\n\n\n  parallaxocclusion - Enables parallax occlusion, an enhancement of the parallax mapping technique used with the height map. Parallax occlusion improves the quality of the texture offsetting in parallax mapping so that the higher parts of the height map appear to occlude the lower parts, giving a better illusion of height.\n\n\n\n  displaceverts - When Enable Height Map above is On, setting Displace  to On will enable true displacement mapping where the vertices of the geometry are displaced based on the Height Map texture and the parameters below.\n\n\n\n  displacescale - A multiplier for the displacement amount.\n\n\n\n  displacemid - Sets the middle point of displacement map as the start position for the displacement effect.\n\n\n\n  emitmap -  - Specifies a  texture that is multiplied with the Emit color parameter of the material. The object must have texture coordinates. The alpha of this map is ignored.\n\n  emitmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  emitmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  emitmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  emitmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n\n\n Note: Simply applying alpha to an object does not make it transparent. For more information refer to the Transparency article.\n\n  alphamap -  - This map multiplies the alpha of the object. It uses the red channel of the map, other channels are ignored.\n\n  alphamapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  alphamapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  alphamapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  alphamapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  alphamode - Turning this off will make the alpha change depending on orientation of each polygon's normal compared to the camera. Normals that are pointing at the camera will results in the polygon having an alpha of Alpha Front. Normals that are perpendicular to the camera (facing sideways/up/down) will have Alpha Side for their alpha.\n\n\n\n  alphafront - The opacity of the material. This parameter is multiplied by point alpha of the object (as will as any other alpha source).\n\n\n\n  alphaside - This is used for non-uniform alpha. It is the alpha value polygons that are facing away from the camera will get.\n\n\n\n  rolloff - Controls how the alpha changes from Alpha Front to Alpha Side.\n\n\n\n  postmultalpha - At the end of all of the calculations, the color (RGB) is multiplied by the calculated alpha. You can stop this from happening by turning off this checkbox.\n\n\n\n\n\nOther rim lights have the same parameters, internal parameter names just have a different number instead of 1.\n\n  rimlight - Sequence of rim light info\n\n\n\n  rimlight0enable - Enables this rim light.\n\n\n\n  rimlight0map -  - This map will multiple the calculated rim light color.\n\n  rimlight0mapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  rimlight0mapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  rimlight0mapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  rimlight0mapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  rimlight0color -  - The color of the rim light.\n\n rimlight0colorr - rimlight0colorg - rimlight0colorb -\n\n  rimlight0center - The center of the rim lights location, situated somewhere on a 360 degree circle.\n\n\n\n  rimlight0width - How far from the center the rim light extends.\n\n\n\n  rimlight0strength - Controls the brightness of the rim light.\n\n\n\n  rimlight0strengthramp - You can specify a horizontal ramp (it will sample the texture at v = 0.5), which controls the the rim lights strength.\n\n\n\n\n\n\n  shadowstrength - This parameter will control how much being in a shadow will change the color of the lighting. At 1 the object will take on the  parameter, at 0 it will behave as if it's not in a shadow, even if it is.\n\n\n\n  shadowcolor -  - The color that will be used in shadowed areas.\n\n shadowcolorr - shadowcolorg - shadowcolorb -\n\n  darknessemit - The Phong  calculates the current brightness of color of the objects, after taking into account lights, rim lights, emission etc. It then uses this brightness (between 0-1) and fades in the . The darker the area, the more of the darkness emit color that will be applied.\n\n\n\n  darknessemitcolor -  - The color that is used for areas that are in darkness.\n\n darknessemitcolorr - darknessemitcolorg - darknessemitcolorb -\n\n  darknessemitmap -  - This map multiplies the . This maps alpha is not used.\n\n  darknessemitmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  darknessemitmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  darknessemitmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  darknessemitmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  writecameradepthtoalpha - This cause the camera space depth of the pixel to be written to the alpha channel of the output . This value can be useful for post-processing effects, but ofcourse you will not have the result of all the alpha calculations if you turn this on (although they'll get used to multiply the output color, assuming  is enabled.\n\n\n\n  applypointcolor - Normally the color attribute (Cd[4]) coming from the  is used in the lighting calculation, you can turn off using the color attribute by un-checking this parameter.\n\n\n\n  instancetexture -  - When provider per-instance textures in the Geometry COMP, this parameter selects which map the instance texture will be applied as.\n\n basecolormap - normalmap - emitmap - alphamap - darknessemitmap - rimlight0map -\n\n  color - Sequence of color buffers\n\n\n\n  color0output -  - Allows sending things like normals or emit color to different Render  color buffers in a single pass.\n\n zero - one - worldspaceposition - worldspacenormal - cameraspaceposition - cameraspacenormal - pointcolor - texturecoord0 - normalmap - emitmap - emitcolor - specularlevelmap - metallicmap - roughnessmap - ambientocclusionmap - finaldiffcolor - finalspeccolor - shadowstrength - normalizedshadowstrength -\n\n\n\n\nRefer to the  Deform Article for more information on doing deforms in TouchDesigner.\n\n  dodeform - Enables deforms on this material.\n\n\n\n  deformdata -  - Specifies where the deform bone data will be obtained.\n\n sop - mat - deformin -\n\n  targetsop - Specifies the  that contains the deform capture attributes.\n\n\n\n  pcaptpath - Specifies the name of the pCaptPath attribute to use. When your geometry has been put through a Bone Group SOP, the attributes will be split into names like pCaptPath0, pCaptPath1. You can only render 1 bone group at a time, so this should match the group you are rendering with this material.\n\n\n\n  pcaptdata - Much like pCaptPath Attrib.\n\n\n\n  skelrootpath - Specifies the path to the  where the root of the skeleton is located.\n\n\n\n  mat - When obtaining deform data from a  or a Deform In , this is where that  is specified.\n\n\n\n\n\n\nBlending is summing the color value of the pixel being drawn and the pixel currently present in the Color-Buffer. Blending is typically used to simulate Transparency.\n\t\tThe blending equation is:\n\t\tFinal Pixel Value = (Source Blend * Source Color) + (Dest Blend * Destination Color)\n\n  blending - This toggle enables and disables blending. However see the wiki article Transparency.\n\n\n\n  blendop -  - \n\n add - subtract - revsubtract - minimum - maximum -\n\n  srcblend -  - This value is multiplied by the color value of the pixel that is being written to the Color-Buffer (also know as the Source Color).\n\n zero - dcol - omdcol - sa - omsa - da - omda - sas - one - constantcol - omconstantcol - constanta - omconstanta -\n\n  destblend -  - This value is multiplied by the color value of the pixel currently in the Color-Buffer (also known as the Destination Color).\n\n one - scol - omscol - sa - omsa - da - omda - zero - dcol - omdcol - sas - constantcol - omconstantcol - constanta - omconstanta -\n\n  separatealphafunc - This toggle enables and disables separate blending options for the alpha values.\n\n\n\n  blendopa -  - \n\n add - subtract - revsubtract - minimum - maximum -\n\n  srcblenda -  - This value is multiplied by the alpha value of the pixel that is being written to the Color-Buffer (also know as the Source Alpha).\n\n zero - dcol - omdcol - sa - omsa - da - omda - sas - one - constantcol - omconstantcol - constanta - omconstanta -\n\n  destblenda -  - This value is multiplied by the alpha value of the pixel currently in the Color-Buffer (also known as the Destination Alpha).\n\n one - scol - omscol - sa - omsa - da - omda - zero - dcol - omdcol - sas - constantcol - omconstantcol - constanta - omconstanta -\n\n  blendconstant -  - \n\n blendconstantr - blendconstantg - blendconstantb -\n\n  blendconstanta - \n\n\n\n  legacyalphabehavior - \n\n\n\n  postmultalpha - Multiplies the color by alpha after all other operations have taken place.\n\n\n\n  pointcolorpremult -  - \n\n alreadypremult - premultinshader -\n\n  depthtest - Enables and disables the Depth-Test. If the depth-test is disabled, depths values aren't written to the Depth-Buffer.\n\n\n\n  depthfunc -  - The depth value of the pixel being drawn is compared to the depth value currently in the depth-buffer using this function. If the test passes then the pixel is drawn to the -Buffer. If the test fails the pixel is discarded and no changes are made to the -Buffer.\n\n less - lessorequal - equal - greater - greaterorequal - notequal - always -\n\n\nDepth-Testing is comparing the depth value of the pixel being drawn with the pixel currently in the Frame-Buffer. A pixel that is determined to be in-front of the pixel currently in the -Buffer will be drawn over it. Pixels that are determined to be behind the pixel currently in the -Buffer will not be drawn. Depth-Testing allows geometry in a 3D scene to occlude geometry behind it, and be occluded by geometry in-front of it regardless of the order the geometry was drawn.\nFor a more detailed description of Depth-Testing, refer to the Depth-Test article.\n\n  depthwriting - If Write Depth Values is on, pixels that pass the depth-test will write their depth value to the Depth-Buffer. If this isn't on then no changes will be made to the Depth-Buffer, regardless of if the pixels drawn pass or fail the depth-test.\n\n\n\n  alphatest - This enables or disables the pixel alpha test.\n\n\n\n  alphafunc -  - This menu works in conjunction with the Alpha Threshold parameter below in determining which pixels to keep based on their alpha value.\n\n less - lessorequal - greater - greaterorequal -\n\n  alphathreshold - This value is what the pixel's alpha is compared to to determine if the pixel should be drawn. Pixels with alpha greater than the Alpha Threshold will be drawn. Pixels with alpha less than or equal to the Alpha Threshold will not be drawn.\n\n\n\n  wireframe -  - Enables and disables wire-frame rendering with the option of OpenGL Tesselated or Topology based wireframes.\n\n off - tesselated - topology -\n\n\nAlpha-testing allows you to choose to draw or not draw a pixel based on its alpha value.\n\n  wirewidth - This value is the width that the wires will be. This value is in pixels.\n\n\n\n  cullface -  - Selects which faces to render.\n\n userender - Use the render settings found in the Render or Render Pass . neither - Do not cull any faces, render everything. backfaces - Cull back faces, render front faces. frontfaces - Cull front faces, render back faces. bothfaces - Cull both faces, render nothing.\n\n  polygonoffset - Turns on the polygon offset feature.\n\n\n\n  polygonoffsetfactor - \n\n\n\n  polygonoffsetunits - \n\n\n\n\nThe wire-frame feature will render the geometry as wire-frame, using the actual primitive type used in the render. What this means is surfaces like Metaballs, NURBs and Beziers will become a wire-frame of the triangles/triangle-strips used to render them (since these types of primitives can't be natively rendered in OpenGL).\n\n\nThe cull face parameter will cull faces from the render output. This can be used as an optimization or sometimes to remove artifacts. See Back-Face Culling for more infomation.\n\n\nThis feature pushes the polygons back into space a tiny fraction. This is useful when you are rendering two polygons directly on-top of each other and are experiencing Z-Fighting. Refer to Polygon Depth Offset for more information. This is also an important feature when doing shadows.\n\n\nExtra Information for the PBR  can be accessed via an Info CHOP.\n\n\n\n\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\nwikieditorwikieditorwikieditorwikieditorwikieditorwikieditorwikieditormw-rollback2022.241402021.100002020.200002018.28070before 2018.28070\nMATs\n• • • • • • • • • • • • • • • • \n\nMATs or Materials are an Operator Family that applies a Shader to a SOP or 3D Geometry Object for rendering textured surfaces with lighting.\n\n\n\nRendering is the creation of a 3D image with the Render TOP. Rendering is also used more generally to include the compositing (with TOPs) to generate an output image.\n\n\n\nThe OpenGL (pre-2022) or Vulkan (2022-) code that runs on the GPU and creates rendered images from polygons and textures. A shader is programmed in Text DATs and referenced by a GLSL Material or a GLSL TOP. Shaders are composed of up to three parts: Vertex Shader, Pixel Shader and Compute Shader.\n\n\n\nAn Operator Family that contains its own Network. There are sixteen 3D Object Component and ten 2D Panel Component types. See also Network Path.\n\n\n\nEach SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.\n\n\n\nA polygon is a type of Primitive that is formed from a set of Vertices in 3D that are implicitly connected together to form a multi-edge shape.\n\n\n\nEvery operator in TouchDesigner has a set of control Parameters that can be integer or floating point numbers, menus, binary toggles, text strings or operator paths, which determine the output of the operator.\n\n\n\nAn Operator Family that creates, composites and modifies images, and reads/writes images and movies to/from files and the network. TOPs run on the graphics card's GPU.\n\n\n\nA Link. The grey dashed lines between nodes is a Reference or Link that indicates one operator is getting data from another operator from any Operator Family.\n\n\nThe grey dashed lines between nodes is a Reference (or Link). A Reference is (1) a Parameter Reference, a parameter in an OP that is a name or path to another operator, (2) a Node Reference, an expression in a parameter or DAT script that contains the name or path of another operator, (3) a DAT Cell Reference or (4) a CHOP Channel Reference.\n\n\nA Link or Reference is a dashed line between nodes that represent other data flowing between nodes. Examples are CHOP Exports, node Paths in parameters, and expressions in parameters referencing CHOP channels, DAT tables and other nodes. In contrast is a Wire that connects nodes in the same Operator Family.\n\n\n\nOperators that need 1 or more inputs are called Filters in TouchDesigner, like a Math CHOP. See Generator.\n\n\n\nA sequence of vertices form a Polygon in a SOP. Each vertex is an integer index into the Point List, and each Point holds an XYZ position and attributes like Normals and Texture Coordinates.\n\n\n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\n(1) A Geometry Component can instance and render its SOP geometry many times: once for each sample in a CHOP, row of a DAT table, pixel in a TOP, or point of a SOP, (2) An instance is an OP that doesn't actually have its own data, but rather just refers to an OP (or has an input) whose data it uses. This includes Null OPs, Switch OPs and in some cases Select OPs.\n\n\n\nTouchDesigner is a hierarchy of components. \"root\" is the top-most network in the hierarchy. The Network Path or Path for root is simply /. A typical path is /project1/moviein1.\n\n\n\nThe location of an operator within the TouchDesigner environment, for example, /geo1/circle1, a node called circle1 in a component called geo1. The path / is called Root. This path is displayed at the top of every Pane, showing which Component's network you are currently in. To refer instead to a filesystem folder, directory, disk file or http: address, see Folder.\n\n\n\nThe term \"Frame\" is a measurement of time used (1) in the Timeline, (2) as a time-unit in CHOPs, and (3) as a time unit in movie files that are read into TOPs and written out from TOPs. The frame rate is the frames per second (FPS).\n\n\n\nThe connection of an output of one node to the input of another node in a network. In contrast, see Link.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=PBR_MAT&oldid=32304\"\n\t\tCategory: MATs",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.767Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Base Color",
      "label": "Base Color",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "From Derivative\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tJump to navigation\n\t\tJump to search\n\t\t\nThe PBR  creates a material using a Physically Based  (PBR) lighting model. It has support for textures, reflections, bumps, cone lights, rim lights, alpha maps and more. \t\t\t\nIt also supports most Adobe Substance 3D Designer PBR materials loaded in the Substance TOP. \t\t\t\t\nYou can output its GLSL shader into two DATs for further adaptation in a GLSL MAT by using the Output  parameter.\t\t\t\t\nThis OP creates physically based materials from texture maps you assign to it and works with any content pipeline whether you use Maya, Houdini, Unreal, Photoshop etc.\nYou can get more PBR materials from PBR texture libraries such as Quixel and Poliigon and Game Textures.\nSee also: Substance TOP.\npbrMAT_Class\n\nContents\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n\n\n\n\n  basecolor -  - Base color of the texture, used to calculate diffuse and specular contributions.\n\n basecolorr - basecolorg - basecolorb -\n\n  specularlevel - The amount of contribution the Specular Level Map adds to the material.\n\n\n\n  metallic - The amount of contribution the Metallic Map adds to the material.\n\n\n\n  roughness - The amount of contribution the Roughness Map adds to the material. Used to calculate specular D, R, and F (blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf page 3).\n\n\n\n  ambientocclusion - The amount of contribution the Ambient Occlusion Map adds to the material. Ambient Occlusion affects the contribution from the Environement Light .\n\n\n\n  envlightquality - The sampling quality of the Environment Light with the material.\n\n\n\n  emit -  - This is the color that the material will emit even if there is no light.\n\n emitr - emitg - emitb -\n\n  constant -  - Adds to the final color. Where there are point colors, finalcolor +=  Color * Constant Color. This behaves like there is ambient illumination of 1 1 1. It is not affected by textures or transparency.\n\n constantr - constantg - constantb -\n\n  frontfacelit -  - Controls how the polygon's normal is used to light the front face of the polygon. For more information refer to the Two-Sided Lighting article.\n\n uselight - frontlit - backlit -\n\n  backfacelit -  - Back Face's backfacelit - Controls how the polygon's normal is used to light the back face of the polygon. For more information refer to the Two-Sided Lighting article.\n\n uselight - frontlit - backlit -\n\n  outputshader - This button will bring up a dialog that will create a GLSL MAT and Text DATs with shader code that this PBR  is currently using. Since shaders are dependent on the number and type of lights, it will list some possible different shader choices, based on what lighting configurations have been used in the current system. If no shaders are listed in the dialog, it means no shader has been rendered in the current session of TouchDesigner. Turn on the viewer for the Phong , or setup a render in a Render . That will create/compile some shaders and will cause the list to be populated. For example if you want to see a shader that does shadow mapping, setup a render that does shadow mapping and you will see that come up in the list.\n\n\n\n\n\n  substance -  a Substance TOP containing an .sbsar file. Referencing the  will automatically unpack all enabled textures without having to manually fill in any of the below texture maps. Manually filling in any of the texture map parameters will override the texture automatically pulled from the .sbsar package.\n\n\n\n  basecolormap -  - Clicking on the arrows to the right of the map field will open the Texture Sampling Parameters for Color Map.  The other Map parameters below will have their own Texture Sampling Parameters as well.\n\n  basecolormapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  basecolormapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  basecolormapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  basecolormapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  specularlevelmap -  - Specifies a specular level map.\n\n  specularlevelmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  specularlevelmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  specularlevelmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  specularlevelmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  specularlevelmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  metallicmap -  - Specifies a metallic texture map. This is equivalent to the Metallic map in Substance Designer.\n\n  metalnessmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  metalnessmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  metallicmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  metallicmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  metallicmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  roughnessmap -  - Specifies a roughness texture map. This is equivalent to the Roughness map in Substance Designer.\n\n  roughnessmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  roughnessmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  roughnessmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  roughnessmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  roughnessmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  ambientocclusionmap -  - Specifies a ambient occlusion texture map. This is equivalent to the Ambient Occlusion map in Substance Designer. Ambient Occlusion affects the contribution from the Environement Light .\n\n  ambientocclusionmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  ambientocclusionmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  ambientocclusionmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  ambientocclusionmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  ambientocclusionmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  normalmap -  - Uses a Normal Map from TOPs to create a 'bump map' effect. Bump-mapping simulates bumps or wrinkles in a surface to give it a 3D depth effect. Your geometry must have tangent attributes created for this feature to work (T[4]). Create these using the Attribute Create SOP.\n\n  normalmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  normalmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  normalmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  normalmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  bumpscale - A multiplier for the 'bump effect' created by the Normal Map parameter.\n\n\n\n  heightmapenable - Enables height mapping.\n\n\n\n  heightmap -  - Specifies a height texture map. This is equivalent to the Height map in Substance Designer. The height map is used in conjunction with the normal map to perform parallax mapping.\n\n  heightmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  heightmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  heightmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  heightmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  heightmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  parallaxscale - Scale value applied to the height map. Can be used to increase or exaggerate the effect.\n\n\n\n  parallaxocclusion - Enables parallax occlusion, an enhancement of the parallax mapping technique used with the height map. Parallax occlusion improves the quality of the texture offsetting in parallax mapping so that the higher parts of the height map appear to occlude the lower parts, giving a better illusion of height.\n\n\n\n  displaceverts - When Enable Height Map above is On, setting Displace  to On will enable true displacement mapping where the vertices of the geometry are displaced based on the Height Map texture and the parameters below.\n\n\n\n  displacescale - A multiplier for the displacement amount.\n\n\n\n  displacemid - Sets the middle point of displacement map as the start position for the displacement effect.\n\n\n\n  emitmap -  - Specifies a  texture that is multiplied with the Emit color parameter of the material. The object must have texture coordinates. The alpha of this map is ignored.\n\n  emitmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  emitmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  emitmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  emitmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n\n\n Note: Simply applying alpha to an object does not make it transparent. For more information refer to the Transparency article.\n\n  alphamap -  - This map multiplies the alpha of the object. It uses the red channel of the map, other channels are ignored.\n\n  alphamapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  alphamapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  alphamapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  alphamapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  alphamode - Turning this off will make the alpha change depending on orientation of each polygon's normal compared to the camera. Normals that are pointing at the camera will results in the polygon having an alpha of Alpha Front. Normals that are perpendicular to the camera (facing sideways/up/down) will have Alpha Side for their alpha.\n\n\n\n  alphafront - The opacity of the material. This parameter is multiplied by point alpha of the object (as will as any other alpha source).\n\n\n\n  alphaside - This is used for non-uniform alpha. It is the alpha value polygons that are facing away from the camera will get.\n\n\n\n  rolloff - Controls how the alpha changes from Alpha Front to Alpha Side.\n\n\n\n  postmultalpha - At the end of all of the calculations, the color (RGB) is multiplied by the calculated alpha. You can stop this from happening by turning off this checkbox.\n\n\n\n\n\nOther rim lights have the same parameters, internal parameter names just have a different number instead of 1.\n\n  rimlight - Sequence of rim light info\n\n\n\n  rimlight0enable - Enables this rim light.\n\n\n\n  rimlight0map -  - This map will multiple the calculated rim light color.\n\n  rimlight0mapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  rimlight0mapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  rimlight0mapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  rimlight0mapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  rimlight0color -  - The color of the rim light.\n\n rimlight0colorr - rimlight0colorg - rimlight0colorb -\n\n  rimlight0center - The center of the rim lights location, situated somewhere on a 360 degree circle.\n\n\n\n  rimlight0width - How far from the center the rim light extends.\n\n\n\n  rimlight0strength - Controls the brightness of the rim light.\n\n\n\n  rimlight0strengthramp - You can specify a horizontal ramp (it will sample the texture at v = 0.5), which controls the the rim lights strength.\n\n\n\n\n\n\n  shadowstrength - This parameter will control how much being in a shadow will change the color of the lighting. At 1 the object will take on the  parameter, at 0 it will behave as if it's not in a shadow, even if it is.\n\n\n\n  shadowcolor -  - The color that will be used in shadowed areas.\n\n shadowcolorr - shadowcolorg - shadowcolorb -\n\n  darknessemit - The Phong  calculates the current brightness of color of the objects, after taking into account lights, rim lights, emission etc. It then uses this brightness (between 0-1) and fades in the . The darker the area, the more of the darkness emit color that will be applied.\n\n\n\n  darknessemitcolor -  - The color that is used for areas that are in darkness.\n\n darknessemitcolorr - darknessemitcolorg - darknessemitcolorb -\n\n  darknessemitmap -  - This map multiplies the . This maps alpha is not used.\n\n  darknessemitmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  darknessemitmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  darknessemitmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  darknessemitmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  writecameradepthtoalpha - This cause the camera space depth of the pixel to be written to the alpha channel of the output . This value can be useful for post-processing effects, but ofcourse you will not have the result of all the alpha calculations if you turn this on (although they'll get used to multiply the output color, assuming  is enabled.\n\n\n\n  applypointcolor - Normally the color attribute (Cd[4]) coming from the  is used in the lighting calculation, you can turn off using the color attribute by un-checking this parameter.\n\n\n\n  instancetexture -  - When provider per-instance textures in the Geometry COMP, this parameter selects which map the instance texture will be applied as.\n\n basecolormap - normalmap - emitmap - alphamap - darknessemitmap - rimlight0map -\n\n  color - Sequence of color buffers\n\n\n\n  color0output -  - Allows sending things like normals or emit color to different Render  color buffers in a single pass.\n\n zero - one - worldspaceposition - worldspacenormal - cameraspaceposition - cameraspacenormal - pointcolor - texturecoord0 - normalmap - emitmap - emitcolor - specularlevelmap - metallicmap - roughnessmap - ambientocclusionmap - finaldiffcolor - finalspeccolor - shadowstrength - normalizedshadowstrength -\n\n\n\n\nRefer to the  Deform Article for more information on doing deforms in TouchDesigner.\n\n  dodeform - Enables deforms on this material.\n\n\n\n  deformdata -  - Specifies where the deform bone data will be obtained.\n\n sop - mat - deformin -\n\n  targetsop - Specifies the  that contains the deform capture attributes.\n\n\n\n  pcaptpath - Specifies the name of the pCaptPath attribute to use. When your geometry has been put through a Bone Group SOP, the attributes will be split into names like pCaptPath0, pCaptPath1. You can only render 1 bone group at a time, so this should match the group you are rendering with this material.\n\n\n\n  pcaptdata - Much like pCaptPath Attrib.\n\n\n\n  skelrootpath - Specifies the path to the  where the root of the skeleton is located.\n\n\n\n  mat - When obtaining deform data from a  or a Deform In , this is where that  is specified.\n\n\n\n\n\n\nBlending is summing the color value of the pixel being drawn and the pixel currently present in the Color-Buffer. Blending is typically used to simulate Transparency.\n\t\tThe blending equation is:\n\t\tFinal Pixel Value = (Source Blend * Source Color) + (Dest Blend * Destination Color)\n\n  blending - This toggle enables and disables blending. However see the wiki article Transparency.\n\n\n\n  blendop -  - \n\n add - subtract - revsubtract - minimum - maximum -\n\n  srcblend -  - This value is multiplied by the color value of the pixel that is being written to the Color-Buffer (also know as the Source Color).\n\n zero - dcol - omdcol - sa - omsa - da - omda - sas - one - constantcol - omconstantcol - constanta - omconstanta -\n\n  destblend -  - This value is multiplied by the color value of the pixel currently in the Color-Buffer (also known as the Destination Color).\n\n one - scol - omscol - sa - omsa - da - omda - zero - dcol - omdcol - sas - constantcol - omconstantcol - constanta - omconstanta -\n\n  separatealphafunc - This toggle enables and disables separate blending options for the alpha values.\n\n\n\n  blendopa -  - \n\n add - subtract - revsubtract - minimum - maximum -\n\n  srcblenda -  - This value is multiplied by the alpha value of the pixel that is being written to the Color-Buffer (also know as the Source Alpha).\n\n zero - dcol - omdcol - sa - omsa - da - omda - sas - one - constantcol - omconstantcol - constanta - omconstanta -\n\n  destblenda -  - This value is multiplied by the alpha value of the pixel currently in the Color-Buffer (also known as the Destination Alpha).\n\n one - scol - omscol - sa - omsa - da - omda - zero - dcol - omdcol - sas - constantcol - omconstantcol - constanta - omconstanta -\n\n  blendconstant -  - \n\n blendconstantr - blendconstantg - blendconstantb -\n\n  blendconstanta - \n\n\n\n  legacyalphabehavior - \n\n\n\n  postmultalpha - Multiplies the color by alpha after all other operations have taken place.\n\n\n\n  pointcolorpremult -  - \n\n alreadypremult - premultinshader -\n\n  depthtest - Enables and disables the Depth-Test. If the depth-test is disabled, depths values aren't written to the Depth-Buffer.\n\n\n\n  depthfunc -  - The depth value of the pixel being drawn is compared to the depth value currently in the depth-buffer using this function. If the test passes then the pixel is drawn to the -Buffer. If the test fails the pixel is discarded and no changes are made to the -Buffer.\n\n less - lessorequal - equal - greater - greaterorequal - notequal - always -\n\n\nDepth-Testing is comparing the depth value of the pixel being drawn with the pixel currently in the Frame-Buffer. A pixel that is determined to be in-front of the pixel currently in the -Buffer will be drawn over it. Pixels that are determined to be behind the pixel currently in the -Buffer will not be drawn. Depth-Testing allows geometry in a 3D scene to occlude geometry behind it, and be occluded by geometry in-front of it regardless of the order the geometry was drawn.\nFor a more detailed description of Depth-Testing, refer to the Depth-Test article.\n\n  depthwriting - If Write Depth Values is on, pixels that pass the depth-test will write their depth value to the Depth-Buffer. If this isn't on then no changes will be made to the Depth-Buffer, regardless of if the pixels drawn pass or fail the depth-test.\n\n\n\n  alphatest - This enables or disables the pixel alpha test.\n\n\n\n  alphafunc -  - This menu works in conjunction with the Alpha Threshold parameter below in determining which pixels to keep based on their alpha value.\n\n less - lessorequal - greater - greaterorequal -\n\n  alphathreshold - This value is what the pixel's alpha is compared to to determine if the pixel should be drawn. Pixels with alpha greater than the Alpha Threshold will be drawn. Pixels with alpha less than or equal to the Alpha Threshold will not be drawn.\n\n\n\n  wireframe -  - Enables and disables wire-frame rendering with the option of OpenGL Tesselated or Topology based wireframes.\n\n off - tesselated - topology -\n\n\nAlpha-testing allows you to choose to draw or not draw a pixel based on its alpha value.\n\n  wirewidth - This value is the width that the wires will be. This value is in pixels.\n\n\n\n  cullface -  - Selects which faces to render.\n\n userender - Use the render settings found in the Render or Render Pass . neither - Do not cull any faces, render everything. backfaces - Cull back faces, render front faces. frontfaces - Cull front faces, render back faces. bothfaces - Cull both faces, render nothing.\n\n  polygonoffset - Turns on the polygon offset feature.\n\n\n\n  polygonoffsetfactor - \n\n\n\n  polygonoffsetunits - \n\n\n\n\nThe wire-frame feature will render the geometry as wire-frame, using the actual primitive type used in the render. What this means is surfaces like Metaballs, NURBs and Beziers will become a wire-frame of the triangles/triangle-strips used to render them (since these types of primitives can't be natively rendered in OpenGL).\n\n\nThe cull face parameter will cull faces from the render output. This can be used as an optimization or sometimes to remove artifacts. See Back-Face Culling for more infomation.\n\n\nThis feature pushes the polygons back into space a tiny fraction. This is useful when you are rendering two polygons directly on-top of each other and are experiencing Z-Fighting. Refer to Polygon Depth Offset for more information. This is also an important feature when doing shadows.\n\n\nExtra Information for the PBR  can be accessed via an Info CHOP.\n\n\n\n\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\nwikieditorwikieditorwikieditorwikieditorwikieditorwikieditorwikieditormw-rollback2022.241402021.100002020.200002018.28070before 2018.28070\nMATs\n• • • • • • • • • • • • • • • • \n\nMATs or Materials are an Operator Family that applies a Shader to a SOP or 3D Geometry Object for rendering textured surfaces with lighting.\n\n\n\nRendering is the creation of a 3D image with the Render TOP. Rendering is also used more generally to include the compositing (with TOPs) to generate an output image.\n\n\n\nThe OpenGL (pre-2022) or Vulkan (2022-) code that runs on the GPU and creates rendered images from polygons and textures. A shader is programmed in Text DATs and referenced by a GLSL Material or a GLSL TOP. Shaders are composed of up to three parts: Vertex Shader, Pixel Shader and Compute Shader.\n\n\n\nAn Operator Family that contains its own Network. There are sixteen 3D Object Component and ten 2D Panel Component types. See also Network Path.\n\n\n\nEach SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.\n\n\n\nA polygon is a type of Primitive that is formed from a set of Vertices in 3D that are implicitly connected together to form a multi-edge shape.\n\n\n\nEvery operator in TouchDesigner has a set of control Parameters that can be integer or floating point numbers, menus, binary toggles, text strings or operator paths, which determine the output of the operator.\n\n\n\nAn Operator Family that creates, composites and modifies images, and reads/writes images and movies to/from files and the network. TOPs run on the graphics card's GPU.\n\n\n\nA Link. The grey dashed lines between nodes is a Reference or Link that indicates one operator is getting data from another operator from any Operator Family.\n\n\nThe grey dashed lines between nodes is a Reference (or Link). A Reference is (1) a Parameter Reference, a parameter in an OP that is a name or path to another operator, (2) a Node Reference, an expression in a parameter or DAT script that contains the name or path of another operator, (3) a DAT Cell Reference or (4) a CHOP Channel Reference.\n\n\nA Link or Reference is a dashed line between nodes that represent other data flowing between nodes. Examples are CHOP Exports, node Paths in parameters, and expressions in parameters referencing CHOP channels, DAT tables and other nodes. In contrast is a Wire that connects nodes in the same Operator Family.\n\n\n\nOperators that need 1 or more inputs are called Filters in TouchDesigner, like a Math CHOP. See Generator.\n\n\n\nA sequence of vertices form a Polygon in a SOP. Each vertex is an integer index into the Point List, and each Point holds an XYZ position and attributes like Normals and Texture Coordinates.\n\n\n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\n(1) A Geometry Component can instance and render its SOP geometry many times: once for each sample in a CHOP, row of a DAT table, pixel in a TOP, or point of a SOP, (2) An instance is an OP that doesn't actually have its own data, but rather just refers to an OP (or has an input) whose data it uses. This includes Null OPs, Switch OPs and in some cases Select OPs.\n\n\n\nTouchDesigner is a hierarchy of components. \"root\" is the top-most network in the hierarchy. The Network Path or Path for root is simply /. A typical path is /project1/moviein1.\n\n\n\nThe location of an operator within the TouchDesigner environment, for example, /geo1/circle1, a node called circle1 in a component called geo1. The path / is called Root. This path is displayed at the top of every Pane, showing which Component's network you are currently in. To refer instead to a filesystem folder, directory, disk file or http: address, see Folder.\n\n\n\nThe term \"Frame\" is a measurement of time used (1) in the Timeline, (2) as a time-unit in CHOPs, and (3) as a time unit in movie files that are read into TOPs and written out from TOPs. The frame rate is the frames per second (FPS).\n\n\n\nThe connection of an output of one node to the input of another node in a network. In contrast, see Link.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=PBR_MAT&oldid=32304\"\n\t\tCategory: MATs",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.778Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Base Color",
      "label": "Base Color",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "The PBR  creates a material using a Physically Based  (PBR) lighting model. It has support for textures, reflections, bumps, cone lights, rim lights, alpha maps and more. \t\t\t\nIt also supports most Adobe Substance 3D Designer PBR materials loaded in the Substance TOP. \t\t\t\t\nYou can output its GLSL shader into two DATs for further adaptation in a GLSL MAT by using the Output  parameter.\t\t\t\t\nThis OP creates physically based materials from texture maps you assign to it and works with any content pipeline whether you use Maya, Houdini, Unreal, Photoshop etc.\nYou can get more PBR materials from PBR texture libraries such as Quixel and Poliigon and Game Textures.\nSee also: Substance TOP.\npbrMAT_Class\n\nContents\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n\n\n\n\n  basecolor -  - Base color of the texture, used to calculate diffuse and specular contributions.\n\n basecolorr - basecolorg - basecolorb -\n\n  specularlevel - The amount of contribution the Specular Level Map adds to the material.\n\n\n\n  metallic - The amount of contribution the Metallic Map adds to the material.\n\n\n\n  roughness - The amount of contribution the Roughness Map adds to the material. Used to calculate specular D, R, and F (blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf page 3).\n\n\n\n  ambientocclusion - The amount of contribution the Ambient Occlusion Map adds to the material. Ambient Occlusion affects the contribution from the Environement Light .\n\n\n\n  envlightquality - The sampling quality of the Environment Light with the material.\n\n\n\n  emit -  - This is the color that the material will emit even if there is no light.\n\n emitr - emitg - emitb -\n\n  constant -  - Adds to the final color. Where there are point colors, finalcolor +=  Color * Constant Color. This behaves like there is ambient illumination of 1 1 1. It is not affected by textures or transparency.\n\n constantr - constantg - constantb -\n\n  frontfacelit -  - Controls how the polygon's normal is used to light the front face of the polygon. For more information refer to the Two-Sided Lighting article.\n\n uselight - frontlit - backlit -\n\n  backfacelit -  - Back Face's backfacelit - Controls how the polygon's normal is used to light the back face of the polygon. For more information refer to the Two-Sided Lighting article.\n\n uselight - frontlit - backlit -\n\n  outputshader - This button will bring up a dialog that will create a GLSL MAT and Text DATs with shader code that this PBR  is currently using. Since shaders are dependent on the number and type of lights, it will list some possible different shader choices, based on what lighting configurations have been used in the current system. If no shaders are listed in the dialog, it means no shader has been rendered in the current session of TouchDesigner. Turn on the viewer for the Phong , or setup a render in a Render . That will create/compile some shaders and will cause the list to be populated. For example if you want to see a shader that does shadow mapping, setup a render that does shadow mapping and you will see that come up in the list.\n\n\n\n\n\n  substance -  a Substance TOP containing an .sbsar file. Referencing the  will automatically unpack all enabled textures without having to manually fill in any of the below texture maps. Manually filling in any of the texture map parameters will override the texture automatically pulled from the .sbsar package.\n\n\n\n  basecolormap -  - Clicking on the arrows to the right of the map field will open the Texture Sampling Parameters for Color Map.  The other Map parameters below will have their own Texture Sampling Parameters as well.\n\n  basecolormapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  basecolormapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  basecolormapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  basecolormapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  specularlevelmap -  - Specifies a specular level map.\n\n  specularlevelmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  specularlevelmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  specularlevelmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  specularlevelmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  specularlevelmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  metallicmap -  - Specifies a metallic texture map. This is equivalent to the Metallic map in Substance Designer.\n\n  metalnessmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  metalnessmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  metallicmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  metallicmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  metallicmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  roughnessmap -  - Specifies a roughness texture map. This is equivalent to the Roughness map in Substance Designer.\n\n  roughnessmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  roughnessmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  roughnessmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  roughnessmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  roughnessmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  ambientocclusionmap -  - Specifies a ambient occlusion texture map. This is equivalent to the Ambient Occlusion map in Substance Designer. Ambient Occlusion affects the contribution from the Environement Light .\n\n  ambientocclusionmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  ambientocclusionmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  ambientocclusionmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  ambientocclusionmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  ambientocclusionmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  normalmap -  - Uses a Normal Map from TOPs to create a 'bump map' effect. Bump-mapping simulates bumps or wrinkles in a surface to give it a 3D depth effect. Your geometry must have tangent attributes created for this feature to work (T[4]). Create these using the Attribute Create SOP.\n\n  normalmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  normalmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  normalmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  normalmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  bumpscale - A multiplier for the 'bump effect' created by the Normal Map parameter.\n\n\n\n  heightmapenable - Enables height mapping.\n\n\n\n  heightmap -  - Specifies a height texture map. This is equivalent to the Height map in Substance Designer. The height map is used in conjunction with the normal map to perform parallax mapping.\n\n  heightmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  heightmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  heightmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  heightmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  heightmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -\n\n\n\n  parallaxscale - Scale value applied to the height map. Can be used to increase or exaggerate the effect.\n\n\n\n  parallaxocclusion - Enables parallax occlusion, an enhancement of the parallax mapping technique used with the height map. Parallax occlusion improves the quality of the texture offsetting in parallax mapping so that the higher parts of the height map appear to occlude the lower parts, giving a better illusion of height.\n\n\n\n  displaceverts - When Enable Height Map above is On, setting Displace  to On will enable true displacement mapping where the vertices of the geometry are displaced based on the Height Map texture and the parameters below.\n\n\n\n  displacescale - A multiplier for the displacement amount.\n\n\n\n  displacemid - Sets the middle point of displacement map as the start position for the displacement effect.\n\n\n\n  emitmap -  - Specifies a  texture that is multiplied with the Emit color parameter of the material. The object must have texture coordinates. The alpha of this map is ignored.\n\n  emitmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  emitmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  emitmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  emitmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n\n\n Note: Simply applying alpha to an object does not make it transparent. For more information refer to the Transparency article.\n\n  alphamap -  - This map multiplies the alpha of the object. It uses the red channel of the map, other channels are ignored.\n\n  alphamapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  alphamapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  alphamapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  alphamapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  alphamode - Turning this off will make the alpha change depending on orientation of each polygon's normal compared to the camera. Normals that are pointing at the camera will results in the polygon having an alpha of Alpha Front. Normals that are perpendicular to the camera (facing sideways/up/down) will have Alpha Side for their alpha.\n\n\n\n  alphafront - The opacity of the material. This parameter is multiplied by point alpha of the object (as will as any other alpha source).\n\n\n\n  alphaside - This is used for non-uniform alpha. It is the alpha value polygons that are facing away from the camera will get.\n\n\n\n  rolloff - Controls how the alpha changes from Alpha Front to Alpha Side.\n\n\n\n  postmultalpha - At the end of all of the calculations, the color (RGB) is multiplied by the calculated alpha. You can stop this from happening by turning off this checkbox.\n\n\n\n\n\nOther rim lights have the same parameters, internal parameter names just have a different number instead of 1.\n\n  rimlight - Sequence of rim light info\n\n\n\n  rimlight0enable - Enables this rim light.\n\n\n\n  rimlight0map -  - This map will multiple the calculated rim light color.\n\n  rimlight0mapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  rimlight0mapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  rimlight0mapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  rimlight0mapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  rimlight0color -  - The color of the rim light.\n\n rimlight0colorr - rimlight0colorg - rimlight0colorb -\n\n  rimlight0center - The center of the rim lights location, situated somewhere on a 360 degree circle.\n\n\n\n  rimlight0width - How far from the center the rim light extends.\n\n\n\n  rimlight0strength - Controls the brightness of the rim light.\n\n\n\n  rimlight0strengthramp - You can specify a horizontal ramp (it will sample the texture at v = 0.5), which controls the the rim lights strength.\n\n\n\n\n\n\n  shadowstrength - This parameter will control how much being in a shadow will change the color of the lighting. At 1 the object will take on the  parameter, at 0 it will behave as if it's not in a shadow, even if it is.\n\n\n\n  shadowcolor -  - The color that will be used in shadowed areas.\n\n shadowcolorr - shadowcolorg - shadowcolorb -\n\n  darknessemit - The Phong  calculates the current brightness of color of the objects, after taking into account lights, rim lights, emission etc. It then uses this brightness (between 0-1) and fades in the . The darker the area, the more of the darkness emit color that will be applied.\n\n\n\n  darknessemitcolor -  - The color that is used for areas that are in darkness.\n\n darknessemitcolorr - darknessemitcolorg - darknessemitcolorb -\n\n  darknessemitmap -  - This map multiplies the . This maps alpha is not used.\n\n  darknessemitmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  darknessemitmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  darknessemitmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  darknessemitmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  writecameradepthtoalpha - This cause the camera space depth of the pixel to be written to the alpha channel of the output . This value can be useful for post-processing effects, but ofcourse you will not have the result of all the alpha calculations if you turn this on (although they'll get used to multiply the output color, assuming  is enabled.\n\n\n\n  applypointcolor - Normally the color attribute (Cd[4]) coming from the  is used in the lighting calculation, you can turn off using the color attribute by un-checking this parameter.\n\n\n\n  instancetexture -  - When provider per-instance textures in the Geometry COMP, this parameter selects which map the instance texture will be applied as.\n\n basecolormap - normalmap - emitmap - alphamap - darknessemitmap - rimlight0map -\n\n  color - Sequence of color buffers\n\n\n\n  color0output -  - Allows sending things like normals or emit color to different Render  color buffers in a single pass.\n\n zero - one - worldspaceposition - worldspacenormal - cameraspaceposition - cameraspacenormal - pointcolor - texturecoord0 - normalmap - emitmap - emitcolor - specularlevelmap - metallicmap - roughnessmap - ambientocclusionmap - finaldiffcolor - finalspeccolor - shadowstrength - normalizedshadowstrength -\n\n\n\n\nRefer to the  Deform Article for more information on doing deforms in TouchDesigner.\n\n  dodeform - Enables deforms on this material.\n\n\n\n  deformdata -  - Specifies where the deform bone data will be obtained.\n\n sop - mat - deformin -\n\n  targetsop - Specifies the  that contains the deform capture attributes.\n\n\n\n  pcaptpath - Specifies the name of the pCaptPath attribute to use. When your geometry has been put through a Bone Group SOP, the attributes will be split into names like pCaptPath0, pCaptPath1. You can only render 1 bone group at a time, so this should match the group you are rendering with this material.\n\n\n\n  pcaptdata - Much like pCaptPath Attrib.\n\n\n\n  skelrootpath - Specifies the path to the  where the root of the skeleton is located.\n\n\n\n  mat - When obtaining deform data from a  or a Deform In , this is where that  is specified.\n\n\n\n\n\n\nBlending is summing the color value of the pixel being drawn and the pixel currently present in the Color-Buffer. Blending is typically used to simulate Transparency.\n\t\tThe blending equation is:\n\t\tFinal Pixel Value = (Source Blend * Source Color) + (Dest Blend * Destination Color)\n\n  blending - This toggle enables and disables blending. However see the wiki article Transparency.\n\n\n\n  blendop -  - \n\n add - subtract - revsubtract - minimum - maximum -\n\n  srcblend -  - This value is multiplied by the color value of the pixel that is being written to the Color-Buffer (also know as the Source Color).\n\n zero - dcol - omdcol - sa - omsa - da - omda - sas - one - constantcol - omconstantcol - constanta - omconstanta -\n\n  destblend -  - This value is multiplied by the color value of the pixel currently in the Color-Buffer (also known as the Destination Color).\n\n one - scol - omscol - sa - omsa - da - omda - zero - dcol - omdcol - sas - constantcol - omconstantcol - constanta - omconstanta -\n\n  separatealphafunc - This toggle enables and disables separate blending options for the alpha values.\n\n\n\n  blendopa -  - \n\n add - subtract - revsubtract - minimum - maximum -\n\n  srcblenda -  - This value is multiplied by the alpha value of the pixel that is being written to the Color-Buffer (also know as the Source Alpha).\n\n zero - dcol - omdcol - sa - omsa - da - omda - sas - one - constantcol - omconstantcol - constanta - omconstanta -\n\n  destblenda -  - This value is multiplied by the alpha value of the pixel currently in the Color-Buffer (also known as the Destination Alpha).\n\n one - scol - omscol - sa - omsa - da - omda - zero - dcol - omdcol - sas - constantcol - omconstantcol - constanta - omconstanta -\n\n  blendconstant -  - \n\n blendconstantr - blendconstantg - blendconstantb -\n\n  blendconstanta - \n\n\n\n  legacyalphabehavior - \n\n\n\n  postmultalpha - Multiplies the color by alpha after all other operations have taken place.\n\n\n\n  pointcolorpremult -  - \n\n alreadypremult - premultinshader -\n\n  depthtest - Enables and disables the Depth-Test. If the depth-test is disabled, depths values aren't written to the Depth-Buffer.\n\n\n\n  depthfunc -  - The depth value of the pixel being drawn is compared to the depth value currently in the depth-buffer using this function. If the test passes then the pixel is drawn to the -Buffer. If the test fails the pixel is discarded and no changes are made to the -Buffer.\n\n less - lessorequal - equal - greater - greaterorequal - notequal - always -\n\n\nDepth-Testing is comparing the depth value of the pixel being drawn with the pixel currently in the Frame-Buffer. A pixel that is determined to be in-front of the pixel currently in the -Buffer will be drawn over it. Pixels that are determined to be behind the pixel currently in the -Buffer will not be drawn. Depth-Testing allows geometry in a 3D scene to occlude geometry behind it, and be occluded by geometry in-front of it regardless of the order the geometry was drawn.\nFor a more detailed description of Depth-Testing, refer to the Depth-Test article.\n\n  depthwriting - If Write Depth Values is on, pixels that pass the depth-test will write their depth value to the Depth-Buffer. If this isn't on then no changes will be made to the Depth-Buffer, regardless of if the pixels drawn pass or fail the depth-test.\n\n\n\n  alphatest - This enables or disables the pixel alpha test.\n\n\n\n  alphafunc -  - This menu works in conjunction with the Alpha Threshold parameter below in determining which pixels to keep based on their alpha value.\n\n less - lessorequal - greater - greaterorequal -\n\n  alphathreshold - This value is what the pixel's alpha is compared to to determine if the pixel should be drawn. Pixels with alpha greater than the Alpha Threshold will be drawn. Pixels with alpha less than or equal to the Alpha Threshold will not be drawn.\n\n\n\n  wireframe -  - Enables and disables wire-frame rendering with the option of OpenGL Tesselated or Topology based wireframes.\n\n off - tesselated - topology -\n\n\nAlpha-testing allows you to choose to draw or not draw a pixel based on its alpha value.\n\n  wirewidth - This value is the width that the wires will be. This value is in pixels.\n\n\n\n  cullface -  - Selects which faces to render.\n\n userender - Use the render settings found in the Render or Render Pass . neither - Do not cull any faces, render everything. backfaces - Cull back faces, render front faces. frontfaces - Cull front faces, render back faces. bothfaces - Cull both faces, render nothing.\n\n  polygonoffset - Turns on the polygon offset feature.\n\n\n\n  polygonoffsetfactor - \n\n\n\n  polygonoffsetunits - \n\n\n\n\nThe wire-frame feature will render the geometry as wire-frame, using the actual primitive type used in the render. What this means is surfaces like Metaballs, NURBs and Beziers will become a wire-frame of the triangles/triangle-strips used to render them (since these types of primitives can't be natively rendered in OpenGL).\n\n\nThe cull face parameter will cull faces from the render output. This can be used as an optimization or sometimes to remove artifacts. See Back-Face Culling for more infomation.\n\n\nThis feature pushes the polygons back into space a tiny fraction. This is useful when you are rendering two polygons directly on-top of each other and are experiencing Z-Fighting. Refer to Polygon Depth Offset for more information. This is also an important feature when doing shadows.\n\n\nExtra Information for the PBR  can be accessed via an Info CHOP.\n\n\n\n\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\nwikieditorwikieditorwikieditorwikieditorwikieditorwikieditorwikieditormw-rollback2022.241402021.100002020.200002018.28070before 2018.28070\nMATs\n• • • • • • • • • • • • • • • • \n\nMATs or Materials are an Operator Family that applies a Shader to a SOP or 3D Geometry Object for rendering textured surfaces with lighting.\n\n\n\nRendering is the creation of a 3D image with the Render TOP. Rendering is also used more generally to include the compositing (with TOPs) to generate an output image.\n\n\n\nThe OpenGL (pre-2022) or Vulkan (2022-) code that runs on the GPU and creates rendered images from polygons and textures. A shader is programmed in Text DATs and referenced by a GLSL Material or a GLSL TOP. Shaders are composed of up to three parts: Vertex Shader, Pixel Shader and Compute Shader.\n\n\n\nAn Operator Family that contains its own Network. There are sixteen 3D Object Component and ten 2D Panel Component types. See also Network Path.\n\n\n\nEach SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.\n\n\n\nA polygon is a type of Primitive that is formed from a set of Vertices in 3D that are implicitly connected together to form a multi-edge shape.\n\n\n\nEvery operator in TouchDesigner has a set of control Parameters that can be integer or floating point numbers, menus, binary toggles, text strings or operator paths, which determine the output of the operator.\n\n\n\nAn Operator Family that creates, composites and modifies images, and reads/writes images and movies to/from files and the network. TOPs run on the graphics card's GPU.\n\n\n\nA Link. The grey dashed lines between nodes is a Reference or Link that indicates one operator is getting data from another operator from any Operator Family.\n\n\nThe grey dashed lines between nodes is a Reference (or Link). A Reference is (1) a Parameter Reference, a parameter in an OP that is a name or path to another operator, (2) a Node Reference, an expression in a parameter or DAT script that contains the name or path of another operator, (3) a DAT Cell Reference or (4) a CHOP Channel Reference.\n\n\nA Link or Reference is a dashed line between nodes that represent other data flowing between nodes. Examples are CHOP Exports, node Paths in parameters, and expressions in parameters referencing CHOP channels, DAT tables and other nodes. In contrast is a Wire that connects nodes in the same Operator Family.\n\n\n\nOperators that need 1 or more inputs are called Filters in TouchDesigner, like a Math CHOP. See Generator.\n\n\n\nA sequence of vertices form a Polygon in a SOP. Each vertex is an integer index into the Point List, and each Point holds an XYZ position and attributes like Normals and Texture Coordinates.\n\n\n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\n(1) A Geometry Component can instance and render its SOP geometry many times: once for each sample in a CHOP, row of a DAT table, pixel in a TOP, or point of a SOP, (2) An instance is an OP that doesn't actually have its own data, but rather just refers to an OP (or has an input) whose data it uses. This includes Null OPs, Switch OPs and in some cases Select OPs.\n\n\n\nTouchDesigner is a hierarchy of components. \"root\" is the top-most network in the hierarchy. The Network Path or Path for root is simply /. A typical path is /project1/moviein1.\n\n\n\nThe location of an operator within the TouchDesigner environment, for example, /geo1/circle1, a node called circle1 in a component called geo1. The path / is called Root. This path is displayed at the top of every Pane, showing which Component's network you are currently in. To refer instead to a filesystem folder, directory, disk file or http: address, see Folder.\n\n\n\nThe term \"Frame\" is a measurement of time used (1) in the Timeline, (2) as a time-unit in CHOPs, and (3) as a time unit in movie files that are read into TOPs and written out from TOPs. The frame rate is the frames per second (FPS).\n\n\n\nThe connection of an output of one node to the input of another node in a network. In contrast, see Link.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=PBR_MAT&oldid=32304\"",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.787Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Base Color",
      "label": "Base Color",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "basecolor -  - Base color of the texture, used to calculate diffuse and specular contributions.\n\n basecolorr - basecolorg - basecolorb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.787Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Red",
      "label": "Red",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "basecolorr - basecolorg - basecolorb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.787Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Specular Level",
      "label": "Specular Level",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "specularlevel - The amount of contribution the Specular Level Map adds to the material.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.787Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Metallic",
      "label": "Metallic",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "metallic - The amount of contribution the Metallic Map adds to the material.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.787Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Roughness",
      "label": "Roughness",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "roughness - The amount of contribution the Roughness Map adds to the material. Used to calculate specular D, R, and F (blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf page 3).",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.787Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Ambient Occlusion",
      "label": "Ambient Occlusion",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "ambientocclusion - The amount of contribution the Ambient Occlusion Map adds to the material. Ambient Occlusion affects the contribution from the Environement Light .",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.787Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Env Light Quality",
      "label": "Env Light Quality",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "envlightquality - The sampling quality of the Environment Light with the material.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.787Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Emit",
      "label": "Emit",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "emit -  - This is the color that the material will emit even if there is no light.\n\n emitr - emitg - emitb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.787Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Red",
      "label": "Red",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "emitr - emitg - emitb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.788Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Constant",
      "label": "Constant",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "constant -  - Adds to the final color. Where there are point colors, finalcolor +=  Color * Constant Color. This behaves like there is ambient illumination of 1 1 1. It is not affected by textures or transparency.\n\n constantr - constantg - constantb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.788Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Red",
      "label": "Red",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "constantr - constantg - constantb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.788Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Polygon Front Faces",
      "label": "Polygon Front Faces",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "frontfacelit -  - Controls how the polygon's normal is used to light the front face of the polygon. For more information refer to the Two-Sided Lighting article.\n\n uselight - frontlit - backlit -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.788Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Use Per-Light(s) Parameter",
      "label": "Use Per-Light(s) Parameter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "uselight - frontlit - backlit -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.788Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Polygon Back Faces",
      "label": "Polygon Back Faces",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "backfacelit -  - Back Face's backfacelit - Controls how the polygon's normal is used to light the back face of the polygon. For more information refer to the Two-Sided Lighting article.\n\n uselight - frontlit - backlit -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.788Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Use Per-Light(s) Parameter",
      "label": "Use Per-Light(s) Parameter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "uselight - frontlit - backlit -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.788Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Output Shader...",
      "label": "Output Shader...",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "outputshader - This button will bring up a dialog that will create a GLSL MAT and Text DATs with shader code that this PBR  is currently using. Since shaders are dependent on the number and type of lights, it will list some possible different shader choices, based on what lighting configurations have been used in the current system. If no shaders are listed in the dialog, it means no shader has been rendered in the current session of TouchDesigner. Turn on the viewer for the Phong , or setup a render in a Render . That will create/compile some shaders and will cause the list to be populated. For example if you want to see a shader that does shadow mapping, setup a render that does shadow mapping and you will see that come up in the list.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.788Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Substance TOP",
      "label": "Substance TOP",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "substance -  a Substance TOP containing an .sbsar file. Referencing the  will automatically unpack all enabled textures without having to manually fill in any of the below texture maps. Manually filling in any of the texture map parameters will override the texture automatically pulled from the .sbsar package.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.788Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Base Color Map",
      "label": "Base Color Map",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "basecolormap -  - Clicking on the arrows to the right of the map field will open the Texture Sampling Parameters for Color Map.  The other Map parameters below will have their own Texture Sampling Parameters as well.\n\n  basecolormapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  basecolormapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  basecolormapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  basecolormapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.789Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "basecolormapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  basecolormapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  basecolormapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  basecolormapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  basecolormapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.789Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "basecolormapextendu -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.789Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.790Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend V",
      "label": "Extend V",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "basecolormapextendv -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.790Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.790Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend W",
      "label": "Extend W",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "basecolormapextendw -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.790Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.790Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Filter",
      "label": "Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "basecolormapfilter -  - \n\n nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.790Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Nearest",
      "label": "Nearest",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.790Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Anisotropic Filter",
      "label": "Anisotropic Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "basecolormapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.790Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.790Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Coord",
      "label": "Texture Coord",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "basecolormapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.790Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Layer 0 (uv[0-2])",
      "label": "Texture Layer 0 (uv[0-2])",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.790Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Coord Interpolation",
      "label": "Coord Interpolation",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "basecolormapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.790Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Perspective Correct",
      "label": "Perspective Correct",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.791Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Specular Level Map",
      "label": "Specular Level Map",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "specularlevelmap -  - Specifies a specular level map.\n\n  specularlevelmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  specularlevelmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  specularlevelmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  specularlevelmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  specularlevelmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.791Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "specularlevelmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  specularlevelmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  specularlevelmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  specularlevelmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  specularlevelmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  specularlevelmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.791Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "specularlevelmapextendu -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.791Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.791Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend V",
      "label": "Extend V",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "specularlevelmapextendv -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.792Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.792Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend W",
      "label": "Extend W",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "specularlevelmapextendw -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.792Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.792Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Filter",
      "label": "Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "specularlevelmapfilter -  - \n\n nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.792Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Nearest",
      "label": "Nearest",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.792Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Anisotropic Filter",
      "label": "Anisotropic Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "specularlevelmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.792Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.792Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Coord",
      "label": "Texture Coord",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "specularlevelmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.792Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Layer 0 (uv[0-2])",
      "label": "Texture Layer 0 (uv[0-2])",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.792Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Coord Interpolation",
      "label": "Coord Interpolation",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "specularlevelmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.792Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Perspective Correct",
      "label": "Perspective Correct",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.792Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Channel Source",
      "label": "Channel Source",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "specularlevelmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.793Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Luminance",
      "label": "Luminance",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.793Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Metallic Map",
      "label": "Metallic Map",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "metallicmap -  - Specifies a metallic texture map. This is equivalent to the Metallic map in Substance Designer.\n\n  metalnessmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  metalnessmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  metallicmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  metallicmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  metallicmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.793Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "metalnessmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  metalnessmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  metalnessmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  metallicmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  metallicmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  metallicmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.793Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "metalnessmapextendu -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend V",
      "label": "Extend V",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "metalnessmapextendv -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend W",
      "label": "Extend W",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "metalnessmapextendw -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Filter",
      "label": "Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "metalnessmapfilter -  - \n\n nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Nearest",
      "label": "Nearest",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Anisotropic Filter",
      "label": "Anisotropic Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "metalnessmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Coord",
      "label": "Texture Coord",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "metallicmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Layer 0 (uv[0-2])",
      "label": "Texture Layer 0 (uv[0-2])",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Coord Interpolation",
      "label": "Coord Interpolation",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "metallicmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Perspective Correct",
      "label": "Perspective Correct",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Channel Source",
      "label": "Channel Source",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "metallicmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Luminance",
      "label": "Luminance",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.794Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Roughness Map",
      "label": "Roughness Map",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "roughnessmap -  - Specifies a roughness texture map. This is equivalent to the Roughness map in Substance Designer.\n\n  roughnessmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  roughnessmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  roughnessmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  roughnessmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  roughnessmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.795Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "roughnessmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  roughnessmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  roughnessmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  roughnessmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  roughnessmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  roughnessmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.795Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "roughnessmapextendu -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.795Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.795Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend V",
      "label": "Extend V",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "roughnessmapextendv -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.795Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.795Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend W",
      "label": "Extend W",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "roughnessmapextendw -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.796Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.796Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Filter",
      "label": "Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "roughnessmapfilter -  - \n\n nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.796Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Nearest",
      "label": "Nearest",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.796Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Anisotropic Filter",
      "label": "Anisotropic Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "roughnessmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.796Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.796Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Coord",
      "label": "Texture Coord",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "roughnessmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.796Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Layer 0 (uv[0-2])",
      "label": "Texture Layer 0 (uv[0-2])",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.796Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Coord Interpolation",
      "label": "Coord Interpolation",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "roughnessmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.796Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Perspective Correct",
      "label": "Perspective Correct",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.796Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Channel Source",
      "label": "Channel Source",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "roughnessmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.796Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Luminance",
      "label": "Luminance",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.796Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Ambient Occlusion Map",
      "label": "Ambient Occlusion Map",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "ambientocclusionmap -  - Specifies a ambient occlusion texture map. This is equivalent to the Ambient Occlusion map in Substance Designer. Ambient Occlusion affects the contribution from the Environement Light .\n\n  ambientocclusionmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  ambientocclusionmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  ambientocclusionmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  ambientocclusionmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  ambientocclusionmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.797Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "ambientocclusionmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  ambientocclusionmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  ambientocclusionmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  ambientocclusionmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  ambientocclusionmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  ambientocclusionmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.797Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "ambientocclusionmapextendu -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.797Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.797Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend V",
      "label": "Extend V",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "ambientocclusionmapextendv -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.797Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.797Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend W",
      "label": "Extend W",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "ambientocclusionmapextendw -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.797Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.797Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Filter",
      "label": "Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "ambientocclusionmapfilter -  - \n\n nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.797Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Nearest",
      "label": "Nearest",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.797Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Anisotropic Filter",
      "label": "Anisotropic Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "ambientocclusionmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.798Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.798Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Coord",
      "label": "Texture Coord",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "ambientocclusionmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.798Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Layer 0 (uv[0-2])",
      "label": "Texture Layer 0 (uv[0-2])",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.798Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Coord Interpolation",
      "label": "Coord Interpolation",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "ambientocclusionmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.798Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Perspective Correct",
      "label": "Perspective Correct",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.798Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Channel Source",
      "label": "Channel Source",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "ambientocclusionmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.798Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Luminance",
      "label": "Luminance",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.798Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Normal Map (Bump)",
      "label": "Normal Map (Bump)",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "normalmap -  - Uses a Normal Map from TOPs to create a 'bump map' effect. Bump-mapping simulates bumps or wrinkles in a surface to give it a 3D depth effect. Your geometry must have tangent attributes created for this feature to work (T[4]). Create these using the Attribute Create SOP.\n\n  normalmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  normalmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  normalmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  normalmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.798Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "normalmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  normalmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  normalmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  normalmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  normalmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.799Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "normalmapextendu -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.799Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.799Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend V",
      "label": "Extend V",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "normalmapextendv -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.799Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.799Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend W",
      "label": "Extend W",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "normalmapextendw -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.799Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.800Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Filter",
      "label": "Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "normalmapfilter -  - \n\n nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.800Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Nearest",
      "label": "Nearest",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.800Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Anisotropic Filter",
      "label": "Anisotropic Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "normalmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.800Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.800Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Coord",
      "label": "Texture Coord",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "normalmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.800Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Layer 0 (uv[0-2])",
      "label": "Texture Layer 0 (uv[0-2])",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.801Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Coord Interpolation",
      "label": "Coord Interpolation",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "normalmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.801Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Perspective Correct",
      "label": "Perspective Correct",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.801Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Bump Scale",
      "label": "Bump Scale",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "bumpscale - A multiplier for the 'bump effect' created by the Normal Map parameter.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.801Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Enable Height Map",
      "label": "Enable Height Map",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "heightmapenable - Enables height mapping.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.801Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Height Map",
      "label": "Height Map",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "heightmap -  - Specifies a height texture map. This is equivalent to the Height map in Substance Designer. The height map is used in conjunction with the normal map to perform parallax mapping.\n\n  heightmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  heightmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  heightmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  heightmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  heightmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.802Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "heightmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  heightmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  heightmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  heightmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  heightmapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n  heightmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.802Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "heightmapextendu -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend V",
      "label": "Extend V",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "heightmapextendv -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend W",
      "label": "Extend W",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "heightmapextendw -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Filter",
      "label": "Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "heightmapfilter -  - \n\n nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Nearest",
      "label": "Nearest",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Anisotropic Filter",
      "label": "Anisotropic Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "heightmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Coord",
      "label": "Texture Coord",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "heightmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Layer 0 (uv[0-2])",
      "label": "Texture Layer 0 (uv[0-2])",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Coord Interpolation",
      "label": "Coord Interpolation",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "heightmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Perspective Correct",
      "label": "Perspective Correct",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Channel Source",
      "label": "Channel Source",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "heightmapchannelsource -  - \n\n luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Luminance",
      "label": "Luminance",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "luminance - red - green - blue - alpha - rgbaverage - average -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.803Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Parallax Scale",
      "label": "Parallax Scale",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "parallaxscale - Scale value applied to the height map. Can be used to increase or exaggerate the effect.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.804Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Parallax Occlusion",
      "label": "Parallax Occlusion",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "parallaxocclusion - Enables parallax occlusion, an enhancement of the parallax mapping technique used with the height map. Parallax occlusion improves the quality of the texture offsetting in parallax mapping so that the higher parts of the height map appear to occlude the lower parts, giving a better illusion of height.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.804Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Displace Vertices",
      "label": "Displace Vertices",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "displaceverts - When Enable Height Map above is On, setting Displace  to On will enable true displacement mapping where the vertices of the geometry are displaced based on the Height Map texture and the parameters below.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.804Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Displace Scale",
      "label": "Displace Scale",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "displacescale - A multiplier for the displacement amount.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.804Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Displace Midpoint",
      "label": "Displace Midpoint",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "displacemid - Sets the middle point of displacement map as the start position for the displacement effect.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.804Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Emit Map",
      "label": "Emit Map",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "emitmap -  - Specifies a  texture that is multiplied with the Emit color parameter of the material. The object must have texture coordinates. The alpha of this map is ignored.\n\n  emitmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  emitmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  emitmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  emitmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.804Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "emitmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  emitmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  emitmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  emitmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  emitmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.805Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "emitmapextendu -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.805Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.805Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend V",
      "label": "Extend V",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "emitmapextendv -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.805Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.805Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend W",
      "label": "Extend W",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "emitmapextendw -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.805Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.805Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Filter",
      "label": "Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "emitmapfilter -  - \n\n nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.805Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Nearest",
      "label": "Nearest",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.805Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Anisotropic Filter",
      "label": "Anisotropic Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "emitmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.805Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.805Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Coord",
      "label": "Texture Coord",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "emitmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.806Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Layer 0 (uv[0-2])",
      "label": "Texture Layer 0 (uv[0-2])",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.806Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Coord Interpolation",
      "label": "Coord Interpolation",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "emitmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.806Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Perspective Correct",
      "label": "Perspective Correct",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.806Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Alpha Map",
      "label": "Alpha Map",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphamap -  - This map multiplies the alpha of the object. It uses the red channel of the map, other channels are ignored.\n\n  alphamapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  alphamapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  alphamapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  alphamapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.806Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphamapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  alphamapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  alphamapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  alphamapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  alphamapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.806Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphamapextendu -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend V",
      "label": "Extend V",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphamapextendv -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend W",
      "label": "Extend W",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphamapextendw -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Filter",
      "label": "Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphamapfilter -  - \n\n nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Nearest",
      "label": "Nearest",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Anisotropic Filter",
      "label": "Anisotropic Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphamapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Coord",
      "label": "Texture Coord",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphamapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Layer 0 (uv[0-2])",
      "label": "Texture Layer 0 (uv[0-2])",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Coord Interpolation",
      "label": "Coord Interpolation",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphamapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Perspective Correct",
      "label": "Perspective Correct",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Uniform Alpha",
      "label": "Uniform Alpha",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphamode - Turning this off will make the alpha change depending on orientation of each polygon's normal compared to the camera. Normals that are pointing at the camera will results in the polygon having an alpha of Alpha Front. Normals that are perpendicular to the camera (facing sideways/up/down) will have Alpha Side for their alpha.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Alpha Front",
      "label": "Alpha Front",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphafront - The opacity of the material. This parameter is multiplied by point alpha of the object (as will as any other alpha source).",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Alpha Side",
      "label": "Alpha Side",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphaside - This is used for non-uniform alpha. It is the alpha value polygons that are facing away from the camera will get.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Alpha Rolloff",
      "label": "Alpha Rolloff",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rolloff - Controls how the alpha changes from Alpha Front to Alpha Side.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.807Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Post-Mult Color by Alpha",
      "label": "Post-Mult Color by Alpha",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "postmultalpha - At the end of all of the calculations, the color (RGB) is multiplied by the calculated alpha. You can stop this from happening by turning off this checkbox.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.808Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Rim Light",
      "label": "Rim Light",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight - Sequence of rim light info\n\n\n\n  rimlight0enable - Enables this rim light.\n\n\n\n  rimlight0map -  - This map will multiple the calculated rim light color.\n\n  rimlight0mapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  rimlight0mapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  rimlight0mapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  rimlight0mapcoordinterp -  - \n\n perspectivecorrect - linear -\n\n\n\n  rimlight0color -  - The color of the rim light.\n\n rimlight0colorr - rimlight0colorg - rimlight0colorb -\n\n  rimlight0center - The center of the rim lights location, situated somewhere on a 360 degree circle.\n\n\n\n  rimlight0width - How far from the center the rim light extends.\n\n\n\n  rimlight0strength - Controls the brightness of the rim light.\n\n\n\n  rimlight0strengthramp - You can specify a horizontal ramp (it will sample the texture at v = 0.5), which controls the the rim lights strength.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.808Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Enable",
      "label": "Enable",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0enable - Enables this rim light.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.808Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Color Map",
      "label": "Color Map",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0map -  - This map will multiple the calculated rim light color.\n\n  rimlight0mapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  rimlight0mapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  rimlight0mapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  rimlight0mapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.808Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0mapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  rimlight0mapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  rimlight0mapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  rimlight0mapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  rimlight0mapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.809Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0mapextendu -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.809Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.809Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend V",
      "label": "Extend V",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0mapextendv -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.809Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.809Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend W",
      "label": "Extend W",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0mapextendw -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.809Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.809Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Filter",
      "label": "Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0mapfilter -  - \n\n nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.809Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Nearest",
      "label": "Nearest",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.809Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Anisotropic Filter",
      "label": "Anisotropic Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0mapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.809Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.809Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Coord",
      "label": "Texture Coord",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0mapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.809Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Layer 0 (uv[0-2])",
      "label": "Texture Layer 0 (uv[0-2])",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.809Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Coord Interpolation",
      "label": "Coord Interpolation",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0mapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Perspective Correct",
      "label": "Perspective Correct",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Color",
      "label": "Color",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0color -  - The color of the rim light.\n\n rimlight0colorr - rimlight0colorg - rimlight0colorb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Red",
      "label": "Red",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0colorr - rimlight0colorg - rimlight0colorb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Center",
      "label": "Center",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0center - The center of the rim lights location, situated somewhere on a 360 degree circle.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Width",
      "label": "Width",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0width - How far from the center the rim light extends.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Strength",
      "label": "Strength",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0strength - Controls the brightness of the rim light.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Strength Ramp",
      "label": "Strength Ramp",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rimlight0strengthramp - You can specify a horizontal ramp (it will sample the texture at v = 0.5), which controls the the rim lights strength.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Shadow Strength",
      "label": "Shadow Strength",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "shadowstrength - This parameter will control how much being in a shadow will change the color of the lighting. At 1 the object will take on the  parameter, at 0 it will behave as if it's not in a shadow, even if it is.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Shadow Color",
      "label": "Shadow Color",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "shadowcolor -  - The color that will be used in shadowed areas.\n\n shadowcolorr - shadowcolorg - shadowcolorb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Red",
      "label": "Red",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "shadowcolorr - shadowcolorg - shadowcolorb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Darkness Emit",
      "label": "Darkness Emit",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "darknessemit - The Phong  calculates the current brightness of color of the objects, after taking into account lights, rim lights, emission etc. It then uses this brightness (between 0-1) and fades in the . The darker the area, the more of the darkness emit color that will be applied.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Darkness Emit Color",
      "label": "Darkness Emit Color",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "darknessemitcolor -  - The color that is used for areas that are in darkness.\n\n darknessemitcolorr - darknessemitcolorg - darknessemitcolorb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Red",
      "label": "Red",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "darknessemitcolorr - darknessemitcolorg - darknessemitcolorb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Darkness Emit Map",
      "label": "Darkness Emit Map",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "darknessemitmap -  - This map multiplies the . This maps alpha is not used.\n\n  darknessemitmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  darknessemitmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  darknessemitmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  darknessemitmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.810Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "darknessemitmapextendu -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapextendv -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapextendw -  - \n\n hold - zero - repeat - mirror -\n\n  darknessemitmapfilter -  - \n\n nearest - linear - mipmaplinear -\n\n  darknessemitmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -\n\n  darknessemitmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -\n\n  darknessemitmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.811Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend U",
      "label": "Extend U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "darknessemitmapextendu -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.811Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.811Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend V",
      "label": "Extend V",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "darknessemitmapextendv -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.811Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.811Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Extend W",
      "label": "Extend W",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "darknessemitmapextendw -  - \n\n hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.811Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hold",
      "label": "Hold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hold - zero - repeat - mirror -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.811Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Filter",
      "label": "Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "darknessemitmapfilter -  - \n\n nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.811Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Nearest",
      "label": "Nearest",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "nearest - linear - mipmaplinear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.811Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Anisotropic Filter",
      "label": "Anisotropic Filter",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "darknessemitmapanisotropy -  - \n\n off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.811Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "off - 2x - 4x - 8x - 16x -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.811Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Coord",
      "label": "Texture Coord",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "darknessemitmapcoord -  - \n\n uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.811Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Layer 0 (uv[0-2])",
      "label": "Texture Layer 0 (uv[0-2])",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "uv0 - uv1 - uv2 - uv3 - uv4 - uv5 - uv6 - uv7 - screenspace -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.812Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Coord Interpolation",
      "label": "Coord Interpolation",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "darknessemitmapcoordinterp -  - \n\n perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.812Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Perspective Correct",
      "label": "Perspective Correct",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "perspectivecorrect - linear -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.812Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Write Camera Space Depth to Alpha",
      "label": "Write Camera Space Depth to Alpha",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "writecameradepthtoalpha - This cause the camera space depth of the pixel to be written to the alpha channel of the output . This value can be useful for post-processing effects, but ofcourse you will not have the result of all the alpha calculations if you turn this on (although they'll get used to multiply the output color, assuming  is enabled.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.812Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Apply Point Color",
      "label": "Apply Point Color",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "applypointcolor - Normally the color attribute (Cd[4]) coming from the  is used in the lighting calculation, you can turn off using the color attribute by un-checking this parameter.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.812Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Instance Texture",
      "label": "Instance Texture",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "instancetexture -  - When provider per-instance textures in the Geometry COMP, this parameter selects which map the instance texture will be applied as.\n\n basecolormap - normalmap - emitmap - alphamap - darknessemitmap - rimlight0map -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.812Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Base Color Map",
      "label": "Base Color Map",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "basecolormap - normalmap - emitmap - alphamap - darknessemitmap - rimlight0map -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.812Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Color Buffer",
      "label": "Color Buffer",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "color - Sequence of color buffers\n\n\n\n  color0output -  - Allows sending things like normals or emit color to different Render  color buffers in a single pass.\n\n zero - one - worldspaceposition - worldspacenormal - cameraspaceposition - cameraspacenormal - pointcolor - texturecoord0 - normalmap - emitmap - emitcolor - specularlevelmap - metallicmap - roughnessmap - ambientocclusionmap - finaldiffcolor - finalspeccolor - shadowstrength - normalizedshadowstrength -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.812Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "RGB",
      "label": "RGB",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "color0output -  - Allows sending things like normals or emit color to different Render  color buffers in a single pass.\n\n zero - one - worldspaceposition - worldspacenormal - cameraspaceposition - cameraspacenormal - pointcolor - texturecoord0 - normalmap - emitmap - emitcolor - specularlevelmap - metallicmap - roughnessmap - ambientocclusionmap - finaldiffcolor - finalspeccolor - shadowstrength - normalizedshadowstrength -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.812Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Zero",
      "label": "Zero",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "zero - one - worldspaceposition - worldspacenormal - cameraspaceposition - cameraspacenormal - pointcolor - texturecoord0 - normalmap - emitmap - emitcolor - specularlevelmap - metallicmap - roughnessmap - ambientocclusionmap - finaldiffcolor - finalspeccolor - shadowstrength - normalizedshadowstrength -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.812Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Deform",
      "label": "Deform",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "dodeform - Enables deforms on this material.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.812Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Get Bone Data:",
      "label": "Get Bone Data:",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "deformdata -  - Specifies where the deform bone data will be obtained.\n\n sop - mat - deformin -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "From a SOP",
      "label": "From a SOP",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "sop - mat - deformin -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "SOP with Capture Data",
      "label": "SOP with Capture Data",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "targetsop - Specifies the  that contains the deform capture attributes.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "pCaptPath Attrib",
      "label": "pCaptPath Attrib",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "pcaptpath - Specifies the name of the pCaptPath attribute to use. When your geometry has been put through a Bone Group SOP, the attributes will be split into names like pCaptPath0, pCaptPath1. You can only render 1 bone group at a time, so this should match the group you are rendering with this material.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "pCaptData Attrib",
      "label": "pCaptData Attrib",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "pcaptdata - Much like pCaptPath Attrib.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Skeleton Root Path",
      "label": "Skeleton Root Path",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "skelrootpath - Specifies the path to the  where the root of the skeleton is located.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "MAT",
      "label": "MAT",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "mat - When obtaining deform data from a  or a Deform In , this is where that  is specified.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Blending (Transparency)",
      "label": "Blending (Transparency)",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "blending - This toggle enables and disables blending. However see the wiki article Transparency.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Blend Operation",
      "label": "Blend Operation",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "blendop -  - \n\n add - subtract - revsubtract - minimum - maximum -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Add",
      "label": "Add",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "add - subtract - revsubtract - minimum - maximum -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Source Color *",
      "label": "Source Color *",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "srcblend -  - This value is multiplied by the color value of the pixel that is being written to the Color-Buffer (also know as the Source Color).\n\n zero - dcol - omdcol - sa - omsa - da - omda - sas - one - constantcol - omconstantcol - constanta - omconstanta -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Zero",
      "label": "Zero",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "zero - dcol - omdcol - sa - omsa - da - omda - sas - one - constantcol - omconstantcol - constanta - omconstanta -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Destination Color *",
      "label": "Destination Color *",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "destblend -  - This value is multiplied by the color value of the pixel currently in the Color-Buffer (also known as the Destination Color).\n\n one - scol - omscol - sa - omsa - da - omda - zero - dcol - omdcol - sas - constantcol - omconstantcol - constanta - omconstanta -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "One",
      "label": "One",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "one - scol - omscol - sa - omsa - da - omda - zero - dcol - omdcol - sas - constantcol - omconstantcol - constanta - omconstanta -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Separate Alpha Function",
      "label": "Separate Alpha Function",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "separatealphafunc - This toggle enables and disables separate blending options for the alpha values.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.813Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Alpha Blend Operation",
      "label": "Alpha Blend Operation",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "blendopa -  - \n\n add - subtract - revsubtract - minimum - maximum -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.814Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Add",
      "label": "Add",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "add - subtract - revsubtract - minimum - maximum -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.814Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Source Alpha *",
      "label": "Source Alpha *",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "srcblenda -  - This value is multiplied by the alpha value of the pixel that is being written to the Color-Buffer (also know as the Source Alpha).\n\n zero - dcol - omdcol - sa - omsa - da - omda - sas - one - constantcol - omconstantcol - constanta - omconstanta -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.814Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Zero",
      "label": "Zero",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "zero - dcol - omdcol - sa - omsa - da - omda - sas - one - constantcol - omconstantcol - constanta - omconstanta -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.814Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Destination Alpha *",
      "label": "Destination Alpha *",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "destblenda -  - This value is multiplied by the alpha value of the pixel currently in the Color-Buffer (also known as the Destination Alpha).\n\n one - scol - omscol - sa - omsa - da - omda - zero - dcol - omdcol - sas - constantcol - omconstantcol - constanta - omconstanta -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.814Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "One",
      "label": "One",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "one - scol - omscol - sa - omsa - da - omda - zero - dcol - omdcol - sas - constantcol - omconstantcol - constanta - omconstanta -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.814Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Blend Constant Color",
      "label": "Blend Constant Color",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "blendconstant -  - \n\n blendconstantr - blendconstantg - blendconstantb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.814Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Blend Constant Color",
      "label": "Blend Constant Color",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "blendconstantr - blendconstantg - blendconstantb -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.814Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Blend Constant Alpha",
      "label": "Blend Constant Alpha",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "blendconstanta -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.814Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Legacy Alpha Behavior",
      "label": "Legacy Alpha Behavior",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "legacyalphabehavior -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.814Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Post-Mult Color by Alpha",
      "label": "Post-Mult Color by Alpha",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "postmultalpha - Multiplies the color by alpha after all other operations have taken place.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.814Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Point Color Pre-Multiply",
      "label": "Point Color Pre-Multiply",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "pointcolorpremult -  - \n\n alreadypremult - premultinshader -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.820Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Already Pre-Multiplied By Alpha",
      "label": "Already Pre-Multiplied By Alpha",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alreadypremult - premultinshader -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.820Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Depth Test",
      "label": "Depth Test",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "depthtest - Enables and disables the Depth-Test. If the depth-test is disabled, depths values aren't written to the Depth-Buffer.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Depth Test Function",
      "label": "Depth Test Function",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "depthfunc -  - The depth value of the pixel being drawn is compared to the depth value currently in the depth-buffer using this function. If the test passes then the pixel is drawn to the -Buffer. If the test fails the pixel is discarded and no changes are made to the -Buffer.\n\n less - lessorequal - equal - greater - greaterorequal - notequal - always -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Less Than",
      "label": "Less Than",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "less - lessorequal - equal - greater - greaterorequal - notequal - always -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Write Depth Values",
      "label": "Write Depth Values",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "depthwriting - If Write Depth Values is on, pixels that pass the depth-test will write their depth value to the Depth-Buffer. If this isn't on then no changes will be made to the Depth-Buffer, regardless of if the pixels drawn pass or fail the depth-test.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Discard Pixels Based on Alpha",
      "label": "Discard Pixels Based on Alpha",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphatest - This enables or disables the pixel alpha test.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Keep Pixels with Alpha",
      "label": "Keep Pixels with Alpha",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphafunc -  - This menu works in conjunction with the Alpha Threshold parameter below in determining which pixels to keep based on their alpha value.\n\n less - lessorequal - greater - greaterorequal -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Less Than",
      "label": "Less Than",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "less - lessorequal - greater - greaterorequal -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Alpha Threshold",
      "label": "Alpha Threshold",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "alphathreshold - This value is what the pixel's alpha is compared to to determine if the pixel should be drawn. Pixels with alpha greater than the Alpha Threshold will be drawn. Pixels with alpha less than or equal to the Alpha Threshold will not be drawn.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Wire Frame",
      "label": "Wire Frame",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "wireframe -  - Enables and disables wire-frame rendering with the option of OpenGL Tesselated or Topology based wireframes.\n\n off - tesselated - topology -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "off - tesselated - topology -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Line Width",
      "label": "Line Width",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "wirewidth - This value is the width that the wires will be. This value is in pixels.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Cull Face",
      "label": "Cull Face",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "cullface -  - Selects which faces to render.\n\n userender - Use the render settings found in the Render or Render Pass . neither - Do not cull any faces, render everything. backfaces - Cull back faces, render front faces. frontfaces - Cull front faces, render back faces. bothfaces - Cull both faces, render nothing.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Use Render Setting",
      "label": "Use Render Setting",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "userender - Use the render settings found in the Render or Render Pass . neither - Do not cull any faces, render everything. backfaces - Cull back faces, render front faces. frontfaces - Cull front faces, render back faces. bothfaces - Cull both faces, render nothing.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Polygon Depth Offset",
      "label": "Polygon Depth Offset",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "polygonoffset - Turns on the polygon offset feature.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Offset Factor",
      "label": "Offset Factor",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "polygonoffsetfactor -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Offset Units",
      "label": "Offset Units",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "polygonoffsetunits -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:50.821Z",
      "rawData": {},
      "sourceElement": null
    }
  ],
  "parameterGroups": {},
  "codeExamples": [],
  "pythonExamples": [],
  "expressions": [],
  "commonInputs": [],
  "commonOutputs": [],
  "relatedOperators": [],
  "workflowPatterns": [],
  "images": [],
  "videos": [],
  "assets": [],
  "keywords": [
    "pbr",
    "creates",
    "material",
    "using",
    "physically",
    "based",
    "rendering",
    "(pbr)",
    "lighting",
    "model.",
    "support"
  ],
  "tags": [
    "MAT",
    "TouchDesigner",
    "PBR"
  ],
  "searchWeight": 1,
  "contentHash": "",
  "processingDate": "2025-08-08T00:37:50.822Z",
  "processingVersion": "1.0.0",
  "isValid": true,
  "validationErrors": []
}