Added HairBlending shader pass;
Added HairBlendingSetting in UTSRenderPassSetting; Added MaterialType to UTS; Added MaterialFeature scope to UTS material editor; Merged HairBlendingPass and HairShadowPass into UTSPass; Fixed the bug that character box light can not update rotation correctly according to bound light source;
This commit is contained in:
@@ -11,7 +11,7 @@ namespace Misaki.HdrpToon
|
||||
private static UTSRenderPassSettings _renderSetting;
|
||||
|
||||
private static UTSPass _utsPass;
|
||||
private static UTSHairShadowPass _hairShadowPass;
|
||||
//private static UTSHairShadowPass _hairShadowPass;
|
||||
private static UTSOutlinePass _outlinePass;
|
||||
|
||||
static UTSRenderPassRegistrar() => RegisterCustomPasses();
|
||||
@@ -32,22 +32,21 @@ namespace Misaki.HdrpToon
|
||||
targetDepthBuffer = CustomPass.TargetBuffer.None,
|
||||
};
|
||||
|
||||
_hairShadowPass = new()
|
||||
{
|
||||
name = "UTS Hair Shadow Map",
|
||||
targetColorBuffer = CustomPass.TargetBuffer.None,
|
||||
targetDepthBuffer = CustomPass.TargetBuffer.None,
|
||||
};
|
||||
//_hairShadowPass = new()
|
||||
//{
|
||||
// name = "UTS Hair Shadow Map",
|
||||
// targetColorBuffer = CustomPass.TargetBuffer.None,
|
||||
// targetDepthBuffer = CustomPass.TargetBuffer.None,
|
||||
//};
|
||||
|
||||
_outlinePass = new()
|
||||
{
|
||||
name = "UTS Outline",
|
||||
targetColorBuffer = CustomPass.TargetBuffer.None,
|
||||
targetDepthBuffer = CustomPass.TargetBuffer.None,
|
||||
targetColorBuffer = CustomPass.TargetBuffer.Camera,
|
||||
targetDepthBuffer = CustomPass.TargetBuffer.Camera,
|
||||
};
|
||||
|
||||
CustomPassVolume.RegisterUniqueGlobalCustomPass(CustomPassInjectionPoint.BeforeRendering, _utsPass);
|
||||
CustomPassVolume.RegisterUniqueGlobalCustomPass(CustomPassInjectionPoint.AfterOpaqueDepthAndNormal, _hairShadowPass);
|
||||
CustomPassVolume.RegisterUniqueGlobalCustomPass(CustomPassInjectionPoint.BeforePostProcess, _outlinePass);
|
||||
|
||||
NotifyRendererSettingChanged();
|
||||
@@ -56,23 +55,21 @@ namespace Misaki.HdrpToon
|
||||
public static void UnregisterGlobalCustomPass()
|
||||
{
|
||||
CustomPassVolume.UnregisterGlobalCustomPass(_utsPass);
|
||||
CustomPassVolume.UnregisterGlobalCustomPass(_hairShadowPass);
|
||||
CustomPassVolume.UnregisterGlobalCustomPass(_outlinePass);
|
||||
}
|
||||
|
||||
public static void NotifyRendererSettingChanged()
|
||||
{
|
||||
if (_hairShadowPass == null || _outlinePass == null)
|
||||
if (_utsPass == null || _outlinePass == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_hairShadowPass.enabled = _renderSetting.hairShadowSetting.enable;
|
||||
_hairShadowPass.CurrentShadowQuality = _renderSetting.hairShadowSetting.shadowQuality;
|
||||
if (!_renderSetting.hairShadowSetting.enable)
|
||||
{
|
||||
_hairShadowPass.Release();
|
||||
}
|
||||
_utsPass.EnableHairShadow = _renderSetting.hairShadowSetting.enable;
|
||||
_utsPass.HairShadowQuality = _renderSetting.hairShadowSetting.quality;
|
||||
|
||||
_utsPass.EnableHairBlending = _renderSetting.hairBlendingSetting.enable;
|
||||
_utsPass.HairBlendingQuality = _renderSetting.hairBlendingSetting.quality;
|
||||
|
||||
_outlinePass.enabled = _renderSetting.outlineSetting.enable;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user