Files
beyond/Assets/ThirdParty/Lux URP Essentials/Scripts/Procedural Texturing/ApplyProceduralTextureProperties.cs
2024-11-20 15:21:28 +01:00

54 lines
2.9 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ApplyProceduralTextureProperties : MonoBehaviour
{
[Space(5)]
public Material m_Material;
[Space(5)]
public ProceduralTexture2D proceduralTexAssetAlbedo;
public ProceduralTexture2D proceduralTexAssetNormal;
public ProceduralTexture2D proceduralTexAssetMask;
public void SyncMatWithProceduralTextureAsset() {
if(m_Material == null) {
return;
}
if(proceduralTexAssetAlbedo != null) {
m_Material.SetTexture ("_Tinput_Albedo", proceduralTexAssetAlbedo.Tinput);
m_Material.SetTexture ("_invT_Albedo", proceduralTexAssetAlbedo.invT);
m_Material.SetVector ("_InputSize_Albedo", new Vector3(proceduralTexAssetAlbedo.Tinput.width, proceduralTexAssetAlbedo.Tinput.height, 1.0f / proceduralTexAssetAlbedo.invT.height));
m_Material.SetVector ("_CompressionScalars_Albedo",proceduralTexAssetAlbedo.compressionScalers);
m_Material.SetVector ("_ColorSpaceOrigin_Albedo",proceduralTexAssetAlbedo.colorSpaceOrigin);
m_Material.SetVector ("_ColorSpaceVector1_Albedo",proceduralTexAssetAlbedo.colorSpaceVector1);
m_Material.SetVector ("_ColorSpaceVector2_Albedo",proceduralTexAssetAlbedo.colorSpaceVector2);
m_Material.SetVector ("_ColorSpaceVector3_Albedo",proceduralTexAssetAlbedo.colorSpaceVector3);
}
if(proceduralTexAssetNormal != null) {
m_Material.SetTexture ("_Tinput_Normal", proceduralTexAssetNormal.Tinput);
m_Material.SetTexture ("_invT_Normal", proceduralTexAssetNormal.invT);
m_Material.SetVector ("_InputSize_Normal", new Vector3(proceduralTexAssetNormal.Tinput.width, proceduralTexAssetNormal.Tinput.height, 1.0f / proceduralTexAssetNormal.invT.height));
m_Material.SetVector ("_CompressionScalars_Normal",proceduralTexAssetNormal.compressionScalers);
}
if(proceduralTexAssetMask != null) {
m_Material.SetTexture ("_Tinput_Mask", proceduralTexAssetMask.Tinput);
m_Material.SetTexture ("_invT_Mask", proceduralTexAssetMask.invT);
m_Material.SetVector ("_InputSize_Mask", new Vector3(proceduralTexAssetMask.Tinput.width, proceduralTexAssetMask.Tinput.height, 1.0f / proceduralTexAssetMask.invT.height));
m_Material.SetVector ("_CompressionScalars_Mask",proceduralTexAssetMask.compressionScalers);
m_Material.SetVector ("_ColorSpaceOrigin_Mask",proceduralTexAssetMask.colorSpaceOrigin);
m_Material.SetVector ("_ColorSpaceVector1_Mask",proceduralTexAssetMask.colorSpaceVector1);
m_Material.SetVector ("_ColorSpaceVector2_Mask",proceduralTexAssetMask.colorSpaceVector2);
m_Material.SetVector ("_ColorSpaceVector3_Mask",proceduralTexAssetMask.colorSpaceVector3);
}
}
}