第一回[Unity2022.3.22f1]ポストプロセスファイル解説
unityのポストプロセスシステムの改造をするにあたって、C#のファイルとシェーダーのファイルだけ解説できる限りやろうと思います。
これをやろうと思った理由は色収差の改造から。noteに解説があったのだけれどもバージョンが違うため、内容がかなり変わってしまって使えませんでした。そこで互換性のある部分を探し、色収差の改造を完成させることが目的です。よろしくお願いいたします。
unityのパッケージからポストプロセスをインストール後、
unityプロジェクト内のLibrary→PackageCache内にあるcom.unity.postprocessing@3.4.0
フォルダをPackagesフォルダにコピーすることによってカスタマイズが可能になります。
第一回目はファイルの中身だけ。C#とシェーダーの解説だけ行います。まずは色収差の要素を探し、項目を付け加えるのが目的です。
現在可能性があるのがChromaticAberration.csとUber.shader。
記述がかなり変わっているため別のファイルも探さなきゃならないかはまだ不明。
├─PostProcessing
│ ├─Editor
│ │ │ BaseEditor.cs
│ │ │ EffectListEditor.cs
│ │ │ PostProcessDebugEditor.cs
│ │ │ PostProcessEffectBaseEditor.cs
│ │ │ PostProcessEffectEditor.cs
│ │ │ PostProcessLayerEditor.cs
│ │ │ PostProcessProfileEditor.cs
│ │ │ PostProcessVolumeEditor.cs
│ │ ├─Attributes
│ │ │ DecoratorAttribute.cs
│ │ │ PostProcessEditorAttribute.cs
│ │ │
│ │ ├─Decorators
│ │ │ AttributeDecorator.cs
│ │ │ Decorators.cs
│ │ │ TrackballDecorator.cs
│ │ │
│ │ ├─Effects
│ │ │ AmbientOcclusionEditor.cs
│ │ │ AutoExposureEditor.cs
│ │ │ BloomEditor.cs
│ │ │ ChromaticAberrationEditor.cs
│ │ │ ColorGradingEditor.cs
│ │ │ DefaultPostProcessEffectEditor.cs
│ │ │ DepthOfFieldEditor.cs
│ │ │ LensDistortionEditor.cs
│ │ │ MotionBlurEditor.cs
│ │ │ ScreenSpaceReflectionsEditor.cs
│ │ │ VignetteEditor.cs
│ │ │
│ │ ├─Tools
│ │ │ CubeLutAssetFactory.cs
│ │ │ CubeLutAssetImporter.cs
│ │ │ DefineSetter.cs
│ │ │ ProfileFactory.cs
│ │ │ ResourceAssetFactory.cs
│ │ │ VolumeFactory.cs
│ │ │
│ │ └─Utils
│ │ CurveEditor.cs
│ │ EditorUtilities.cs
│ │ GlobalSettings.cs
│ │ SerializedParameterOverride.cs
│ │ Styling.cs
│ │
│ ├─Gizmos
│ │
│ ├─Runtime
│ │ │ ParameterOverride.cs
│ │ │ PostProcessBundle.cs
│ │ │ PostProcessDebug.cs
│ │ │ PostProcessDebugLayer.cs
│ │ │ PostProcessEffectRenderer.cs
│ │ │ PostProcessEffectSettings.cs
│ │ │ PostProcessEvent.cs
│ │ │ PostProcessLayer.cs
│ │ │ PostProcessManager.cs
│ │ │ PostProcessProfile.cs
│ │ │ PostProcessRenderContext.cs
│ │ │ PostProcessResources.cs
│ │ │ PostProcessVolume.cs
│ │ │
│ │ ├─Attributes
│ │ │ DisplayNameAttribute.cs
│ │ │ MaxAttribute.cs
│ │ │ MinAttribute.cs
│ │ │ MinMaxAttribute.cs
│ │ │ PostProcessAttribute.cs
│ │ │ TrackballAttribute.cs
│ │ │
│ │ ├─Effects
│ │ │ AmbientOcclusion.cs
│ │ │ AutoExposure.cs
│ │ │ Bloom.cs
│ │ │ ChromaticAberration.cs
│ │ │ ColorGrading.cs
│ │ │ DepthOfField.cs
│ │ │ Dithering.cs
│ │ │ FastApproximateAntialiasing.cs
│ │ │ Fog.cs
│ │ │ Grain.cs
│ │ │ LensDistortion.cs
│ │ │ MotionBlur.cs
│ │ │ MultiScaleVO.cs
│ │ │ ScalableAO.cs
│ │ │ ScreenSpaceReflections.cs
│ │ │ SubpixelMorphologicalAntialiasing.cs
│ │ │ TemporalAntialiasing.cs
│ │ │ Vignette.cs
│ │ │
│ │ │
│ │ ├─Monitors
│ │ │ HistogramMonitor.cs
│ │ │ LightMeterMonitor.cs
│ │ │ Monitor.cs
│ │ │ VectorscopeMonitor.cs
│ │ │ WaveformMonitor.cs
│ │ │
│ │ └─Utils
│ │ ColorUtilities.cs
│ │ HableCurve.cs
│ │ HaltonSeq.cs
│ │ LogHistogram.cs
│ │ MeshUtilities.cs
│ │ PostProcessEffectRendererExtensions.cs
│ │ PropertySheet.cs
│ │ PropertySheetFactory.cs
│ │ RuntimeUtilities.cs
│ │ ShaderIDs.cs
│ │ Spline.cs
│ │ TargetPool.cs
│ │ TextureFormatUtilities.cs
│ │ TextureLerper.cs
│ │ XRSettings.cs
│ │
│ ├─Shaders
│ │ │
│ │ ├─API
│ │ │
│ │ ├─Builtins
│ │ │ Bloom.shader
│ │ │ Copy.shader
│ │ │ CopyStd.shader
│ │ │ CopyStdFromDoubleWide.shader
│ │ │ CopyStdFromTexArray.shader
│ │ │ DeferredFog.shader
│ │ │ DepthOfField.shader
│ │ │ DiscardAlpha.shader
│ │ │ FinalPass.shader
│ │ │ GrainBaker.shader
│ │ │ Lut2DBaker.shader
│ │ │ MotionBlur.shader
│ │ │ MultiScaleVO.shader
│ │ │ ScalableAO.shader
│ │ │ ScreenSpaceReflections.shader
│ │ │ SubpixelMorphologicalAntialiasing.shader
│ │ │ TemporalAntialiasing.shader
│ │ │ Texture2DLerp.shader
│ │ │ Uber.shader
│ │ │
│ │ ├─Debug
│ │ │ Histogram.shader
│ │ │ LightMeter.shader
│ │ │ Overlays.shader
│ │ │ Vectorscope.shader
│ │ │ Waveform.shader
│ │ │
│ │ └─Editor
│ │ ConvertToLog.shader
│ │ CurveGrid.shader
│ │ Trackball.shader
│ │
│ └─Textures
│ │
│ ├─BlueNoise256px
│ │
│ ├─Cubes
│ │
│ ├─LensDirt
│ │
│ ├─LUTs
│ │
│ ├─SMAA
│ │
│ └─SpectralLUTs
│
└─Tests
│
├─Editor
│ PostProcessEditorTests.cs
│
└─Runtime
PostProcessingRuntimeTests.cs