Keine Beschreibung
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

UniversalSpeedTree8MaterialUpgrader.cs 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. using UnityEngine.Rendering.Universal;
  3. using UnityEngine;
  4. using UnityEngine.Rendering;
  5. namespace UnityEditor.Rendering.Universal
  6. {
  7. class UniversalSpeedTree8Upgrader : SpeedTree8MaterialUpgrader
  8. {
  9. internal UniversalSpeedTree8Upgrader(string oldShaderName)
  10. : base(oldShaderName, ShaderUtils.GetShaderPath(ShaderPathID.SpeedTree8), UniversalSpeedTree8MaterialFinalizer)
  11. {
  12. RenameFloat("_TwoSided", Property.CullMode);
  13. }
  14. static public void UniversalSpeedTree8MaterialFinalizer(Material mat)
  15. {
  16. SpeedTree8MaterialFinalizer(mat);
  17. if (mat.HasFloat("_TwoSided"))
  18. mat.SetFloat(Property.CullMode, mat.GetFloat("_TwoSided"));
  19. Unity.Rendering.Universal.ShaderUtils.UpdateMaterial(mat,
  20. Unity.Rendering.Universal.ShaderUtils.MaterialUpdateType.CreatedNewMaterial,
  21. Unity.Rendering.Universal.ShaderUtils.ShaderID.SpeedTree8);
  22. }
  23. }
  24. class UniversalSpeedTree8PostProcessor : AssetPostprocessor
  25. {
  26. void OnPostprocessSpeedTree(GameObject speedTree)
  27. {
  28. context.DependsOnCustomDependency("srp/default-pipeline");
  29. if (RenderPipelineManager.currentPipeline is UniversalRenderPipeline)
  30. {
  31. SpeedTreeImporter stImporter = assetImporter as SpeedTreeImporter;
  32. if(stImporter.isV8)
  33. {
  34. SpeedTree8MaterialUpgrader.PostprocessSpeedTree8Materials(speedTree, stImporter, UniversalSpeedTree8Upgrader.UniversalSpeedTree8MaterialFinalizer);
  35. }
  36. }
  37. }
  38. }
  39. }