【代码结构】rpf需要放到aot部分
parent
daa1cf1091
commit
ec34ed519a
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: dbfd2a021c7c4554c9cbf6cccced1fbd
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f2873bed4901e63479e6aece16d8b692
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
namespace AOT.Common
|
||||
{
|
||||
public static class AOTCodeDefine
|
||||
{
|
||||
|
||||
public static bool ENABLE_OUTLINE_DEBUG = false;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b4574be5de05ae9489e10ec9afaf6516
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 2f3b30e76da4a0341a86c3c80021889b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7ad5a858de5d446ea7b793ddf4bde514
|
||||
timeCreated: 1720591909
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
namespace AOT.PostProcess.BlackArea
|
||||
{
|
||||
public class BlackAreaManager
|
||||
{
|
||||
private static IBlackAreaManager _instance;
|
||||
public static IBlackAreaManager instance
|
||||
{
|
||||
get
|
||||
{
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
|
||||
public static void CreateInstance(IBlackAreaManager setInstance)
|
||||
{
|
||||
_instance = setInstance;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
using PhxhSDK;
|
||||
using UnityEngine;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEngine.Rendering.RendererUtils;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
namespace Gameplay.PostProcess.BlackArea
|
||||
|
||||
namespace AOT.PostProcess.BlackArea
|
||||
{
|
||||
public class BlackAreaRPF : ScriptableRendererFeature
|
||||
{
|
||||
|
|
@ -34,7 +34,8 @@ namespace Gameplay.PostProcess.BlackArea
|
|||
{
|
||||
base.OnCameraSetup(cmd, ref renderingData);
|
||||
// 只对主相机Camera.main生效
|
||||
if (renderingData.cameraData.camera != Camera.main) return;
|
||||
if (BlackAreaManager.instance == null) return;
|
||||
if (renderingData.cameraData.camera != BlackAreaManager.instance.targetCamera) return;
|
||||
if (BlackAreaManager.instance.blitMat == null) return;
|
||||
if (!BlackAreaManager.instance.enableBlackArea) return;
|
||||
// 创建一个RenderTexture
|
||||
|
|
@ -68,7 +69,8 @@ namespace Gameplay.PostProcess.BlackArea
|
|||
ref RenderingData renderingData)
|
||||
{
|
||||
// 只对主相机Camera.main生效
|
||||
if (renderingData.cameraData.camera != CameraManager.Instance.MainCamera) return;
|
||||
if (BlackAreaManager.instance == null) return;
|
||||
if (renderingData.cameraData.camera != BlackAreaManager.instance.targetCamera) return;
|
||||
if (_blitMaterial == null) return;
|
||||
if (!BlackAreaManager.instance.enableBlackArea) return;
|
||||
var cmd = CommandBufferPool.Get("BlackArea-DrawMask");
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
using UnityEngine;
|
||||
namespace AOT.PostProcess.BlackArea
|
||||
{
|
||||
public interface IBlackAreaManager
|
||||
{
|
||||
|
||||
public Material blitMat
|
||||
{
|
||||
get;
|
||||
}
|
||||
|
||||
public bool enableBlackArea
|
||||
{
|
||||
get;
|
||||
}
|
||||
|
||||
public Camera targetCamera
|
||||
{
|
||||
get;
|
||||
}
|
||||
|
||||
public void Init(bool enableBlackArea);
|
||||
|
||||
public void LightUpCell(int cellId, float time);
|
||||
|
||||
public void AutoLightUpReadyArea();
|
||||
|
||||
public void LogicUpdate(float dt);
|
||||
|
||||
public bool CheckIsInLightArea(int cellId);
|
||||
|
||||
public void Dispose();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7223cf6e3d2d462eb18e4170b5f341e1
|
||||
timeCreated: 1727071995
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 39b76bb117df45bc9301725f9bf9a962
|
||||
timeCreated: 1726293650
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using AOT.PostProcess.ColorFade;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
using Cysharp.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AOT.PostProcess.ColorFade
|
||||
{
|
||||
public class GlobalFadeManager
|
||||
{
|
||||
|
||||
private static IGlobalFadeManager _instance;
|
||||
public static void CreateInstance(IGlobalFadeManager setInstance)
|
||||
{
|
||||
_instance = setInstance;
|
||||
}
|
||||
public static IGlobalFadeManager instance => _instance;
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
using UnityEngine;
|
||||
namespace AOT.PostProcess.ColorFade
|
||||
{
|
||||
public interface IGlobalFadeManager
|
||||
{
|
||||
public Color fadeColor { get; }
|
||||
public float fadeProgress { get; }
|
||||
public float fadeTime { get; }
|
||||
public Material fadeMat { get; }
|
||||
|
||||
public void FadeIn(float time);
|
||||
|
||||
public void FadeOut(float time);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4fe023b1f4d244fab28bd029254e68f2
|
||||
timeCreated: 1727072828
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d7965d3f4c07c29429e4fd1a1032b58b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
namespace AOT.PostProcess.PostOutline
|
||||
{
|
||||
public interface IOutlineManager
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7083197bc1ef48e8a33aa58e57dcf717
|
||||
timeCreated: 1727073601
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
|
@ -6,7 +7,15 @@ using UnityEngine;
|
|||
public class OutlineManager : MonoBehaviour
|
||||
{
|
||||
|
||||
public static OutlineManager instance;
|
||||
private static OutlineManager _instance;
|
||||
|
||||
public static OutlineManager instance
|
||||
{
|
||||
get
|
||||
{
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
|
||||
public bool m_EnableOutline = true;
|
||||
|
||||
|
|
@ -19,10 +28,19 @@ public class OutlineManager : MonoBehaviour
|
|||
public Color m_OutlineColorEnemy = Color.red;
|
||||
public List<Renderer> m_RenderListEnemy = new List<Renderer>();
|
||||
|
||||
public Camera targetCamera;
|
||||
|
||||
public float scaleProgress = 1f;
|
||||
|
||||
public Material mat1;
|
||||
public Material mat1_1;
|
||||
public Material mat2;
|
||||
public Material mat3;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void OnEnable()
|
||||
{
|
||||
instance = this;
|
||||
_instance = this;
|
||||
}
|
||||
|
||||
public void AutoAddFromObj(GameObject obj, bool isEnemy)
|
||||
|
|
@ -62,4 +80,9 @@ public class OutlineManager : MonoBehaviour
|
|||
m_RenderList.Add(r);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
_instance = null;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,12 +1,8 @@
|
|||
using Code.Scripts.Gameplay.Utils;
|
||||
using Gameplay.Common;
|
||||
using Gameplay.Performance;
|
||||
using PhxhSDK;
|
||||
using AOT.Common;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Experimental.Rendering;
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
using Constants = Framework.Constants;
|
||||
|
||||
public class PostOutlineRPF : ScriptableRendererFeature
|
||||
{
|
||||
|
|
@ -41,47 +37,46 @@ public class PostOutlineRPF : ScriptableRendererFeature
|
|||
{
|
||||
base.OnCameraSetup(cmd, ref renderingData);
|
||||
_canEnable = false;
|
||||
if (renderingData.cameraData.camera != CameraManager.Instance.MainCamera)
|
||||
{
|
||||
if (CodeDefine.ENABLE_OUTLINE_DEBUG)
|
||||
{
|
||||
DebugUtil.Log("不是主相机, 当前相机名字: " + renderingData.cameraData.camera.name + " 主相机名字:" + CameraManager.Instance.MainCamera.name);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (OutlineManager.instance == null || !OutlineManager.instance.m_EnableOutline)
|
||||
{
|
||||
if (CodeDefine.ENABLE_OUTLINE_DEBUG)
|
||||
if (AOTCodeDefine.ENABLE_OUTLINE_DEBUG)
|
||||
{
|
||||
DebugUtil.Log("OutlineManager.instance == null || !OutlineManager.instance.m_EnableOutline");
|
||||
Debug.Log("OutlineManager.instance == null || !OutlineManager.instance.m_EnableOutline");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (renderingData.cameraData.camera != OutlineManager.instance.targetCamera)
|
||||
{
|
||||
if (AOTCodeDefine.ENABLE_OUTLINE_DEBUG)
|
||||
{
|
||||
Debug.Log("不是主相机, 当前相机名字: " + renderingData.cameraData.camera.name + " 主相机名字:" + OutlineManager.instance.targetCamera.name);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (OutlineManager.instance.m_RenderList.Count == 0
|
||||
&& OutlineManager.instance.m_RenderListEnemy.Count == 0)
|
||||
{
|
||||
if (CodeDefine.ENABLE_OUTLINE_DEBUG)
|
||||
if (AOTCodeDefine.ENABLE_OUTLINE_DEBUG)
|
||||
{
|
||||
DebugUtil.Log("OutlineManager.instance.m_RenderList.Count == 0 && OutlineManager.instance.m_RenderListEnemy.Count == 0");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (!PerformanceManager.instance.data.enablePostOutline)
|
||||
{
|
||||
if (CodeDefine.ENABLE_OUTLINE_DEBUG)
|
||||
{
|
||||
DebugUtil.Log("!PerformanceManager.instance.data.enablePostOutline");
|
||||
Debug.Log("OutlineManager.instance.m_RenderList.Count == 0 && OutlineManager.instance.m_RenderListEnemy.Count == 0");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (_mat1 == null)
|
||||
{
|
||||
_mat1 = Instantiate(AssetManager.Instance.GetPreLoadResult<Material>(Constants.SHADER_OUTLINE_PATH1));
|
||||
_mat1_1 = Instantiate(AssetManager.Instance.GetPreLoadResult<Material>(Constants.SHADER_OUTLINE_PATH1_1));
|
||||
_mat2 = Instantiate(AssetManager.Instance.GetPreLoadResult<Material>(Constants.SHADER_OUTLINE_PATH2));
|
||||
_mat3 = Instantiate(AssetManager.Instance.GetPreLoadResult<Material>(Constants.SHADER_OUTLINE_PATH3));
|
||||
// _mat1 = Instantiate(AssetManager.Instance.GetPreLoadResult<Material>(Constants.SHADER_OUTLINE_PATH1));
|
||||
// _mat1_1 = Instantiate(AssetManager.Instance.GetPreLoadResult<Material>(Constants.SHADER_OUTLINE_PATH1_1));
|
||||
// _mat2 = Instantiate(AssetManager.Instance.GetPreLoadResult<Material>(Constants.SHADER_OUTLINE_PATH2));
|
||||
// _mat3 = Instantiate(AssetManager.Instance.GetPreLoadResult<Material>(Constants.SHADER_OUTLINE_PATH3));
|
||||
|
||||
_mat1 = OutlineManager.instance.mat1;
|
||||
_mat1_1 = OutlineManager.instance.mat1_1;
|
||||
_mat2 = OutlineManager.instance.mat2;
|
||||
_mat3 = OutlineManager.instance.mat3;
|
||||
|
||||
// DebugUtil.LogError("shader name: " + _mat1.shader.name + " " + _mat2.shader.name + " " + _mat3.shader.name);
|
||||
// DebugUtil.LogError("shader pass count:" + _mat1.shader.passCount + " " + _mat2.shader.passCount + " " + _mat3.shader.passCount);
|
||||
|
|
@ -95,15 +90,15 @@ public class PostOutlineRPF : ScriptableRendererFeature
|
|||
|
||||
if (!isSupported)
|
||||
{
|
||||
DebugUtil.LogError("Shader not supported on platform");
|
||||
Debug.LogError("Shader not supported on platform");
|
||||
return;
|
||||
}
|
||||
|
||||
_canEnable = true;
|
||||
|
||||
if (CodeDefine.ENABLE_OUTLINE_DEBUG)
|
||||
if (AOTCodeDefine.ENABLE_OUTLINE_DEBUG)
|
||||
{
|
||||
DebugUtil.LogG("可以进行描边渲染");
|
||||
Debug.Log("可以进行描边渲染");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -210,14 +205,11 @@ public class PostOutlineRPF : ScriptableRendererFeature
|
|||
{
|
||||
var desc = renderingData.cameraData.cameraTargetDescriptor;
|
||||
cmd.GetTemporaryRT(_EdgeTexureID, desc.width, desc.height, 0, FilterMode.Bilinear, RenderTextureFormat.ARGB32);
|
||||
var screenWidth = desc.width;
|
||||
var sampleDistance = OutlineManager.instance.m_SampleDistance;
|
||||
var wrapDistance = sampleDistance / 1080 * screenWidth;
|
||||
var scaleProgress = CameraManager.Instance.GetOutlineScale(wrapDistance);
|
||||
var scaleProgress = OutlineManager.instance.scaleProgress;
|
||||
_mat2.SetFloat(SampleDistance, scaleProgress * sampleDistance);
|
||||
_mat2.SetColor(OutlineColor, OutlineManager.instance.m_OutlineColor);
|
||||
cmd.Blit(_SSOutlineTexureID, _EdgeTexureID, _mat2);
|
||||
|
||||
}
|
||||
// context.ExecuteCommandBuffer(cmd);
|
||||
// CommandBufferPool.Release(cmd);
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"name": "ScriptsAOT",
|
||||
"rootNamespace": "",
|
||||
"references": [
|
||||
"Unity.RenderPipelines.Universal.Runtime",
|
||||
"Unity.RenderPipeline.Universal.ShaderLibrary",
|
||||
"UniTask",
|
||||
"Unity.RenderPipelines.Universal.Shaders",
|
||||
"Unity.RenderPipelines.Core.Runtime"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 665a1a105b52a644cb1da94dfe5e0e87
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using cfg.SkillCfg;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using cfg.SkillCfg;
|
||||
using Gameplay.Character;
|
||||
using Gameplay.PostProcess.BlackArea;
|
||||
using Gameplay.Skill;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using Gameplay.Area;
|
||||
using Gameplay.Character;
|
||||
using Gameplay.Level;
|
||||
|
|
@ -49,7 +50,7 @@ namespace Gameplay
|
|||
if (moveUnit.commonData.troopId == ETroopsId.Self)
|
||||
{
|
||||
// 如果是己方,需要将所有未照亮的格子设置为不可通行
|
||||
var allLightPoints = BlackAreaManager.instance.pointList;
|
||||
var allLightPoints = (BlackAreaManager.instance as BlackAreaManagerImpl).pointList;
|
||||
for (int i = 0; i < allLightPoints.Count; i++)
|
||||
{
|
||||
var point = allLightPoints[i];
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using Gameplay.Area;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using Gameplay.Area;
|
||||
using Gameplay.PostProcess.BlackArea;
|
||||
namespace Gameplay.Buff
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using Gameplay.Area;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using Gameplay.Area;
|
||||
using Gameplay.PostProcess.BlackArea;
|
||||
namespace Gameplay.Buff
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using Gameplay.PostProcess.BlackArea;
|
||||
using Gameplay.Summon;
|
||||
using Gameplay.Unit;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using System.Collections.Generic;
|
|||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using Gameplay.PostProcess.BlackArea;
|
||||
|
||||
namespace Gameplay.Bullet
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using Gameplay.Effect;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using Gameplay.Effect;
|
||||
using LTGame;
|
||||
using Gameplay.PostProcess.BlackArea;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using Gameplay.PostProcess.BlackArea;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using Gameplay.PostProcess.BlackArea;
|
||||
using LTGame;
|
||||
|
||||
namespace Gameplay.Character
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ namespace Gameplay.Common
|
|||
|
||||
public const int BLEED_BUFF_ID = 8;
|
||||
|
||||
public static bool ENABLE_OUTLINE_DEBUG = false;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using AOT.Common;
|
||||
using CriWare;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Framework;
|
||||
|
|
@ -90,11 +91,11 @@ public partial class SROptions
|
|||
{
|
||||
get
|
||||
{
|
||||
return CodeDefine.ENABLE_OUTLINE_DEBUG;
|
||||
return AOTCodeDefine.ENABLE_OUTLINE_DEBUG;
|
||||
}
|
||||
set
|
||||
{
|
||||
CodeDefine.ENABLE_OUTLINE_DEBUG = value;
|
||||
AOTCodeDefine.ENABLE_OUTLINE_DEBUG = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,8 @@
|
|||
"GUID:d0bf1e9f644394e1de13e6ae02458b07",
|
||||
"GUID:fe25561d224ed4743af4c60938a59d0b",
|
||||
"GUID:70ea675efa2644cef98c7ece24158333",
|
||||
"GUID:ac145e6b8c6034cdbadc8c6e26aedbcf"
|
||||
"GUID:ac145e6b8c6034cdbadc8c6e26aedbcf",
|
||||
"GUID:665a1a105b52a644cb1da94dfe5e0e87"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using cfg.LevelCfg;
|
||||
using System.Collections.Generic;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using Code.Scripts.Gameplay.Utils;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Framework;
|
||||
|
|
@ -330,7 +331,7 @@ namespace Gameplay.Level
|
|||
AssetManager.Instance.Unload(Constants.FIGHT_LIGHT_AREA_PATH);
|
||||
AssetManager.Instance.Unload(Constants.FIGHT_CELL_COLLIDER_PATH);
|
||||
AssetManager.Instance.Unload(SkillRotateCamera.PREFAB_PATH);
|
||||
AssetManager.Instance.Unload(BlackAreaManager.BLIT_MAT_PATH);
|
||||
AssetManager.Instance.Unload(BlackAreaManagerImpl.BLIT_MAT_PATH);
|
||||
|
||||
_UnloadOutlinePost();
|
||||
|
||||
|
|
@ -395,7 +396,9 @@ namespace Gameplay.Level
|
|||
_stateMachine.ChangeState(new PrepareState(this));
|
||||
SelecterView.Instance.Init();
|
||||
|
||||
BlackAreaManager.instance.Init(_currLevelInfo.Cfg.LevelTime == DayNightType.Night);
|
||||
var enableBlackArea = _currLevelInfo.Cfg.LevelTime == DayNightType.Night;
|
||||
BlackAreaManager.instance.Init(enableBlackArea);
|
||||
|
||||
InitAIStart();
|
||||
}
|
||||
|
||||
|
|
@ -539,13 +542,16 @@ namespace Gameplay.Level
|
|||
AssetManager.Instance.PostPreload(Constants.FIGHT_LIGHT_AREA_PATH);
|
||||
AssetManager.Instance.PostPreload(Constants.FIGHT_CELL_COLLIDER_PATH);
|
||||
AssetManager.Instance.PostPreload(SkillRotateCamera.PREFAB_PATH);
|
||||
AssetManager.Instance.PostPreload(BlackAreaManager.BLIT_MAT_PATH);
|
||||
AssetManager.Instance.PostPreload(BlackAreaManagerImpl.BLIT_MAT_PATH);
|
||||
|
||||
await AssetManager.Instance.WaitAllPreloads();
|
||||
}
|
||||
|
||||
private async UniTask _InitAfterLoadMap()
|
||||
{
|
||||
var blackAreaInst = new BlackAreaManagerImpl();
|
||||
BlackAreaManager.CreateInstance(blackAreaInst);
|
||||
|
||||
_InitCameraParams();
|
||||
|
||||
// 加载后处理
|
||||
|
|
@ -585,6 +591,21 @@ namespace Gameplay.Level
|
|||
if (loadObj != null)
|
||||
{
|
||||
Object.Instantiate(loadObj);
|
||||
|
||||
OutlineManager.instance.mat1 = AssetManager.Instance.GetPreLoadResult<Material>(Constants.SHADER_OUTLINE_PATH1);
|
||||
OutlineManager.instance.mat1_1 = AssetManager.Instance.GetPreLoadResult<Material>(Constants.SHADER_OUTLINE_PATH1_1);
|
||||
OutlineManager.instance.mat2 = AssetManager.Instance.GetPreLoadResult<Material>(Constants.SHADER_OUTLINE_PATH2);
|
||||
OutlineManager.instance.mat3 = AssetManager.Instance.GetPreLoadResult<Material>(Constants.SHADER_OUTLINE_PATH3);
|
||||
|
||||
OutlineManager.instance.targetCamera = CameraManager.Instance.MainCamera;
|
||||
|
||||
OutlineManager.instance.m_EnableOutline = PerformanceManager.instance.data.enablePostOutline;
|
||||
|
||||
var screenWidth = Screen.width;
|
||||
var sampleDistance = OutlineManager.instance.m_SampleDistance;
|
||||
var wrapDistance = sampleDistance / 1080 * screenWidth;
|
||||
var scaleProgress = CameraManager.Instance.GetOutlineScale(wrapDistance);
|
||||
OutlineManager.instance.scaleProgress = scaleProgress;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using BehaviorDesigner.Runtime.Tasks;
|
||||
using Code.Scripts.Gameplay.Enviorment;
|
||||
using Framework;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using BehaviorDesigner.Runtime.Tasks;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Framework;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
using System.IO;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Threading.Tasks;
|
||||
using AOT.PostProcess.ColorFade;
|
||||
using CriWare;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Framework;
|
||||
|
|
@ -118,7 +119,10 @@ namespace Gameplay
|
|||
AssetManager.Instance.PostPreload(CommonUtils.BLUR_MAT_PATH);
|
||||
|
||||
await AssetManager.Instance.WaitAllPreloads();
|
||||
await GlobalFadeManager.CreateInstance();
|
||||
|
||||
var globalFadeManagerInst = new ColorFadeManagerImpl();
|
||||
GlobalFadeManager.CreateInstance(globalFadeManagerInst);
|
||||
await globalFadeManagerInst.Init();
|
||||
|
||||
return E_LoadingResult.Success;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7ad5a858de5d446ea7b793ddf4bde514
|
||||
timeCreated: 1720591909
|
||||
fileFormatVersion: 2
|
||||
guid: 51b5bd45e2469734d898d5862442f913
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
|
|||
|
|
@ -1,34 +1,33 @@
|
|||
using System.Collections.Generic;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using Gameplay.Area;
|
||||
using Gameplay.Character;
|
||||
using Gameplay.Level;
|
||||
using Gameplay.Unit;
|
||||
using Gameplay.Unit.Data;
|
||||
using Gameplay.Vehicle.Impl;
|
||||
using PhxhSDK;
|
||||
using UnityEngine;
|
||||
using Constants = Framework.Constants;
|
||||
|
||||
namespace Gameplay.PostProcess.BlackArea
|
||||
{
|
||||
public class BlackAreaManager
|
||||
public class BlackAreaManagerImpl : IBlackAreaManager
|
||||
{
|
||||
private static BlackAreaManager _instance;
|
||||
public static BlackAreaManager instance
|
||||
|
||||
private bool _enableBlackArea;
|
||||
public bool enableBlackArea
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
_instance = new BlackAreaManager();
|
||||
}
|
||||
return _instance;
|
||||
return _enableBlackArea;
|
||||
}
|
||||
}
|
||||
|
||||
public bool enableBlackArea
|
||||
|
||||
private Camera _targetCamera;
|
||||
public Camera targetCamera
|
||||
{
|
||||
get;
|
||||
private set;
|
||||
get
|
||||
{
|
||||
return _targetCamera;
|
||||
}
|
||||
}
|
||||
|
||||
private List<LightPoint> _pointList = new List<LightPoint>();
|
||||
|
|
@ -43,16 +42,24 @@ namespace Gameplay.PostProcess.BlackArea
|
|||
private Dictionary<int, LightPoint> _pointDic = new Dictionary<int, LightPoint>();
|
||||
private GameObject _rootObj;
|
||||
|
||||
public Material blitMat;
|
||||
|
||||
private Material _blitMat;
|
||||
public Material blitMat
|
||||
{
|
||||
get
|
||||
{
|
||||
return _blitMat;
|
||||
}
|
||||
}
|
||||
|
||||
public const string BLIT_MAT_PATH = "Assets/Art/Other/mat/black_area_blit.mat";
|
||||
|
||||
public void Init(bool enable)
|
||||
{
|
||||
enableBlackArea = enable;
|
||||
_enableBlackArea = enable;
|
||||
if (!enableBlackArea) return;
|
||||
_InitLightMap();
|
||||
blitMat = AssetManager.Instance.GetPreLoadResult<Material>(BLIT_MAT_PATH);
|
||||
_blitMat = AssetManager.Instance.GetPreLoadResult<Material>(BLIT_MAT_PATH);
|
||||
_targetCamera = CameraManager.Instance.MainCamera;
|
||||
}
|
||||
|
||||
private void _InitLightMap()
|
||||
|
|
@ -61,7 +68,7 @@ namespace Gameplay.PostProcess.BlackArea
|
|||
_pointDic.Clear();
|
||||
_rootObj = new GameObject("[BlackAreaRoot]");
|
||||
var allCells = LevelManager.Instance.CurrentLevel.Map.TerrainGridSystem.cells;
|
||||
var sampleObj = AssetManager.Instance.GetPreLoadResult<GameObject>(Constants.FIGHT_LIGHT_AREA_PATH);
|
||||
var sampleObj = AssetManager.Instance.GetPreLoadResult<GameObject>(Framework.Constants.FIGHT_LIGHT_AREA_PATH);
|
||||
for (int i = 0; i < allCells.Count; i++)
|
||||
{
|
||||
var cell = allCells[i];
|
||||
|
|
@ -144,12 +151,13 @@ namespace Gameplay.PostProcess.BlackArea
|
|||
|
||||
public void Dispose()
|
||||
{
|
||||
_enableBlackArea = false;
|
||||
if (_rootObj != null)
|
||||
{
|
||||
Object.Destroy(_rootObj);
|
||||
_rootObj = null;
|
||||
}
|
||||
enableBlackArea = false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1eb1a8d8149a4a698df29c14cb236395
|
||||
timeCreated: 1727072282
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 849b54d863b245c5b36051c443497c63
|
||||
timeCreated: 1713506069
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
namespace Code.Scripts.Gameplay.PostProcess.ColorChange
|
||||
{
|
||||
public class ChangeColorRPF : ScriptableRendererFeature
|
||||
{
|
||||
|
||||
[Serializable]
|
||||
public class Settings
|
||||
{
|
||||
public RenderPassEvent renderPassEvent = RenderPassEvent.AfterRenderingPostProcessing;
|
||||
}
|
||||
|
||||
public class ChangeColorPass : ScriptableRenderPass
|
||||
{
|
||||
|
||||
public Settings settings;
|
||||
|
||||
private Material _blitMaterial;
|
||||
|
||||
public ChangeColorPass(Settings settings)
|
||||
{
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
public override void Configure(CommandBuffer cmd,
|
||||
RenderTextureDescriptor cameraTextureDescriptor)
|
||||
{
|
||||
base.Configure(cmd, cameraTextureDescriptor);
|
||||
|
||||
_blitMaterial = new Material(Shader.Find("Hide/ChangeColor"));
|
||||
}
|
||||
|
||||
[Obsolete("Obsolete")]
|
||||
public override void Execute(ScriptableRenderContext context,
|
||||
ref RenderingData renderingData)
|
||||
{
|
||||
if (renderingData.cameraData.camera.name != "UICamera") return;
|
||||
var cmd = CommandBufferPool.Get("ChangeColor");
|
||||
cmd.Blit(renderingData.cameraData.renderer.cameraColorTarget, renderingData.cameraData.renderer.cameraColorTarget, _blitMaterial);
|
||||
context.ExecuteCommandBuffer(cmd);
|
||||
CommandBufferPool.Release(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
private ChangeColorPass _changeColorPass;
|
||||
public Settings settings = new Settings();
|
||||
|
||||
public override void Create()
|
||||
{
|
||||
_changeColorPass = new ChangeColorPass(settings);
|
||||
_changeColorPass.renderPassEvent = settings.renderPassEvent;
|
||||
}
|
||||
public override void AddRenderPasses(ScriptableRenderer renderer,
|
||||
ref RenderingData renderingData)
|
||||
{
|
||||
renderer.EnqueuePass(_changeColorPass);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ade665c3762743f182f3ed75d09382e9
|
||||
timeCreated: 1713506100
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 39b76bb117df45bc9301725f9bf9a962
|
||||
timeCreated: 1726293650
|
||||
guid: 73ac190d242b4b38a8d9c5f0c79ea820
|
||||
timeCreated: 1727072891
|
||||
|
|
@ -1,14 +1,22 @@
|
|||
using Cysharp.Threading.Tasks;
|
||||
using AOT.PostProcess.ColorFade;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using PhxhSDK;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Gameplay.PostProcess.ColorFade
|
||||
{
|
||||
public class GlobalFadeManager
|
||||
public class ColorFadeManagerImpl : IGlobalFadeManager
|
||||
{
|
||||
|
||||
public async UniTask Init()
|
||||
{
|
||||
var loadMat = await AssetManager.Instance.LoadAssetAsync<Material>(MAT_PATH);
|
||||
fadeMat = Object.Instantiate(loadMat);
|
||||
SetFadeColor(Color.black);
|
||||
|
||||
MonoHelper.instance.AddAction(EActionType.UPDATE, _LogicUpdate);
|
||||
}
|
||||
|
||||
public const string MAT_PATH = "Assets/Art/Other/mat/mat_colorfade.mat";
|
||||
|
||||
|
||||
private enum EFadeState
|
||||
{
|
||||
None,
|
||||
|
|
@ -16,36 +24,17 @@ namespace Gameplay.PostProcess.ColorFade
|
|||
FadeOut,
|
||||
}
|
||||
|
||||
private static GlobalFadeManager _instance;
|
||||
public static async UniTask CreateInstance()
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
_instance = new GlobalFadeManager();
|
||||
var loadMat = await AssetManager.Instance.LoadAssetAsync<Material>(MAT_PATH);
|
||||
_instance.fadeMat = Object.Instantiate(loadMat);
|
||||
_instance.SetFadeColor(Color.black);
|
||||
|
||||
MonoHelper.instance.AddAction(EActionType.UPDATE, _instance._LogicUpdate);
|
||||
}
|
||||
}
|
||||
public static GlobalFadeManager instance => _instance;
|
||||
|
||||
public Color fadeColor { get; private set; }
|
||||
public float fadeProgress { get; private set; }
|
||||
|
||||
public float fadeTime { get; private set; }
|
||||
|
||||
|
||||
private EFadeState _fadeState = EFadeState.None;
|
||||
private float _currentFadeTime;
|
||||
private static readonly int FadeColor = Shader.PropertyToID("_FadeColor");
|
||||
|
||||
public Material fadeMat { get; private set; }
|
||||
|
||||
private GlobalFadeManager()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public void SetFadeColor(Color color)
|
||||
{
|
||||
fadeColor = color;
|
||||
|
|
@ -58,7 +47,7 @@ namespace Gameplay.PostProcess.ColorFade
|
|||
_fadeState = EFadeState.FadeIn;
|
||||
_currentFadeTime = 0;
|
||||
}
|
||||
|
||||
|
||||
public void FadeOut(float setTime)
|
||||
{
|
||||
fadeTime = setTime;
|
||||
|
|
@ -90,7 +79,7 @@ namespace Gameplay.PostProcess.ColorFade
|
|||
_fadeState = EFadeState.None;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void _HandleFadeOut(float dt)
|
||||
{
|
||||
_currentFadeTime += dt;
|
||||
|
|
@ -104,12 +93,9 @@ namespace Gameplay.PostProcess.ColorFade
|
|||
|
||||
public void Dispose()
|
||||
{
|
||||
if (_instance == null) return;
|
||||
MonoHelper.instance.RemoveAction(EActionType.UPDATE, _LogicUpdate);
|
||||
Object.Destroy(_instance.fadeMat);
|
||||
Object.Destroy(fadeMat);
|
||||
AssetManager.Instance.Unload(MAT_PATH);
|
||||
_instance = null;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8667ff66f7ea44cb9778b09d4824b1bc
|
||||
timeCreated: 1727072902
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f1e62f1a88a64e12b75ffc2fcc9153f6
|
||||
timeCreated: 1698986042
|
||||
|
|
@ -1,160 +0,0 @@
|
|||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class FullBlurRPF : ScriptableRendererFeature
|
||||
{
|
||||
|
||||
[Serializable] //序列化 会在ForwardRenderer下创建Blur时看到m_Data就是它
|
||||
public class BlurData
|
||||
{
|
||||
// 模糊材质
|
||||
public Material blurMat;
|
||||
// 叠加材质
|
||||
public Material overlayMat;
|
||||
|
||||
public RenderPassEvent renderPassEvent = RenderPassEvent.AfterRenderingPostProcessing;
|
||||
|
||||
[Tooltip("渲染次数,次数越多越模糊,但是性能消耗也越大")]
|
||||
[Range(0, 4)]
|
||||
public int iterations = 3;
|
||||
|
||||
[Tooltip("采样间距X,值越大越模糊")]
|
||||
[Range(0, 2f)]
|
||||
public float blurSizeX = 0.5f;
|
||||
[Tooltip("采样间距Y,值越大越模糊")]
|
||||
[Range(0, 2f)]
|
||||
public float blurSizeY = 0.5f;
|
||||
|
||||
[Tooltip("降采样,值越小越模糊,性能越好")]
|
||||
[Range(0.1f, 1f)]
|
||||
public float downScale = 0.5f;
|
||||
|
||||
[Tooltip("模糊混合进度")]
|
||||
[Range(0f, 1f)]
|
||||
public float blurBlendProgress = 0.5f;
|
||||
|
||||
[Tooltip("叠加颜色")]
|
||||
public Color overlayColor;
|
||||
}
|
||||
|
||||
public class BlurRenderPass : ScriptableRenderPass
|
||||
{
|
||||
private BlurData _data;
|
||||
private RenderTexture _rt0;
|
||||
private RenderTexture _rt1;
|
||||
private RenderTargetIdentifier _buffer0Id;
|
||||
private RenderTargetIdentifier _buffer1Id;
|
||||
|
||||
private int _blurSizeX = Shader.PropertyToID("_BlurSizeX");
|
||||
private int _blurSizeY = Shader.PropertyToID("_BlurSizeY");
|
||||
private int _overlayColor = Shader.PropertyToID("_OverlayColor");
|
||||
private int _blurTex = Shader.PropertyToID("_BlurTex");
|
||||
private int _blurBlendProgress = Shader.PropertyToID("_BlurBlendProgress");
|
||||
|
||||
public BlurRenderPass(BlurData data)
|
||||
{
|
||||
_data = data;
|
||||
}
|
||||
public void Setup()
|
||||
{
|
||||
_buffer0Id = Shader.PropertyToID("_BlurBuffer0");
|
||||
_buffer1Id = Shader.PropertyToID("_BlurBuffer1");
|
||||
}
|
||||
public override void Configure(CommandBuffer cmd, RenderTextureDescriptor cameraTextureDescriptor)
|
||||
{
|
||||
var width = Mathf.FloorToInt(cameraTextureDescriptor.width * _data.downScale);
|
||||
var height = Mathf.FloorToInt(cameraTextureDescriptor.height * _data.downScale);
|
||||
|
||||
var rt0 = RenderTexture.GetTemporary(width, height, 0, RenderTextureFormat.ARGB32);
|
||||
rt0.filterMode = FilterMode.Bilinear;
|
||||
rt0.wrapMode = TextureWrapMode.Clamp;
|
||||
_buffer0Id = rt0;
|
||||
_rt0 = rt0;
|
||||
|
||||
var rt1 = RenderTexture.GetTemporary(width, height, 0, RenderTextureFormat.ARGB32);
|
||||
rt1.filterMode = FilterMode.Bilinear;
|
||||
rt1.wrapMode = TextureWrapMode.Clamp;
|
||||
_buffer1Id = rt1;
|
||||
_rt1 = rt1;
|
||||
|
||||
// cmd.GetTemporaryRT(_buffer0Id, width, height, 0, FilterMode.Bilinear, RenderTextureFormat.ARGB32);
|
||||
// cmd.GetTemporaryRT(_buffer1Id, width, height, 0, FilterMode.Bilinear, RenderTextureFormat.ARGB32);
|
||||
}
|
||||
|
||||
public override void FrameCleanup(CommandBuffer cmd)
|
||||
{
|
||||
RenderTexture.ReleaseTemporary(_rt0);
|
||||
RenderTexture.ReleaseTemporary(_rt1);
|
||||
// cmd.ReleaseTemporaryRT(_buffer0Id);
|
||||
// cmd.ReleaseTemporaryRT(_buffer1Id);
|
||||
}
|
||||
|
||||
public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
|
||||
{
|
||||
|
||||
//TODO: 临时处理
|
||||
#if UNITY_EDITOR
|
||||
var currentSceneName = SceneManager.GetActiveScene().name;
|
||||
if (currentSceneName.StartsWith("story")) return;
|
||||
#endif
|
||||
|
||||
if (renderingData.cameraData.camera != Camera.main) return; //只对主摄像机进行处理
|
||||
|
||||
var mat = _data.blurMat;
|
||||
if (mat == null) return;
|
||||
|
||||
//renderingData.cameraData.camera 可获取摄像机判定哪个摄像机才进行处理渲染(每个摄像机都会进一遍pass 如果摄像机有多个且都有这个Blur(ScriptableRendererFeature资源)
|
||||
CommandBuffer cmd = CommandBufferPool.Get("FullBlur"); //从池获取一个cmd 命名为MyBlurCmd 能在FrameDebugger看到
|
||||
var cameraRt = renderingData.cameraData.renderer.cameraColorTargetHandle.nameID; //获取摄像机主纹理
|
||||
|
||||
// 模糊
|
||||
cmd.Blit(cameraRt, _buffer0Id);//将摄像机图渲染至buffer0
|
||||
//开始iterations次渲染,每次都会进行2次Pass操作:横向、纵向(谁先谁后都无所谓
|
||||
for (int i = 0; i < _data.iterations; i++)
|
||||
{
|
||||
//指定采样间距,逐级递增的形式
|
||||
mat.SetFloat(_blurSizeX, 1.0f + i * _data.blurSizeX);
|
||||
mat.SetFloat(_blurSizeY, 1.0f + i * _data.blurSizeY);
|
||||
cmd.Blit(_buffer0Id, _buffer1Id, mat);
|
||||
(_buffer0Id, _buffer1Id) = (_buffer1Id, _buffer0Id);
|
||||
}
|
||||
|
||||
// 叠色
|
||||
mat = _data.overlayMat;
|
||||
if (mat == null) return;
|
||||
|
||||
mat.SetColor(_overlayColor, _data.overlayColor);
|
||||
// var blurTex =
|
||||
mat.SetTexture(_blurTex, _rt0);
|
||||
mat.SetFloat(_blurBlendProgress, _data.blurBlendProgress);
|
||||
cmd.Blit(cameraRt, cameraRt, mat);
|
||||
|
||||
// cmd.Blit(_buffer1Id, cameraRt); //将最终结果渲染到摄像机上
|
||||
//执行cmd
|
||||
context.ExecuteCommandBuffer(cmd);
|
||||
//清空回收cmd
|
||||
cmd.Clear();
|
||||
CommandBufferPool.Release(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
public BlurData data = new BlurData();
|
||||
|
||||
private BlurRenderPass _blurPass;
|
||||
|
||||
public override void Create()
|
||||
{
|
||||
_blurPass = new BlurRenderPass(data); //创建一个pass
|
||||
_blurPass.renderPassEvent = data.renderPassEvent;
|
||||
}
|
||||
|
||||
public override void AddRenderPasses(ScriptableRenderer renderer,
|
||||
ref RenderingData renderingData)
|
||||
{
|
||||
_blurPass.Setup();
|
||||
renderer.EnqueuePass(_blurPass); //入队渲染pass
|
||||
}
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 685341af175240debcb555e29a642b4d
|
||||
timeCreated: 1698986060
|
||||
|
|
@ -1,8 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d7965d3f4c07c29429e4fd1a1032b58b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
fileFormatVersion: 2
|
||||
guid: 7de99856012e4587a9ca7ccd32ecdd25
|
||||
timeCreated: 1727073625
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
using AOT.PostProcess.PostOutline;
|
||||
namespace Gameplay.PostProcess.PostOutline
|
||||
{
|
||||
public class PostOutlineManagerImpl : IOutlineManager
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4a694edc14394f28af5af3782870918c
|
||||
timeCreated: 1727073635
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using Cysharp.Threading.Tasks;
|
||||
using AOT.PostProcess.ColorFade;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Framework;
|
||||
using Gameplay.PostProcess.ColorFade;
|
||||
using PhxhSDK;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
using AOT.PostProcess.BlackArea;
|
||||
using Gameplay.Area;
|
||||
using Gameplay.Character;
|
||||
using Gameplay.PostProcess.BlackArea;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ using Gameplay.Buff;
|
|||
using Gameplay.Character;
|
||||
using Gameplay.Level;
|
||||
using System;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using cfg.BuffCfg;
|
||||
using CodeStage.AntiCheat.ObscuredTypes;
|
||||
using Cysharp.Threading.Tasks;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using Code.Scripts.Gameplay.Weapon;
|
||||
using AOT.PostProcess.BlackArea;
|
||||
using Code.Scripts.Gameplay.Weapon;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Gameplay.Performance;
|
||||
using Gameplay.Pool;
|
||||
|
|
|
|||
Loading…
Reference in New Issue