This commit is contained in:
wsh
2025-06-11 16:50:56 +09:00
parent fc1be3b301
commit 99a685a30f
631 changed files with 102634 additions and 3158 deletions

View File

@@ -7,35 +7,36 @@ using UnityEngine.Experimental.Rendering;
namespace TriLibCore.HDRP.Mappers
{
/// <summary>Represents a Material Mapper that converts TriLib Materials into Unity HDRP Materials.</summary>
/// <summary>
/// Converts TriLib virtual materials into Unity High Definition Render Pipeline (HDRP) materials
/// by processing various texture maps and material properties through an asynchronous coroutine pipeline.
/// </summary>
[Serializable]
[CreateAssetMenu(menuName = "TriLib/Mappers/Material/HDRP Material Mapper", fileName = "HDRPMaterialMapper")]
public class HDRPMaterialMapper : MaterialMapper
{
private bool _isCompatible;
public bool ForceShaderVariantCollection;
public override bool UseShaderVariantCollection => ForceShaderVariantCollection;
#region Standard
public override Material MaterialPreset => Resources.Load<Material>("Materials/TriLib/HDRP/TriLibHDRP");
public override Material MaterialPreset => Resources.Load<Material>("Materials/HDRP/Standard/TriLibHDRP");
public override Material CutoutMaterialPreset => Resources.Load<Material>("Materials/TriLib/HDRP/TriLibHDRPAlphaCutout");
public override Material CutoutMaterialPreset => Resources.Load<Material>("Materials/HDRP/Standard/TriLibHDRPAlphaCutout");
public override Material TransparentMaterialPreset => Resources.Load<Material>("Materials/TriLib/HDRP/TriLibHDRPAlpha");
public override Material TransparentMaterialPreset => Resources.Load<Material>("Materials/HDRP/Standard/TriLibHDRPAlpha");
public override Material TransparentComposeMaterialPreset => Resources.Load<Material>("Materials/TriLib/HDRP/TriLibHDRPAlpha");
public override Material TransparentComposeMaterialPreset => Resources.Load<Material>("Materials/HDRP/Standard/TriLibHDRPAlpha");
#endregion
public override Material LoadingMaterial => Resources.Load<Material>("Materials/TriLib/HDRP/TriLibHDRPLoading");
public override Material LoadingMaterial => Resources.Load<Material>("Materials/HDRP/TriLibHDRPLoading");
public override bool ExtractMetallicAndSmoothness => false;
public override bool UsesCoroutines => true;
public override bool IsCompatible(MaterialMapperContext materialMapperContext)
{
return _isCompatible;
}
private void Awake()
{
_isCompatible = TriLibSettings.GetBool("HDRPMaterialMapper");
return TriLibSettings.GetBool("HDRPMaterialMapper", false);
}
public override IEnumerable MapCoroutine(MaterialMapperContext materialMapperContext)
@@ -90,7 +91,6 @@ namespace TriLibCore.HDRP.Mappers
{
yield return item;
}
BuildMaterial(materialMapperContext);
foreach (var item in BuildHDRPMask(materialMapperContext))
{
@@ -120,7 +120,7 @@ namespace TriLibCore.HDRP.Mappers
private IEnumerable CheckGlossinessValue(MaterialMapperContext materialMapperContext)
{
var value = materialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.Glossiness, materialMapperContext);
var value = materialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.GlossinessOrRoughness, materialMapperContext);
materialMapperContext.VirtualMaterial.SetProperty("_Smoothness", value);
yield break;
}

View File

@@ -9,3 +9,10 @@ MonoImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 157548
packageName: TriLib 2 - Model Loading Package
packageVersion: 2.5.5
assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPMaterialMapper.cs
uploadId: 752923

View File

@@ -12,7 +12,6 @@ namespace TriLibCore.HDRP
public Texture MetallicTexture;
public Texture OcclusionTexture;
public Texture DetailMaskTexture;
[Obsolete("Not used anymore.")]
public Texture SmoothnessTexture;
}
}

View File

@@ -9,3 +9,10 @@ MonoImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 157548
packageName: TriLib 2 - Model Loading Package
packageVersion: 2.5.5
assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPVirtualMaterial.cs
uploadId: 752923

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 804833547f2ca6a4b9a9948fa9227104
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fd73fa0f26c88164584e4b22dd5b6083
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,17 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 09e91867e63346c408b6a9e5c98cd665, type: 3}
m_Name: HDRPMaterialMapper
m_EditorClassIdentifier:
CheckingOrder: 0
DisableAlpha: 0
ForceShaderVariantCollection: 0

View File

@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: d05b00696a114b342806419be3cb4e55
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 157548
packageName: TriLib 2 - Model Loading Package
packageVersion: 2.5.5
assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Mappers/HDRPMaterialMapper.asset
uploadId: 752923

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e47031ff7fd410449952c98efc677ab0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,58 @@
Shader "Hidden/TriLib/BuildHDRPMask"
{
Properties
{
_MetallicTex("_MetallicTex", 2D) = "black" {}
_OcclusionTex("_OcclusionTex", 2D) = "white" {}
_DetailMaskTex("_DetailMaskTex", 2D) = "black" {}
_SmoothnessTex("_SmoothnessTex", 2D) = "gray" {}
}
SubShader
{
// No culling or depth
Cull Off ZWrite Off ZTest Always
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
return o;
}
sampler2D _MetallicTex;
sampler2D _OcclusionTex;
sampler2D _DetailMaskTex;
fixed4 frag (v2f i) : SV_Target
{
fixed metallic = tex2D(_MetallicTex, i.uv).x;
fixed occlusion = tex2D(_OcclusionTex, i.uv).x;
fixed detail = tex2D(_DetailMaskTex, i.uv).x;
fixed smoothness = tex2D(_MetallicTex, i.uv).w;
return fixed4(metallic, occlusion, detail, smoothness);
}
ENDCG
}
}
}

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: a58f867ca8ebbb748955274e7cdbf8b3
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 157548
packageName: TriLib 2 - Model Loading Package
packageVersion: 2.5.5
assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Shaders/BuildHDRPMask.shader
uploadId: 752923