ApplyProceduralTextureProperties.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class ApplyProceduralTextureProperties : MonoBehaviour
  5. {
  6. [Space(5)]
  7. public Material m_Material;
  8. [Space(5)]
  9. public ProceduralTexture2D proceduralTexAssetAlbedo;
  10. public ProceduralTexture2D proceduralTexAssetNormal;
  11. public ProceduralTexture2D proceduralTexAssetMask;
  12. public void SyncMatWithProceduralTextureAsset() {
  13. if(m_Material == null) {
  14. return;
  15. }
  16. if(proceduralTexAssetAlbedo != null) {
  17. m_Material.SetTexture ("_Tinput_Albedo", proceduralTexAssetAlbedo.Tinput);
  18. m_Material.SetTexture ("_invT_Albedo", proceduralTexAssetAlbedo.invT);
  19. m_Material.SetVector ("_InputSize_Albedo", new Vector3(proceduralTexAssetAlbedo.Tinput.width, proceduralTexAssetAlbedo.Tinput.height, 1.0f / proceduralTexAssetAlbedo.invT.height));
  20. m_Material.SetVector ("_CompressionScalars_Albedo",proceduralTexAssetAlbedo.compressionScalers);
  21. m_Material.SetVector ("_ColorSpaceOrigin_Albedo",proceduralTexAssetAlbedo.colorSpaceOrigin);
  22. m_Material.SetVector ("_ColorSpaceVector1_Albedo",proceduralTexAssetAlbedo.colorSpaceVector1);
  23. m_Material.SetVector ("_ColorSpaceVector2_Albedo",proceduralTexAssetAlbedo.colorSpaceVector2);
  24. m_Material.SetVector ("_ColorSpaceVector3_Albedo",proceduralTexAssetAlbedo.colorSpaceVector3);
  25. }
  26. if(proceduralTexAssetNormal != null) {
  27. m_Material.SetTexture ("_Tinput_Normal", proceduralTexAssetNormal.Tinput);
  28. m_Material.SetTexture ("_invT_Normal", proceduralTexAssetNormal.invT);
  29. m_Material.SetVector ("_InputSize_Normal", new Vector3(proceduralTexAssetNormal.Tinput.width, proceduralTexAssetNormal.Tinput.height, 1.0f / proceduralTexAssetNormal.invT.height));
  30. m_Material.SetVector ("_CompressionScalars_Normal",proceduralTexAssetNormal.compressionScalers);
  31. }
  32. if(proceduralTexAssetMask != null) {
  33. m_Material.SetTexture ("_Tinput_Mask", proceduralTexAssetMask.Tinput);
  34. m_Material.SetTexture ("_invT_Mask", proceduralTexAssetMask.invT);
  35. m_Material.SetVector ("_InputSize_Mask", new Vector3(proceduralTexAssetMask.Tinput.width, proceduralTexAssetMask.Tinput.height, 1.0f / proceduralTexAssetMask.invT.height));
  36. m_Material.SetVector ("_CompressionScalars_Mask",proceduralTexAssetMask.compressionScalers);
  37. m_Material.SetVector ("_ColorSpaceOrigin_Mask",proceduralTexAssetMask.colorSpaceOrigin);
  38. m_Material.SetVector ("_ColorSpaceVector1_Mask",proceduralTexAssetMask.colorSpaceVector1);
  39. m_Material.SetVector ("_ColorSpaceVector2_Mask",proceduralTexAssetMask.colorSpaceVector2);
  40. m_Material.SetVector ("_ColorSpaceVector3_Mask",proceduralTexAssetMask.colorSpaceVector3);
  41. }
  42. }
  43. }