阶段性完成

This commit is contained in:
SoulliesOfficial
2025-12-08 05:27:53 -05:00
parent ef7b479712
commit f7af60351b
8770 changed files with 15637030 additions and 208354 deletions

View File

@@ -0,0 +1,18 @@
{
"name": "LeTai.TranslucentImage.UniversalRP.Editor",
"references": [
"GUID:e646286fd75dc0f44bb2f84ffb34408d",
"GUID:15fc0a57446b3144c949da3e2b9737a9"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: eba807230e676224b8e8e5b8859b2e7c
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,81 @@
using System.Linq;
using System.Reflection;
using UnityEditor;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
namespace LeTai.Asset.TranslucentImage.UniversalRP.Editor
{
[InitializeOnLoad]
public class RendererFeatureChecker : EditorWindow
{
static RendererFeatureChecker()
{
EditorApplication.update += DoCheck;
}
static void DoCheck()
{
EditorApplication.update -= DoCheck;
var pipelineAsset = GraphicsSettings.currentRenderPipeline as UniversalRenderPipelineAsset;
if (pipelineAsset == null)
return;
var rendererData = (ScriptableRendererData)
typeof(UniversalRenderPipelineAsset)
.GetProperty("scriptableRendererData", BindingFlags.Instance | BindingFlags.NonPublic)
?.GetValue(pipelineAsset);
if (rendererData == null)
return;
var haveFeature = rendererData.rendererFeatures.OfType<TranslucentImageBlurSource>().Any();
if (haveFeature)
return;
const float width = 400f;
const float height = 200f;
var window = GetWindowWithRect<RendererFeatureChecker>(
new Rect(
(Screen.width - width) / 2f,
(Screen.height - height) / 2f,
width, height
),
true,
"Translucent Image",
true
);
window.rendererData = rendererData;
}
ScriptableRendererData rendererData;
void OnGUI()
{
GUILayout.Label("Missing Renderer Feature", EditorStyles.largeLabel);
EditorGUILayout.Space();
GUILayout.Label(
"Translucent Image needs a renderer feature added to the active Renderer Asset. Do you want to add it now?",
EditorStyles.wordWrappedLabel
);
if (GUILayout.Button("More info", EditorStyles.linkLabel))
Application.OpenURL("https://leloctai.com/asset/translucentimage/docs/articles/universalrp.html");
GUILayout.FlexibleSpace();
if (GUILayout.Button("Select Current Renderer Asset"))
{
EditorGUIUtility.PingObject(rendererData);
Selection.activeObject = rendererData;
Close();
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6d7c06f482aa58a4ea6d2e6f18f373b3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,31 @@
using System;
using System.Text.RegularExpressions;
using UnityEditor;
using UnityEngine;
namespace LeTai.Asset.TranslucentImage.UniversalRP.Editor
{
[CustomEditor(typeof(TranslucentImageBlurSource))]
public class TranslucentImageBlurSourceEditor : UnityEditor.Editor
{
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
var feature = (TranslucentImageBlurSource)target;
if (feature.rendererType == RendererType.Renderer2D)
{
var ver = Version.Parse(Regex.Replace(Application.unityVersion, @"[^\d.]", "."));
if (
ver >= new Version(2023, 1, 7) ||
(ver.Major == 2022 && ver >= new Version(2022, 3, 7))
)
EditorGUILayout.HelpBox("The 2D Renderer is sometimes buggy with custom renderer features at the moment.\n\n" +
"If you're encountering problems, check if the built-in \"Full Screen Pass Renderer Feature\" is functioning correctly in the same setup. If it does not, Translucent Image is unlikely to be able to work either.\n\n" +
"Also, make sure you're on the latest Unity patch release for your minor version", MessageType.Warning, true);
else
EditorGUILayout.HelpBox("This version of the 2D Renderer includes a bug that prevents Translucent Image from working correctly in many cases. (UUM-14400)", MessageType.Error, true);
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6df7a801a41d7224f9848526015f4dd5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: