Hide the invalid parameters in the EnhancedPBR in the Material Editor (#6298)

* Hide the invalid parameters in the EnhancedPBR in the Material Editor

Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>

* Fixed headers

Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>
This commit is contained in:
tjmgd
2021-12-20 20:09:00 +00:00
committed by GitHub
parent bb14675db7
commit 7cce6dde41
6 changed files with 98 additions and 0 deletions
@@ -1652,6 +1652,12 @@
"file": "EnhancedPBR_SubsurfaceState.lua"
}
},
{
"type": "Lua",
"args": {
"file": "EnhancedPBR_Anisotropy.lua"
}
},
{
"type": "Lua",
"args": {
@@ -0,0 +1,41 @@
--------------------------------------------------------------------------------------
--
-- Copyright (c) Contributors to the Open 3D Engine Project.
-- For complete copyright and license terms please see the LICENSE at the root of this distribution.
--
-- SPDX-License-Identifier: Apache-2.0 OR MIT
--
--
--
----------------------------------------------------------------------------------------------------
function GetMaterialPropertyDependencies()
return {
"anisotropy.enableAnisotropy"
, "anisotropy.factor"
, "anisotropy.anisotropyAngle"
}
end
function GetShaderOptionDependencies()
return {"o_enableAnisotropy"}
end
function Process(context)
local enableAnisotropy = context:GetMaterialPropertyValue_bool("anisotropy.enableAnisotropy")
end
function ProcessEditor(context)
local enableAnisotropy = context:GetMaterialPropertyValue_bool("anisotropy.enableAnisotropy")
local visibility
if(enableAnisotropy) then
visibility = MaterialPropertyVisibility_Enabled
else
visibility = MaterialPropertyVisibility_Hidden
end
context:SetMaterialPropertyVisibility("anisotropy.factor", visibility)
context:SetMaterialPropertyVisibility("anisotropy.anisotropyAngle", visibility)
end
@@ -1084,6 +1084,12 @@
"file": "Skin_WrinkleMaps.lua"
}
},
{
"type": "Lua",
"args": {
"file": "Skin_SpecularF0.lua"
}
},
{
"type": "Lua",
"args": {
@@ -0,0 +1,30 @@
--------------------------------------------------------------------------------------
--
-- Copyright (c) Contributors to the Open 3D Engine Project.
-- For complete copyright and license terms please see the LICENSE at the root of this distribution.
--
-- SPDX-License-Identifier: Apache-2.0 OR MIT
--
--
--
----------------------------------------------------------------------------------------------------
function GetMaterialPropertyDependencies()
return {
"specularF0.enableMultiScatterCompensation"
}
end
function GetShaderOptionDependencies()
return {
"o_specularF0_enableMultiScatterCompensation"
}
end
function Process(context)
local enableMultiScatterCompensation = context:GetMaterialPropertyValue_bool("specularF0.enableMultiScatterCompensation")
end
function ProcessEditor(context)
context:SetMaterialPropertyVisibility("specularF0.enableMultiScatterCompensation", MaterialPropertyVisibility_Hidden)
end
@@ -58,6 +58,15 @@ function UpdateTextureDependentPropertyVisibility(context, textureMapPropertyNam
end
end
function UpdateNormalStrengthPropertyVisibility(context, textureMapPropertyName, useTexturePropertyName)
local textureMap = context:GetMaterialPropertyValue_Image(textureMapPropertyName)
local useTexture = context:GetMaterialPropertyValue_bool(useTexturePropertyName)
if(textureMap == nil) or (not useTexture) then
context:SetMaterialPropertyVisibility("clearCoat.normalStrength", MaterialPropertyVisibility_Hidden)
end
end
function ProcessEditor(context)
local enable = context:GetMaterialPropertyValue_bool("clearCoat.enable")
@@ -79,10 +88,12 @@ function ProcessEditor(context)
context:SetMaterialPropertyVisibility("clearCoat.normalMap", mainVisibility)
context:SetMaterialPropertyVisibility("clearCoat.useNormalMap", mainVisibility)
context:SetMaterialPropertyVisibility("clearCoat.normalMapUv", mainVisibility)
context:SetMaterialPropertyVisibility("clearCoat.normalStrength", mainVisibility)
if(enable) then
UpdateTextureDependentPropertyVisibility(context, "clearCoat.influenceMap", "clearCoat.useInfluenceMap", "clearCoat.influenceMapUv")
UpdateTextureDependentPropertyVisibility(context, "clearCoat.roughnessMap", "clearCoat.useRoughnessMap", "clearCoat.roughnessMapUv")
UpdateTextureDependentPropertyVisibility(context, "clearCoat.normalMap", "clearCoat.useNormalMap", "clearCoat.normalMapUv")
UpdateNormalStrengthPropertyVisibility(context, "clearCoat.normalMap", "clearCoat.useNormalMap")
end
end
@@ -91,6 +91,10 @@ function ProcessEditor(context)
if(mainVisibility == MaterialPropertyVisibility_Enabled) then
local alphaSource = context:GetMaterialPropertyValue_enum("opacity.alphaSource")
if (opacityMode == OpacityMode_Cutout and alphaSource == AlphaSource_None) then
context:SetMaterialPropertyVisibility("opacity.factor", MaterialPropertyVisibility_Hidden)
end
if(alphaSource ~= AlphaSource_Split) then
context:SetMaterialPropertyVisibility("opacity.textureMap", MaterialPropertyVisibility_Hidden)
context:SetMaterialPropertyVisibility("opacity.textureMapUv", MaterialPropertyVisibility_Hidden)