Açıklama Yok
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

UniversalSpeedTree9MaterialUpgrader.cs 1.3KB

123456789101112131415161718192021222324252627282930313233343536
  1. using UnityEngine;
  2. using UnityEngine.Rendering;
  3. using UnityEditor.SpeedTree.Importer;
  4. using UnityEngine.Rendering.Universal;
  5. namespace UnityEditor.Rendering.Universal
  6. {
  7. class UniversalSpeedTree9Upgrader : SpeedTree9MaterialUpgrader
  8. {
  9. const int kMaterialUpgraderVersion = 1;
  10. [MaterialSettingsCallbackAttribute(kMaterialUpgraderVersion)]
  11. private static void OnAssetPostProcessDelegate(GameObject mainObject)
  12. {
  13. if (IsCurrentPipelineURP())
  14. {
  15. SpeedTree9MaterialUpgrader.PostprocessSpeedTree9Materials(mainObject, UniversalSpeedTree9MaterialFinalizer);
  16. }
  17. }
  18. static private bool IsCurrentPipelineURP()
  19. {
  20. return GraphicsSettings.currentRenderPipeline is UniversalRenderPipelineAsset;
  21. }
  22. static public void UniversalSpeedTree9MaterialFinalizer(Material mat)
  23. {
  24. if (mat.HasFloat("_TwoSided"))
  25. mat.SetFloat(Property.CullMode, mat.GetFloat("_TwoSided"));
  26. Unity.Rendering.Universal.ShaderUtils.UpdateMaterial(mat,
  27. Unity.Rendering.Universal.ShaderUtils.MaterialUpdateType.CreatedNewMaterial,
  28. Unity.Rendering.Universal.ShaderUtils.ShaderID.SpeedTree9);
  29. }
  30. }
  31. }