123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- using System.Collections;
- using System.Collections.Generic;
- using System.IO;
- using System.Reflection;
- using UnityEditor;
- using UnityEngine;
- using UnityEngine.Rendering;
- using UnityEngine.Rendering.Universal;
- namespace FXV.VolumetricFogEditorUtils
- {
- public partial class fxvIntroWindow : EditorWindow
- {
- #pragma warning disable CS0414
- static string urpVersion = "version 1.0.11";
- #pragma warning restore CS0414
- void Setup_URP_AfterImport()
- {
- FXV.Internal.fxvFogAssetConfig.UpdateShadersForActiveRenderPipeline();
- }
- void GUI_URP_AfterImport()
- {
- UniversalRenderPipelineAsset currentRP = (UniversalRenderPipelineAsset)GraphicsSettings.currentRenderPipeline;
- GUILine(Color.gray);
- GUILayout.BeginHorizontal();
- {
- if (currentRP.supportsCameraDepthTexture)
- {
- GUILayout.Label(" Depth texture enabled.", greenStyle);
- }
- else
- {
- GUILayout.Label(" Enable depth texture in pipeline asset for fog to work.\n Alternatively you can do this for specific camera in it's component on scene.", redStyle);
- if (GUILayout.Button("Show Asset", GUILayout.Width(buttonWidth)))
- {
- Selection.activeObject = AssetDatabase.LoadMainAssetAtPath(AssetDatabase.GetAssetPath(currentRP));
- }
- if (GUILayout.Button("Fix", GUILayout.Width(buttonWidth)))
- {
- currentRP.supportsCameraDepthTexture = true;
- }
- }
- }
- GUILayout.EndHorizontal();
- GUILine(Color.gray);
- GUILayout.BeginHorizontal();
- {
- GUILayout.Label("Check demo scenes for fog examples.");
- if (GUILayout.Button("Show", GUILayout.Width(buttonWidth)))
- {
- Selection.activeObject = AssetDatabase.LoadMainAssetAtPath(assetPath + "/URP/Demo/Demo1_URP.unity");
- }
- }
- GUILayout.EndHorizontal();
- GUILine(Color.gray);
- GUILayout.BeginHorizontal();
- {
- GUILayout.Label("To quickly add fog to scene [RightClick -> FXV -> Fog (type)] in Hierarchy panel.");
- }
- GUILayout.EndHorizontal();
- GUILine(Color.gray);
- GUILayout.BeginHorizontal();
- {
- GUILayout.Label("When adding big fog groups consider parenting them under object with VolumeFogGroup component.");
- if (GUILayout.Button("Show", GUILayout.Width(buttonWidth)))
- {
- Selection.activeObject = AssetDatabase.LoadMainAssetAtPath(assetPath + "/Scripts/VolumeFogGroup.cs");
- }
- }
- GUILayout.EndHorizontal();
- GUILine(Color.gray);
- GUILayout.BeginHorizontal();
- {
- GUILayout.Label("Please read documentation for implementation guidelines.");
- if (GUILayout.Button("Show", GUILayout.Width(buttonWidth)))
- {
- Selection.activeObject = AssetDatabase.LoadMainAssetAtPath(assetPath + "/Documentation.pdf");
- }
- }
- GUILayout.EndHorizontal();
- GUILine(Color.gray);
- }
- }
- }
|