暫無描述
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.

GrainConverter.cs 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #if PPV2_EXISTS
  2. using System;
  3. using BIRPToURPConversionExtensions;
  4. using UnityEditor;
  5. using UnityEngine.Rendering;
  6. using BIRPRendering = UnityEngine.Rendering.PostProcessing;
  7. using URPRendering = UnityEngine.Rendering.Universal;
  8. namespace UnityEditor.Rendering.Universal
  9. {
  10. public class GrainConverter : PostProcessEffectSettingsConverter
  11. {
  12. protected override Type OldSettingsType { get; } = typeof(BIRPRendering.Grain);
  13. protected override void ConvertToTarget(BIRPRendering.PostProcessEffectSettings oldSettings,
  14. VolumeProfile targetProfile)
  15. {
  16. var oldGrain = oldSettings as BIRPRendering.Grain;
  17. var newVolumeComponent = AddVolumeComponentToAsset<URPRendering.FilmGrain>(targetProfile);
  18. newVolumeComponent.active = oldGrain.active;
  19. oldGrain.intensity.Convert(newVolumeComponent.intensity, enabledState: oldGrain.enabled);
  20. oldGrain.lumContrib.Convert(newVolumeComponent.response);
  21. newVolumeComponent.type.overrideState = oldGrain.size.overrideState;
  22. if (oldGrain.size.value > 1.5f)
  23. newVolumeComponent.type.value = URPRendering.FilmGrainLookup.Medium3;
  24. else if (oldGrain.size.value > 1.25f)
  25. newVolumeComponent.type.value = URPRendering.FilmGrainLookup.Medium2;
  26. else if (oldGrain.size.value > 0.7f)
  27. newVolumeComponent.type.value = URPRendering.FilmGrainLookup.Thin2;
  28. else
  29. newVolumeComponent.type.value = URPRendering.FilmGrainLookup.Thin1;
  30. // TODO: No clear conversions for these?
  31. // oldGrain.colored
  32. }
  33. }
  34. }
  35. #endif