Nenhuma descrição
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

DepthOfFieldConverter.cs 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #if PPV2_EXISTS
  2. using System;
  3. using BIRPToURPConversionExtensions;
  4. using UnityEngine.Rendering;
  5. using BIRPRendering = UnityEngine.Rendering.PostProcessing;
  6. using URPRendering = UnityEngine.Rendering.Universal;
  7. namespace UnityEditor.Rendering.Universal
  8. {
  9. public class DepthOfFieldConverter : PostProcessEffectSettingsConverter
  10. {
  11. protected override Type OldSettingsType { get; } = typeof(BIRPRendering.DepthOfField);
  12. protected override void ConvertToTarget(BIRPRendering.PostProcessEffectSettings oldSettings,
  13. VolumeProfile targetProfile)
  14. {
  15. var oldDepthOfField = oldSettings as BIRPRendering.DepthOfField;
  16. var newVolumeComponent = AddVolumeComponentToAsset<URPRendering.DepthOfField>(targetProfile);
  17. newVolumeComponent.active = oldDepthOfField.active;
  18. // Always use Bokeh mode, because it has parity with the PPv2 approach
  19. newVolumeComponent.mode.value = oldDepthOfField.enabled
  20. ? URPRendering.DepthOfFieldMode.Bokeh
  21. : URPRendering.DepthOfFieldMode.Off;
  22. newVolumeComponent.mode.overrideState = true;
  23. oldDepthOfField.focusDistance.Convert(newVolumeComponent.focusDistance, enabledState: oldSettings.enabled);
  24. oldDepthOfField.focalLength.Convert(newVolumeComponent.focalLength, enabledState: oldSettings.enabled);
  25. oldDepthOfField.aperture.Convert(newVolumeComponent.aperture, enabledState: oldSettings.enabled);
  26. // TODO: No clear conversions for these?
  27. // oldDepthOfField.kernelSize
  28. }
  29. }
  30. }
  31. #endif