Import art/VFX asset packs + game-feel systems; normalize texture extensions to lowercase for LFS

Add BefourStudios SciFi environment packs, Gabriel Aguiar VFX, and the
ShaderCrew Toon Shader embedded packages, plus combat/enemy/wave/death
gameplay systems and supporting vault docs/screenshots.

Rename 11 vendor textures from uppercase .PNG/.HDR to lowercase so the
case-sensitive Git LFS filters (*.png/*.hdr) match on case-sensitive
filesystems (Linux CI, case-sensitive macOS), not just locally where
core.ignorecase=true masks the gap. Each .meta moved with its asset so
GUID references are preserved. All ~1000 binaries tracked via LFS.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-02 22:50:43 -07:00
parent dd0064c377
commit e362aaeb43
4830 changed files with 1293057 additions and 38 deletions
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 25e88aaf0a761444eb7efd305b7dc978
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,206 @@
#if UNITY_EDITOR
using System;
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEditor.PackageManager;
using UnityEngine;
namespace ShaderCrew.TheToonShader
{
[InitializeOnLoad]
public static class TheToonShaderPackageInitializer
{
//private const string CurrentPackageVersion = "1.3.1";
private const string VersionKey = "IsTheToonShaderPackageInitialized";
static TheToonShaderPackageInitializer()
{
EditorApplication.delayCall += RunInitialization;
Events.registeredPackages += OnPackagesRegistered;
}
private static void RunInitialization()
{
string storedVersion = EditorPrefs.GetString(VersionKey + Application.productName, "");
if (storedVersion != TheToonShaderConstants.THETOONSHADER_VERSION_3D)
{
#if !__SHADERCREW_DEV_ENV__
EditorPrefs.SetString(VersionKey + Application.productName, TheToonShaderConstants.THETOONSHADER_VERSION_3D);
DoTildeShaderFolderAdjustments();
#endif
}
}
private static void OnPackagesRegistered(PackageRegistrationEventArgs args)
{
//if(args.added != null)
//{
// foreach (UnityEditor.PackageManager.PackageInfo item in args.added)
// {
// Debug.Log(item.name);
// }
//}
if (args.added != null && args.added.Any(pkg => pkg.name == "com.shadercrew.the-toon-shader.3d") ||
args.changedFrom != null && args.changedFrom.Any(pkg => pkg.name == "com.shadercrew.the-toon-shader.3d") ||
args.added != null && args.added.Any(pkg => pkg.name == "com.shadercrew.seethroughshader.3d") ||
args.removed != null && args.removed.Any(pkg => pkg.name == "com.shadercrew.seethroughshader.3d"))
{
#if !__SHADERCREW_DEV_ENV__
DoTildeShaderFolderAdjustments();
#endif
}
}
private static void DoTildeShaderFolderAdjustments()
{
string shaderPackageFolder = "Packages/com.shadercrew.the-toon-shader.3d/";
string nativeShaderFolderURP = shaderPackageFolder + "Scripts/Shaders/Native/URP";
string nativeShaderFolderURPTilde = nativeShaderFolderURP + "~";
#if USING_URP
RenameFolder(nativeShaderFolderURPTilde, nativeShaderFolderURP);
string nativeShaderFolderURP2020 = nativeShaderFolderURP + "/2020";
string nativeShaderFolderURP2020Tilde = nativeShaderFolderURP2020 + "~";
string nativeShaderFolderURP2021 = nativeShaderFolderURP + "/2021";
string nativeShaderFolderURP2021Tilde = nativeShaderFolderURP2021 + "~";
string nativeShaderFolderURP2022 = nativeShaderFolderURP + "/2022";
string nativeShaderFolderURP2022Tilde = nativeShaderFolderURP2022 + "~";
string nativeShaderFolderURPUnity6 = nativeShaderFolderURP + "/Unity6";
string nativeShaderFolderURPUnity6Tilde = nativeShaderFolderURPUnity6 + "~";
string nativeShaderFolderURPUnity6_3 = nativeShaderFolderURP + "/Unity6_3";
string nativeShaderFolderURPUnity6_3Tilde = nativeShaderFolderURPUnity6_3 + "~";
#if UNITY_2020_1_OR_NEWER && !UNITY_2021_1_OR_NEWER
RenameFolder(nativeShaderFolderURP2020Tilde, nativeShaderFolderURP2020);
#else
RenameFolder(nativeShaderFolderURP2020, nativeShaderFolderURP2020Tilde);
#endif
#if UNITY_2021_1_OR_NEWER && !UNITY_2022_1_OR_NEWER
RenameFolder(nativeShaderFolderURP2021Tilde, nativeShaderFolderURP2021);
#else
RenameFolder(nativeShaderFolderURP2021, nativeShaderFolderURP2021Tilde);
#endif
#if UNITY_2022_1_OR_NEWER && !UNITY_2023_1_OR_NEWER
RenameFolder(nativeShaderFolderURP2022Tilde, nativeShaderFolderURP2022);
#else
RenameFolder(nativeShaderFolderURP2022, nativeShaderFolderURP2022Tilde);
#endif
#if UNITY_2023_1_OR_NEWER && !UNITY_6000_3_OR_NEWER
RenameFolder(nativeShaderFolderURPUnity6Tilde, nativeShaderFolderURPUnity6);
#else
RenameFolder(nativeShaderFolderURPUnity6, nativeShaderFolderURPUnity6Tilde);
#endif
#if UNITY_6000_3_OR_NEWER
RenameFolder(nativeShaderFolderURPUnity6_3Tilde, nativeShaderFolderURPUnity6_3);
#else
RenameFolder(nativeShaderFolderURPUnity6_3, nativeShaderFolderURPUnity6_3Tilde);
#endif
#else
RenameFolder(nativeShaderFolderURP, nativeShaderFolderURPTilde);
#endif
string stsShaderFolder = shaderPackageFolder + "Scripts/Shaders/STS";
string stsShaderFolderTilde = stsShaderFolder + "~";
string stsShaderFolderURP = shaderPackageFolder + "Scripts/Shaders/STS/URP";
string stsShaderFolderURPTilde = stsShaderFolderURP + "~";
#if USING_SEE_THROUGH_SHADER
RenameFolder(stsShaderFolderTilde, stsShaderFolder);
#if USING_URP
RenameFolder(stsShaderFolderURPTilde, stsShaderFolderURP);
string stsShaderFolderURP2020 = stsShaderFolderURP + "/2020";
string stsShaderFolderURP2020Tilde = stsShaderFolderURP2020 + "~";
string stsShaderFolderURP2021 = stsShaderFolderURP + "/2021";
string stsShaderFolderURP2021Tilde = stsShaderFolderURP2021 + "~";
string stsShaderFolderURP2022 = stsShaderFolderURP + "/2022";
string stsShaderFolderURP2022Tilde = stsShaderFolderURP2022 + "~";
string stsShaderFolderURPUnity6 = stsShaderFolderURP + "/Unity6";
string stsShaderFolderURPUnity6Tilde = stsShaderFolderURPUnity6 + "~";
string stsShaderFolderURPUnity6_3 = stsShaderFolderURP + "/Unity6_3";
string stsShaderFolderURPUnity6_3Tilde = stsShaderFolderURPUnity6_3 + "~";
#if UNITY_2020_1_OR_NEWER && !UNITY_2021_1_OR_NEWER
RenameFolder(stsShaderFolderURP2020Tilde, stsShaderFolderURP2020);
#else
RenameFolder(stsShaderFolderURP2020, stsShaderFolderURP2020Tilde);
#endif
#if UNITY_2021_1_OR_NEWER && !UNITY_2022_1_OR_NEWER
RenameFolder(stsShaderFolderURP2021Tilde, stsShaderFolderURP2021);
#else
RenameFolder(stsShaderFolderURP2021, stsShaderFolderURP2021Tilde);
#endif
#if UNITY_2022_1_OR_NEWER && !UNITY_2023_1_OR_NEWER
RenameFolder(stsShaderFolderURP2022Tilde, stsShaderFolderURP2022);
#else
RenameFolder(stsShaderFolderURP2022, stsShaderFolderURP2022Tilde);
#endif
#if UNITY_2023_1_OR_NEWER && !UNITY_6000_3_OR_NEWER
RenameFolder(stsShaderFolderURPUnity6Tilde, stsShaderFolderURPUnity6);
#else
RenameFolder(stsShaderFolderURPUnity6, stsShaderFolderURPUnity6Tilde);
#endif
#if UNITY_6000_3_OR_NEWER
RenameFolder(stsShaderFolderURPUnity6_3Tilde, stsShaderFolderURPUnity6_3);
#else
RenameFolder(stsShaderFolderURPUnity6_3, stsShaderFolderURPUnity6_3Tilde);
#endif
#else
RenameFolder(stsShaderFolderURP, stsShaderFolderURPTilde);
#endif
#else
RenameFolder(stsShaderFolder, stsShaderFolderTilde);
#endif
}
private static void RenameFolder(string oldName, string newName)
{
if (Directory.Exists(oldName))
{
Directory.Move(oldName, newName);
string meta = oldName + ".meta";
if (File.Exists(meta))
{
File.Delete(meta);
}
AssetDatabase.Refresh();
}
}
}
}
#endif
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: caeee248b68067048b371329da21af54
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 269238
packageName: The Toon Shader
packageVersion: 1.4.2
assetPath: Packages/com.shadercrew.the-toon-shader.3d/Scripts/Editor/Common/TheToonShaderPackageInitializer.cs
uploadId: 919972
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0be7bf4dc430a2c4398d08c83fadaca0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 5a4d89afa711b8c40a4a9841631ac7df
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 269238
packageName: The Toon Shader
packageVersion: 1.4.2
assetPath: Packages/com.shadercrew.the-toon-shader.3d/Scripts/Editor/Components/ReplaceOrSynchronizeToonSettingsEditor.cs
uploadId: 919972
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8dcd426c88cc85548a60832beca1a83e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,399 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEngine;
using static ShaderCrew.TheToonShader.ShaderUtils;
namespace ShaderCrew.TheToonShader
{
[CustomEditor(typeof(RPHelper))]
public class RPHelperEditor : Editor
{
bool m_FirstTimeApply = true;
bool LinkLabel(GUIContent label)
{
GUIStyle m_LinkStyle = new GUIStyle(EditorStyles.label);
m_LinkStyle.wordWrap = false;
m_LinkStyle.normal.textColor = new Color(0x00 / 255f, 0x78 / 255f, 0xDA / 255f, 1f);
m_LinkStyle.stretchWidth = false;
//m_LinkStyle.contentOffset = new Vector2(15, 0);
m_LinkStyle.alignment = TextAnchor.MiddleCenter;
m_LinkStyle.fontStyle = FontStyle.Bold;
m_LinkStyle.fontSize = 15;
return GUILayout.Button(label, m_LinkStyle);
}
Material[] mats;
UnityVersionRenderPipelineShaderInfo unityVersionRenderPipelineShader;
Dictionary<string, string> UnityToSTSShaderNameMapping;
Dictionary<string, Shader> UnityToSTSShaderMapping;
GUIStyle stepHeaderStyle;
GUIStyle centerLabelStyle;
GUIStyle textAreaStyle;
GUIStyle m_LinkStyle;
GUIStyle headerStyle;
GUIStyle grayHeaderStyle;
GUIStyle bigTextStyle;
GUIStyle bigErrorStyle;
GUIStyle textAreaBoldStyle;
GUIStyle step2TextStyle;
string richColor;
Color buttonColor;
public override void OnInspectorGUI()
{
if (m_FirstTimeApply)
{
m_FirstTimeApply = false;
DoSetup();
m_FirstTimeApply = false;
}
if (UnityToSTSShaderNameMapping == null) {
UnityToSTSShaderNameMapping = getUnityToTTSShaderMapping();
}
if (UnityToSTSShaderMapping == null)
{
UnityToSTSShaderMapping = new Dictionary<string, Shader>();
}
foreach (string key in UnityToSTSShaderNameMapping.Keys.ToList())
{
Shader shader = Shader.Find(UnityToSTSShaderNameMapping[key]);
UnityToSTSShaderMapping[key] = shader ?? Shader.Find(UnityToSTSShaderNameMapping[TheToonShaderConstants.TTS_SHADER_DEFAULT_KEY]);
}
serializedObject.Update();
EditorUtils.usualStart("Render Pipeline Setup Helper");
EditorGUILayout.Space(5);
GUILayout.Label("Welcome to the 'The Toon Shader' Demo!", headerStyle);
EditorUtils.DrawUILineGray(2, 0);
EditorGUILayout.Space(10);
GUILayout.TextArea("When you import the package for the first time, " +
"it is set up for the 'Built-in' Render Pipeline. To ensure that it works with URP" + //" or HDRP, depending on which Render Pipeline you chose," +
" we have to do some minor changes to the materials, i.e. assign the correct shader! " +
"\nHere we will walk you through the needed steps. So let's get started! :) ", textAreaStyle);
EditorGUILayout.Space(10);
EditorUtils.DrawUILineGray(2, 0);
unityVersionRenderPipelineShader = getUnityVersionAndRenderPipelineCorrectedShaderString();
EditorGUILayout.Space(10);
GUILayout.Label("RenderPipeline currently in use ", grayHeaderStyle);
GUILayout.Label(unityVersionRenderPipelineShader.renderPipeline, bigTextStyle);
EditorGUILayout.Space(5);
bool isCorrectShaderUsed = true;
mats = Resources.LoadAll("TTSReferenceMaterials", typeof(Material)).Cast<Material>().ToArray();
List<Material> matListNotCorrectShader = new List<Material>();
if (mats != null)
{
foreach (Material mat in mats)
{
//if (mat.shader.name != unityVersionRenderPipelineShader.versionAndRPCorrectedShader)
if (!UnityToSTSShaderNameMapping.Values.Contains(mat.shader.name))
{
isCorrectShaderUsed = false;
matListNotCorrectShader.Add(mat);
}
}
}
else
{
Debug.LogError("Reference mats are empty. Please check if all your materials are inside resources/TTSReferenceMaterials");
isCorrectShaderUsed = false;
}
GUILayout.Label("Reference Materials Shader", grayHeaderStyle);
if (isCorrectShaderUsed)
{
GUILayout.Label(unityVersionRenderPipelineShader.shaderFolder, bigTextStyle);
}
else
{
GUILayout.Label("One or more of your reference materials have the wrong shader assigned! \n Action is required!", bigErrorStyle);
GUILayout.Label("Materials with incorrect shaders: ", bigErrorStyle);
foreach (Material item in matListNotCorrectShader)
{
GUILayout.Label(item.name + " with shader: \n" + item.shader.name);
}
}
EditorGUILayout.Space(10);
if (!isCorrectShaderUsed)
{
if ((unityVersionRenderPipelineShader.renderPipeline == "Built-in RP"))
{
autoAssignShader(mats, unityVersionRenderPipelineShader);
}
else if ((unityVersionRenderPipelineShader.renderPipeline == "URP"))
{
displayStepsForURPandHDRP(true);
}
else if ((unityVersionRenderPipelineShader.renderPipeline == "HDRP"))
{
displayStepsForURPandHDRP(false);
}
}
else
{
GUILayout.Label("Everything should work fine! No changes needed!", stepHeaderStyle);
}
EditorGUILayout.Space(10);
//base.DrawDefaultInspector();
EditorUtils.usualEnd();
//EditorStyles.label.normal.textColor = oriCol;
serializedObject.ApplyModifiedProperties();
}
void DoSetup()
{
m_LinkStyle = new GUIStyle(EditorStyles.label);
m_LinkStyle.wordWrap = false;
m_LinkStyle.stretchWidth = false;
headerStyle = new GUIStyle();
headerStyle.alignment = TextAnchor.MiddleCenter;
headerStyle.fontStyle = FontStyle.Bold;
headerStyle.fontSize = 15;
grayHeaderStyle = new GUIStyle();
grayHeaderStyle.fontSize = 14;
grayHeaderStyle.alignment = TextAnchor.MiddleCenter;
grayHeaderStyle.wordWrap = true;
bigTextStyle = new GUIStyle();
bigTextStyle.fontStyle = FontStyle.Bold;
bigTextStyle.fontSize = 15;
bigTextStyle.alignment = TextAnchor.MiddleCenter;
bigErrorStyle = new GUIStyle();
bigErrorStyle.fontStyle = FontStyle.Bold;
bigErrorStyle.fontSize = 13;
bigErrorStyle.alignment = TextAnchor.MiddleCenter;
bigErrorStyle.wordWrap = true;
textAreaStyle = new GUIStyle();
textAreaStyle.padding.left = 20;
textAreaStyle.padding.right = 20;
//textAreaStyle.fontStyle = FontStyle.Bold;
textAreaStyle.wordWrap = true;
textAreaStyle.fontSize = 15;
textAreaStyle.richText = true;
textAreaBoldStyle = new GUIStyle();
textAreaBoldStyle.normal.textColor = Color.white;
textAreaBoldStyle.padding.left = 20;
textAreaBoldStyle.padding.right = 20;
textAreaBoldStyle.fontStyle = FontStyle.Bold;
textAreaBoldStyle.wordWrap = true;
textAreaBoldStyle.fontSize = 15;
stepHeaderStyle = new GUIStyle();
stepHeaderStyle.fontStyle = FontStyle.Bold;
stepHeaderStyle.alignment = TextAnchor.MiddleCenter;
//bigTextStyle2.fontSize = 16;
centerLabelStyle = new GUIStyle();
centerLabelStyle.normal.textColor = Color.gray;
centerLabelStyle.alignment = TextAnchor.MiddleCenter;
//textColor = Color.white;
//oriCol = EditorStyles.label.normal.textColor;
step2TextStyle = new GUIStyle();
step2TextStyle.fontSize = 15;
step2TextStyle.padding.left = 20;
step2TextStyle.padding.right = 20;
step2TextStyle.alignment = TextAnchor.MiddleCenter;
step2TextStyle.wordWrap = true;
if (EditorGUIUtility.isProSkin)
{
m_LinkStyle.normal.textColor = new Color(1f, 0.3f, 0.3f, 1);
headerStyle.normal.textColor = Color.white;
grayHeaderStyle.normal.textColor = new Color(0.7f, 0.7f, 0.7f, 1);
textAreaStyle.normal.textColor = Color.white;
bigErrorStyle.normal.textColor = new Color(1f, 0.3f, 0.3f, 1);
richColor = "silver";
stepHeaderStyle.normal.textColor = Color.white;
step2TextStyle.normal.textColor = new Color(0.7f, 0.7f, 0.7f, 1);
bigTextStyle.normal.textColor = Color.white;
buttonColor = new Color(0.6f, 0.6f, 0.6f, 1);
}
else
{
m_LinkStyle.normal.textColor = new Color(1f, 0.3f, 0.3f, 1);
headerStyle.normal.textColor = Color.black;
grayHeaderStyle.normal.textColor = new Color(0.2f, 0.2f, 0.2f, 1);
textAreaStyle.normal.textColor = Color.black;
bigErrorStyle.normal.textColor = new Color(0.6f, 0.0f, 0.0f, 1);
richColor = "#161616";
stepHeaderStyle.normal.textColor = Color.black;
step2TextStyle.normal.textColor = Color.black;
bigTextStyle.normal.textColor = Color.black;
buttonColor = new Color(0.8f, 0.8f, 0.8f, 1);
}
}
private void autoAssignShader(Material[] mats, UnityVersionRenderPipelineShaderInfo unityVersionRenderPipelineShader)
{
GUILayout.Label("Automatically assign the correct shader to your Reference Materials", step2TextStyle);
GUILayout.BeginHorizontal();
GUILayout.FlexibleSpace();
Color originalBackgroundColor = GUI.backgroundColor;
GUI.backgroundColor = buttonColor;
if (GUILayout.Button("Assign Shader", GUILayout.Width(100), GUILayout.Height(30)))
{
if (mats != null)
{
foreach (Material mat in mats)
{
//if (mat.shader.name != unityVersionRenderPipelineShader.versionAndRPCorrectedShader)
if (!UnityToSTSShaderMapping.Values.Contains(mat.shader))
{
if(mat.GetFloat("_EnableOutline") == 1.0)
{
mat.shader = UnityToSTSShaderMapping.TryGetValue(mat.shader.name, out Shader value) ? value : UnityToSTSShaderMapping[TheToonShaderConstants.TTS_SHADER_STANDARD_WITH_OUTLINE_KEY];
}
else
{
mat.shader = UnityToSTSShaderMapping.TryGetValue(mat.shader.name, out Shader value) ? value : UnityToSTSShaderMapping[TheToonShaderConstants.TTS_SHADER_STANDARD_KEY];
}
//if((unityVersionRenderPipelineShader.renderPipeline == "URP"))
//{
// mat.SetColor("_BaseColor", mat.GetColor("_Color"));
//}
}
}
}
else
{
Debug.LogError("Reference mats are empty. Can NOT do auto assign!");
}
}
GUI.backgroundColor = originalBackgroundColor;
GUILayout.FlexibleSpace();
GUILayout.EndHorizontal();
}
private void displayStepsForURPandHDRP(bool isURP)
{
string step1Text;
string link;
string commonNote = "\n\nIMPORTANT: <color=" + richColor + "> In case you added this asset to an existing project, please select all the materials inside </color>" +
"\n\nAssets/Samples/The Toon Shader/1.X.X/The Toon Shader Examples/Materials/" +
"\n\nAssets/Samples/The Toon Shader/1.X.X/The Toon Shader Examples/Models/TempleForToon/" +
"\n\n<color=" + richColor + "> and use </color> ";
if (isURP)
{
step1Text = "<color=" + richColor + ">First you need to convert all standard shaders to Lit shaders using the tool provided by unity. For this go to </color> " +
"<b>Edit > Render Pipeline > Universal Render Pipeline</b> <color=" + richColor + ">and then select</color> <b>Upgrade Project Materials to URP Materials</b>." +
commonNote +
"<b>Upgrade Selected Materials to URP Materials</b> <color=" + richColor + ">instead!</color>";
#if UNITY_6000_3_OR_NEWER
step1Text += "\n\n<color=" + richColor + ">In Unity 6.3, you need to use </color> <b>Window > Rendering > Render Pipeline Converter</b> <color=" + richColor + ">, since</color> " +
"<b>Edit > Rendering > Materials > Convert Selected Built-in Materials to URP</b> <color=" + richColor + ">appears to be missing, despite being mentioned in the documentation.</color> ";
#elif UNITY_6000_0_OR_NEWER
step1Text += "\n\n<color=" + richColor + ">In newer Versions (Unity 6) the converter is located under</color> <b>Edit > Rendering > Materials > Convert Selected Built-in Materials to URP</b>";
#endif
#if UNITY_6000_0_OR_NEWER
link = "https://docs.unity3d.com/6000.3/Documentation/Manual/upgrade-material.html";
#else
link = "https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@10.7/manual/upgrading-your-shaders.html";
#endif
}
else
{
//step1Text = "<color=" + richColor + ">First you need to convert all standard shaders to Lit shaders using the tool provided by unity. For this go to </color> " +
//"<b>Edit > Render Pipeline > High Definition RP</b> <color=" + richColor + ">and then select</color> <b>Upgrade Project Materials to High Definition Materials</b>" +
// commonNote + "<b>Upgrade Selected Materials to High Definition Materials</b> <color=" + richColor + ">instead!</color>";
//link = "https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@10.7/manual/Upgrading-To-HDRP.html";
step1Text = "unsupported";
link = "unsupported";
}
Rect rect = EditorGUILayout.BeginVertical();
rect.width -= 20;
rect.x += 10;
//GUI.Box(rect, GUIContent.none);
if (EditorGUIUtility.isProSkin)
{
GUI.Box(rect, GUIContent.none);
}
else
{
EditorUtils.DrawBox(rect, new Color(0.8f, 0.8f, 0.8f, 1));
}
GUILayout.Label("STEP 1:", stepHeaderStyle);
EditorGUILayout.Space(5);
GUILayout.TextArea(step1Text, textAreaStyle);
EditorGUILayout.Space(10);
GUILayout.Label("Link to Unity Documentation:", stepHeaderStyle);
GUILayout.BeginHorizontal();
GUILayout.FlexibleSpace();
if (LinkLabel(new GUIContent("Unity Documentation")))
{
Application.OpenURL(link);
}
GUILayout.FlexibleSpace();
GUILayout.EndHorizontal();
EditorGUILayout.Space(5);
GUILayout.Label("Please finish step 1 before you do step 2!", centerLabelStyle);
EditorGUILayout.Space(15);
EditorUtils.DrawUILineCenter(new Color(0.2f, 0.2f, 0.2f, 1));
EditorGUILayout.Space(15);
GUILayout.Label("STEP 2:", stepHeaderStyle);
EditorGUILayout.Space(5);
autoAssignShader(mats, unityVersionRenderPipelineShader);
EditorGUILayout.Space(15);
EditorGUILayout.EndVertical();
EditorGUILayout.Space(100);
}
}
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 2cf0780bcea1df74ebf3c684a4ed27e3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 269238
packageName: The Toon Shader
packageVersion: 1.4.2
assetPath: Packages/com.shadercrew.the-toon-shader.3d/Scripts/Editor/Demo/RPHelperEditor.cs
uploadId: 919972
@@ -0,0 +1,449 @@
#if USING_SEE_THROUGH_SHADER
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEngine;
using static ShaderCrew.TheToonShader.ShaderUtils;
using static ShaderCrew.SeeThroughShader.GeneralUtils;
using ShaderCrew.SeeThroughShader;
namespace ShaderCrew.TheToonShader
{
[CustomEditor(typeof(RPHelperToonSTS))]
public class RPHelperToonSTSEditor : Editor
{
bool m_FirstTimeApply = true;
bool LinkLabel(GUIContent label)
{
GUIStyle m_LinkStyle = new GUIStyle(EditorStyles.label);
m_LinkStyle.wordWrap = false;
m_LinkStyle.normal.textColor = new Color(0x00 / 255f, 0x78 / 255f, 0xDA / 255f, 1f);
m_LinkStyle.stretchWidth = false;
//m_LinkStyle.contentOffset = new Vector2(15, 0);
m_LinkStyle.alignment = TextAnchor.MiddleCenter;
m_LinkStyle.fontStyle = FontStyle.Bold;
m_LinkStyle.fontSize = 15;
return GUILayout.Button(label, m_LinkStyle);
}
Material[] mats;
TheToonShader.ShaderUtils.UnityVersionRenderPipelineShaderInfo unityVersionRenderPipelineShader;
Dictionary<string, string> UnityToSTSShaderNameMapping;
Dictionary<string, string> UnityToTTSShaderNameMapping;
Dictionary<string, Shader> UnityToSTSShaderMapping;
Dictionary<string, Shader> UnityToTTSShaderMapping;
GUIStyle stepHeaderStyle;
GUIStyle centerLabelStyle;
GUIStyle textAreaStyle;
GUIStyle m_LinkStyle;
GUIStyle headerStyle;
GUIStyle grayHeaderStyle;
GUIStyle bigTextStyle;
GUIStyle bigErrorStyle;
GUIStyle textAreaBoldStyle;
GUIStyle step2TextStyle;
string richColor;
Color buttonColor;
public override void OnInspectorGUI()
{
if (m_FirstTimeApply)
{
m_FirstTimeApply = false;
DoSetup();
m_FirstTimeApply = false;
}
if (UnityToSTSShaderNameMapping == null)
{
UnityToSTSShaderNameMapping = ShaderCrew.SeeThroughShader.GeneralUtils.getUnityToSTSShaderMapping();
}
if (UnityToTTSShaderNameMapping == null)
{
UnityToTTSShaderNameMapping = getUnityToTTSShaderMapping();
}
if (UnityToSTSShaderMapping == null)
{
UnityToSTSShaderMapping = new Dictionary<string, Shader>();
}
foreach (string key in UnityToSTSShaderNameMapping.Keys.ToList())
{
Shader shader = Shader.Find(UnityToSTSShaderNameMapping[key]);
UnityToSTSShaderMapping[key] = shader ?? Shader.Find(UnityToSTSShaderNameMapping[SeeThroughShaderConstants.STS_SHADER_DEFAULT_KEY]);
}
if (UnityToTTSShaderMapping == null)
{
UnityToTTSShaderMapping = new Dictionary<string, Shader>();
}
foreach (string key in UnityToTTSShaderNameMapping.Keys.ToList())
{
Shader shader = Shader.Find(UnityToTTSShaderNameMapping[key]);
UnityToTTSShaderMapping[key] = shader ?? Shader.Find(UnityToTTSShaderNameMapping[TheToonShaderConstants.TTS_SHADER_DEFAULT_KEY]);
}
serializedObject.Update();
EditorUtils.usualStart("Render Pipeline Setup Helper");
EditorGUILayout.Space(5);
GUILayout.Label("Welcome to the 'The Toon Shader' x 'See-through Shader' Demo!", headerStyle);
EditorUtils.DrawUILineGray(2, 0);
EditorGUILayout.Space(10);
GUILayout.TextArea("When you import the package for the first time, " +
"it is set up for the 'Built-in' Render Pipeline. To ensure that it works with URP" + //" or HDRP, depending on which Render Pipeline you chose," +
" we have to do some minor changes to the materials, i.e. assign the correct shader! " +
"\nHere we will walk you through the needed steps. So let's get started! :) ", textAreaStyle);
EditorGUILayout.Space(10);
EditorUtils.DrawUILineGray(2, 0);
unityVersionRenderPipelineShader = ShaderUtils.getUnityVersionAndRenderPipelineCorrectedShaderString();
EditorGUILayout.Space(10);
GUILayout.Label("RenderPipeline currently in use ", grayHeaderStyle);
GUILayout.Label(unityVersionRenderPipelineShader.renderPipeline, bigTextStyle);
EditorGUILayout.Space(5);
bool isCorrectShaderUsed = true;
mats = Resources.LoadAll("TTSxSTSMaterials", typeof(Material)).Cast<Material>().ToArray();
List<Material> matListNotCorrectShader = new List<Material>();
if (mats != null)
{
foreach (Material mat in mats)
{
if(mat.HasProperty(TheToonShaderConstants.THETOONSHADER_IDENTIFIER_PROPERTY))
{
if (!UnityToTTSShaderNameMapping.Values.Contains(mat.shader.name))
{
isCorrectShaderUsed = false;
matListNotCorrectShader.Add(mat);
}
//if (mat.HasProperty(SeeThroughShader.SeeThroughShaderConstants.STS_SHADER_IDENTIFIER_PROPERTY))
//{
//}
//else
//{
//}
}
else if (mat.HasProperty(SeeThroughShader.SeeThroughShaderConstants.STS_SHADER_IDENTIFIER_PROPERTY))
{
if (!UnityToSTSShaderNameMapping.Values.Contains(mat.shader.name))
{
isCorrectShaderUsed = false;
matListNotCorrectShader.Add(mat);
}
}
}
}
else
{
Debug.LogError("Reference mats are empty. Please check if all your materials are inside samples Resources/TTSxSTSMaterials");
isCorrectShaderUsed = false;
}
GUILayout.Label("Reference Materials Shader", grayHeaderStyle);
if (isCorrectShaderUsed)
{
GUILayout.Label(unityVersionRenderPipelineShader.shaderFolder, bigTextStyle);
}
else
{
GUILayout.Label("One or more of your reference materials have the wrong shader assigned! \n Action is required!", bigErrorStyle);
GUILayout.Label("Materials with incorrect shaders: ", bigErrorStyle);
foreach (Material item in matListNotCorrectShader)
{
GUILayout.Label(item.name + " with shader: \n" + item.shader.name);
}
}
EditorGUILayout.Space(10);
if (!isCorrectShaderUsed)
{
if ((unityVersionRenderPipelineShader.renderPipeline == "Built-in RP"))
{
autoAssignShader(mats, unityVersionRenderPipelineShader);
}
else if ((unityVersionRenderPipelineShader.renderPipeline == "URP"))
{
displayStepsForURPandHDRP(true);
}
else if ((unityVersionRenderPipelineShader.renderPipeline == "HDRP"))
{
displayStepsForURPandHDRP(false);
}
}
else
{
GUILayout.Label("Everything should work fine! No changes needed!", stepHeaderStyle);
}
EditorGUILayout.Space(10);
//base.DrawDefaultInspector();
EditorUtils.usualEnd();
//EditorStyles.label.normal.textColor = oriCol;
serializedObject.ApplyModifiedProperties();
}
void DoSetup()
{
m_LinkStyle = new GUIStyle(EditorStyles.label);
m_LinkStyle.wordWrap = false;
m_LinkStyle.stretchWidth = false;
headerStyle = new GUIStyle();
headerStyle.alignment = TextAnchor.MiddleCenter;
headerStyle.fontStyle = FontStyle.Bold;
headerStyle.fontSize = 15;
grayHeaderStyle = new GUIStyle();
grayHeaderStyle.fontSize = 14;
grayHeaderStyle.alignment = TextAnchor.MiddleCenter;
grayHeaderStyle.wordWrap = true;
bigTextStyle = new GUIStyle();
bigTextStyle.fontStyle = FontStyle.Bold;
bigTextStyle.fontSize = 15;
bigTextStyle.alignment = TextAnchor.MiddleCenter;
bigErrorStyle = new GUIStyle();
bigErrorStyle.fontStyle = FontStyle.Bold;
bigErrorStyle.fontSize = 13;
bigErrorStyle.alignment = TextAnchor.MiddleCenter;
bigErrorStyle.wordWrap = true;
textAreaStyle = new GUIStyle();
textAreaStyle.padding.left = 20;
textAreaStyle.padding.right = 20;
//textAreaStyle.fontStyle = FontStyle.Bold;
textAreaStyle.wordWrap = true;
textAreaStyle.fontSize = 15;
textAreaStyle.richText = true;
textAreaBoldStyle = new GUIStyle();
textAreaBoldStyle.normal.textColor = Color.white;
textAreaBoldStyle.padding.left = 20;
textAreaBoldStyle.padding.right = 20;
textAreaBoldStyle.fontStyle = FontStyle.Bold;
textAreaBoldStyle.wordWrap = true;
textAreaBoldStyle.fontSize = 15;
stepHeaderStyle = new GUIStyle();
stepHeaderStyle.fontStyle = FontStyle.Bold;
stepHeaderStyle.alignment = TextAnchor.MiddleCenter;
//bigTextStyle2.fontSize = 16;
centerLabelStyle = new GUIStyle();
centerLabelStyle.normal.textColor = Color.gray;
centerLabelStyle.alignment = TextAnchor.MiddleCenter;
//textColor = Color.white;
//oriCol = EditorStyles.label.normal.textColor;
step2TextStyle = new GUIStyle();
step2TextStyle.fontSize = 15;
step2TextStyle.padding.left = 20;
step2TextStyle.padding.right = 20;
step2TextStyle.alignment = TextAnchor.MiddleCenter;
step2TextStyle.wordWrap = true;
if (EditorGUIUtility.isProSkin)
{
m_LinkStyle.normal.textColor = new Color(1f, 0.3f, 0.3f, 1);
headerStyle.normal.textColor = Color.white;
grayHeaderStyle.normal.textColor = new Color(0.7f, 0.7f, 0.7f, 1);
textAreaStyle.normal.textColor = Color.white;
bigErrorStyle.normal.textColor = new Color(1f, 0.3f, 0.3f, 1);
richColor = "silver";
stepHeaderStyle.normal.textColor = Color.white;
step2TextStyle.normal.textColor = new Color(0.7f, 0.7f, 0.7f, 1);
bigTextStyle.normal.textColor = Color.white;
buttonColor = new Color(0.6f, 0.6f, 0.6f, 1);
}
else
{
m_LinkStyle.normal.textColor = new Color(1f, 0.3f, 0.3f, 1);
headerStyle.normal.textColor = Color.black;
grayHeaderStyle.normal.textColor = new Color(0.2f, 0.2f, 0.2f, 1);
textAreaStyle.normal.textColor = Color.black;
bigErrorStyle.normal.textColor = new Color(0.6f, 0.0f, 0.0f, 1);
richColor = "#161616";
stepHeaderStyle.normal.textColor = Color.black;
step2TextStyle.normal.textColor = Color.black;
bigTextStyle.normal.textColor = Color.black;
buttonColor = new Color(0.8f, 0.8f, 0.8f, 1);
}
}
private void autoAssignShader(Material[] mats, TheToonShader.ShaderUtils.UnityVersionRenderPipelineShaderInfo unityVersionRenderPipelineShader)
{
GUILayout.Label("Automatically assign the correct shader to your Reference Materials", step2TextStyle);
GUILayout.BeginHorizontal();
GUILayout.FlexibleSpace();
Color originalBackgroundColor = GUI.backgroundColor;
GUI.backgroundColor = buttonColor;
if (GUILayout.Button("Assign Shader", GUILayout.Width(100), GUILayout.Height(30)))
{
if (mats != null)
{
foreach (Material mat in mats)
{
if (mat.HasProperty(TheToonShaderConstants.THETOONSHADER_IDENTIFIER_PROPERTY))
{
if (!UnityToTTSShaderMapping.Values.Contains(mat.shader))
{
if (mat.HasProperty(SeeThroughShader.SeeThroughShaderConstants.STS_SHADER_IDENTIFIER_PROPERTY))
{
if (mat.GetFloat("_EnableOutline") == 1.0)
{
mat.shader = UnityToTTSShaderMapping.TryGetValue(mat.shader.name, out Shader value) ? value : UnityToTTSShaderMapping[TheToonShaderConstants.TTS_SHADER_STS_WITH_OUTLINE_KEY];
}
else
{
mat.shader = UnityToTTSShaderMapping.TryGetValue(mat.shader.name, out Shader value) ? value : UnityToTTSShaderMapping[TheToonShaderConstants.TTS_SHADER_STS_KEY];
}
}
else
{
if (mat.GetFloat("_EnableOutline") == 1.0)
{
mat.shader = UnityToTTSShaderMapping.TryGetValue(mat.shader.name, out Shader value) ? value : UnityToTTSShaderMapping[TheToonShaderConstants.TTS_SHADER_STANDARD_WITH_OUTLINE_KEY];
}
else
{
mat.shader = UnityToTTSShaderMapping.TryGetValue(mat.shader.name, out Shader value) ? value : UnityToTTSShaderMapping[TheToonShaderConstants.TTS_SHADER_STANDARD_KEY];
}
}
}
}
else if (mat.HasProperty(SeeThroughShader.SeeThroughShaderConstants.STS_SHADER_IDENTIFIER_PROPERTY))
{
if (!UnityToSTSShaderNameMapping.Values.Contains(mat.shader.name))
{
//if (mat.shader.name != unityVersionRenderPipelineShader.versionAndRPCorrectedShader)
if (!UnityToSTSShaderMapping.Values.Contains(mat.shader))
{
mat.shader = UnityToSTSShaderMapping.TryGetValue(mat.shader.name, out Shader value) ? value : UnityToSTSShaderMapping[SeeThroughShaderConstants.STS_SHADER_DEFAULT_KEY];
}
}
}
}
}
else
{
Debug.LogError("Reference mats are empty. Can NOT do auto assign!");
}
}
GUI.backgroundColor = originalBackgroundColor;
GUILayout.FlexibleSpace();
GUILayout.EndHorizontal();
}
private void displayStepsForURPandHDRP(bool isURP)
{
//string step1Text;
//string link;
//string commonNote = "\n\nIMPORTANT: <color=" + richColor + "> In case you added this asset to an existing project, please select all the materials inside </color>" +
// "\n\nAssets/Samples/The Toon Shader/1.X.X/The Toon Shader Examples/Materials/" +
// "\n\nAssets/Samples/The Toon Shader/1.X.X/The Toon Shader Examples/Models/TempleForToon/" +
// "\n\n<color=" + richColor + "> and use </color> ";
//if (isURP)
//{
// step1Text = "<color=" + richColor + ">First you need to convert all standard shaders to Lit shaders using the tool provided by unity. For this go to </color> " +
// "<b>Edit > Render Pipeline > Universal Render Pipeline</b> <color=" + richColor + ">and then select</color> <b>Upgrade Project Materials to URP Materials</b>." +
// commonNote +
// "<b>Upgrade Selected Materials to URP Materials</b> <color=" + richColor + ">instead!</color>";
// link = "https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@10.7/manual/upgrading-your-shaders.html";
//}
//else
//{
// step1Text = "<color=" + richColor + ">First you need to convert all standard shaders to Lit shaders using the tool provided by unity. For this go to </color> " +
// "<b>Edit > Render Pipeline > High Definition RP</b> <color=" + richColor + ">and then select</color> <b>Upgrade Project Materials to High Definition Materials</b>" +
// commonNote + "<b>Upgrade Selected Materials to High Definition Materials</b> <color=" + richColor + ">instead!</color>";
// link = "https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@10.7/manual/Upgrading-To-HDRP.html";
//}
Rect rect = EditorGUILayout.BeginVertical();
rect.width -= 20;
rect.x += 10;
////GUI.Box(rect, GUIContent.none);
//if (EditorGUIUtility.isProSkin)
//{
// GUI.Box(rect, GUIContent.none);
//}
//else
//{
// EditorUtils.DrawBox(rect, new Color(0.8f, 0.8f, 0.8f, 1));
//}
//GUILayout.Label("STEP 1:", stepHeaderStyle);
//EditorGUILayout.Space(5);
//GUILayout.TextArea(step1Text, textAreaStyle);
//if (LinkLabel(new GUIContent("Unity Documentation")))
//{
// Application.OpenURL(link);
//}
////GUILayout.FlexibleSpace();
//EditorGUILayout.Space(5);
//GUILayout.Label("Please finish step 1 before you do step 2!", centerLabelStyle);
//EditorGUILayout.Space(15);
//EditorUtils.DrawUILineCenter(new Color(0.2f, 0.2f, 0.2f, 1));
EditorGUILayout.Space(15);
//GUILayout.Label("STEP 1:", stepHeaderStyle);
EditorGUILayout.Space(5);
autoAssignShader(mats, unityVersionRenderPipelineShader);
EditorGUILayout.Space(15);
EditorGUILayout.EndVertical();
//EditorGUILayout.Space(100);
}
}
}
#endif
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 833cd64d1a1171844afeb4eb8d5d061e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 269238
packageName: The Toon Shader
packageVersion: 1.4.2
assetPath: Packages/com.shadercrew.the-toon-shader.3d/Scripts/Editor/Demo/RPHelperEditorToonSTS.cs
uploadId: 919972
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e8525b9e08e07834eb695f50b353be5d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f89e1bcd519f2f94d890414b627e563d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,44 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: abb55f1f10b566340bf309a09598fc57, type: 3}
m_Name: 07_Hatching_PsychedelicVisions_TTS_RefMatLight
m_EditorClassIdentifier:
gradient:
serializedVersion: 2
key0: {r: 0, g: 0.5205393, b: 1, a: 1}
key1: {r: 0, g: 0.078727365, b: 0.1509434, a: 1}
key2: {r: 0.9130574, g: 0.045257032, b: 0.2563889, a: 0}
key3: {r: 1, g: 0.8608516, b: 0, a: 0}
key4: {r: 1, g: 0.14244922, b: 0, a: 0}
key5: {r: 1, g: 0, b: 0.89338493, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 27563
ctime1: 31997
ctime2: 36044
ctime3: 58018
ctime4: 53970
ctime5: 59560
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 4
m_NumAlphaKeys: 2
isBakedToTexture: 1
@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 01a14e01d1fd4e34289cfaab1062927f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 269238
packageName: The Toon Shader
packageVersion: 1.4.2
assetPath: Packages/com.shadercrew.the-toon-shader.3d/Scripts/Editor/Resources/GradientScriptableObjects/07_Hatching_PsychedelicVisions_TTS_RefMatLight.asset
uploadId: 919972
@@ -0,0 +1,44 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: abb55f1f10b566340bf309a09598fc57, type: 3}
m_Name: HatchingXHalftone_00_CaliforniaSunrise_TTS_RefMatLight
m_EditorClassIdentifier:
gradient:
serializedVersion: 2
key0: {r: 0, g: 0.5205393, b: 1, a: 1}
key1: {r: 0.9130574, g: 0.045257032, b: 0.2563889, a: 1}
key2: {r: 1, g: 0, b: 0.89338493, a: 0}
key3: {r: 1, g: 0.8608516, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 31997
ctime1: 35466
ctime2: 48959
ctime3: 65535
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 4
m_NumAlphaKeys: 2
isBakedToTexture: 1
@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 219e20f223847824180bd98c10d9b76b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 269238
packageName: The Toon Shader
packageVersion: 1.4.2
assetPath: Packages/com.shadercrew.the-toon-shader.3d/Scripts/Editor/Resources/GradientScriptableObjects/HatchingXHalftone_00_CaliforniaSunrise_TTS_RefMatLight.asset
uploadId: 919972
@@ -0,0 +1,44 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: abb55f1f10b566340bf309a09598fc57, type: 3}
m_Name: NoStyling_05_ColorBasedGradient1_TTS_RefMatLight
m_EditorClassIdentifier:
gradient:
serializedVersion: 2
key0: {r: 0.4245283, g: 0.006007465, b: 0.042794917, a: 1}
key1: {r: 0, g: 0.46160936, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 1, g: 0.4631136, b: 0, a: 0}
key4: {r: 1, g: 0.6925416, b: 0, a: 0}
key5: {r: 1, g: 1, b: 1, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 21588
ctime2: 32960
ctime3: 49922
ctime4: 58211
ctime5: 65535
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 6
m_NumAlphaKeys: 2
isBakedToTexture: 1
@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: b8019300e2f66244c8b16dba83376cbd
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 269238
packageName: The Toon Shader
packageVersion: 1.4.2
assetPath: Packages/com.shadercrew.the-toon-shader.3d/Scripts/Editor/Resources/GradientScriptableObjects/NoStyling_05_ColorBasedGradient1_TTS_RefMatLight.asset
uploadId: 919972
@@ -0,0 +1,44 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: abb55f1f10b566340bf309a09598fc57, type: 3}
m_Name: NoStyling_06_ColorBasedGradient2_TTS_RefMatLight
m_EditorClassIdentifier:
gradient:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0.014705882, g: 0.014705882, b: 0.014705882, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 33924
ctime2: 65535
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 3
m_NumAlphaKeys: 2
isBakedToTexture: 1
@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: c57bdc59cf5297b4ebedc0662e74ea59
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 269238
packageName: The Toon Shader
packageVersion: 1.4.2
assetPath: Packages/com.shadercrew.the-toon-shader.3d/Scripts/Editor/Resources/GradientScriptableObjects/NoStyling_06_ColorBasedGradient2_TTS_RefMatLight.asset
uploadId: 919972
@@ -0,0 +1,44 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: abb55f1f10b566340bf309a09598fc57, type: 3}
m_Name: NoStyling_07_ColorBasedGradient3_TTS_RefMatLight
m_EditorClassIdentifier:
gradient:
serializedVersion: 2
key0: {r: 0, g: 0, b: 0, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0.4932413, b: 1, a: 0}
key3: {r: 1, g: 0.112586915, b: 0.05098039, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0.5243557, b: 0.9843137, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 1, g: 1, b: 1, a: 0}
ctime0: 22166
ctime1: 24672
ctime2: 29684
ctime3: 36044
ctime4: 39514
ctime5: 44333
ctime6: 53006
ctime7: 55512
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 8
m_NumAlphaKeys: 2
isBakedToTexture: 1
@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 9a5aa29bd84fa8e4bb8a9433b93e549e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 269238
packageName: The Toon Shader
packageVersion: 1.4.2
assetPath: Packages/com.shadercrew.the-toon-shader.3d/Scripts/Editor/Resources/GradientScriptableObjects/NoStyling_07_ColorBasedGradient3_TTS_RefMatLight.asset
uploadId: 919972
@@ -0,0 +1,44 @@
{
"name": "ShaderCrew.TheToonShader.3D.Editor",
"rootNamespace": "",
"references": [
"GUID:78bd2ddd6e276394a9615c203e574844",
"GUID:3eae0364be2026648bf74846acb8a731",
"GUID:be0903cd8e1546f498710afdc59db5eb",
"GUID:457756d89b35d2941b3e7b37b4ece6f1",
"GUID:df380645f10b7bc4b97d4f5eb6303d95",
"GUID:c579267770062bf448e75eb160330b7f",
"GUID:1e1df38bdb063c04fb8d144480b35d37",
"GUID:6a37219044b169f4fa7e60a15e3e8279",
"GUID:83e2004185752be4684414733d22e0e7",
"GUID:771e886dc8ff2624f9fb1e98ab52afc2",
"GUID:41ed22f5c389313468c5d7b2eff1a2c6"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": true,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [
{
"name": "com.unity.render-pipelines.universal",
"expression": "",
"define": "USING_URP"
},
{
"name": "com.unity.render-pipelines.high-definition",
"expression": "",
"define": "USING_HDRP"
},
{
"name": "com.shadercrew.seethroughshader.core",
"expression": "",
"define": "USING_SEE_THROUGH_SHADER"
}
],
"noEngineReferences": false
}
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 82f1604cc6c567146849908ed4b6a7b4
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 269238
packageName: The Toon Shader
packageVersion: 1.4.2
assetPath: Packages/com.shadercrew.the-toon-shader.3d/Scripts/Editor/ShaderCrew.TheToonShader.3D.Editor.asmdef
uploadId: 919972