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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user