与编辑器同步,增加sync优化bloom,添加打包时自动打包主题包的特性
(怎么这么多meta文件啊) Signed-off-by: TRADER_FOER <lhf190@outlook.com>
This commit is contained in:
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 641c955d37d2fac4f87e00ac5c9d9bd8
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 2690f45490c175045bbdc63395bf6278
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: fbd1fd9b3a70fad429d1eaaa5799c2a5
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 3579d9cf4b75c564faa8fffc58a9f3f6
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 0023a0858ba124646a55dfcb7231ed46
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: d1c0b77896049554fa4b635531caf741
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: c0a0a980c9ba86345bc15411db88d34f
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 2edbf4a9b9544774bbef617e92429664
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 13ab599a7bda4e54fba3e92a13c9580a
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: f6f268949ccf3f34fa4d18e92501ed82
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 69bc3229216b1504ea3e28b5820bbb0d
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 4f665a06c5a2aa5499fa1c79ac058999
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 8a87ed432fe2d97498c0de5fae312e35
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 7c3bfbbeb9427b94099254e2e2768ad4
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: c5303861611f41c438a30be552da5de4
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: a9d68dd8913f05d4d9ce75e7b40c6044
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 2243c8b4e1ab6914995699133f67ab5a
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 9a5e61a8b3421b944863d0946e32da0a
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 89f0b84148d149d4d96b838d7ef60e92
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 19939ee2cdb76e0489b1b8cd4bed7f3d
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 70777e8ce9f3c8d4a8182ca2f965cdb2
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: ba281a1a00c8ac54c914e0763299f637
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e6fc8948257acee42b666d0bfe1d782c
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 4b5cb8698f2d9c14fadf8e2383441d37
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: b460b52e6c1feae45b70b7ddc2c45bd6
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 57fcea0ed8b5eb347923c4c21fa31b57
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 2e9da72e7e3196146bf7d27450013734
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 0904cdf24ddcd5042b024326476220d5
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 929783250050f8a448821b6ca1f2c578
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: fcc4d2eb0af82e546ae75506872cf092
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: cd0a0171c5157b748afe763b89f71211
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: f4990f6ace6142c4bbbf41cdd80b0bd3
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -5,6 +5,8 @@ using System.IO;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Ichni;
|
using Ichni;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
|
using UnityEditor.Build;
|
||||||
|
using UnityEditor.Build.Reporting;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -44,35 +46,74 @@ public class BuildAssetBundle
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void BuildForTarget(BuildTarget target)
|
||||||
|
{
|
||||||
|
string platformDirectory = GetPlatformDirectory(target);
|
||||||
|
if (string.IsNullOrEmpty(platformDirectory))
|
||||||
|
{
|
||||||
|
Debug.LogWarning($"Skip AssetBundle build for unsupported build target: {target}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string uri = Path.Combine(BuildPrepare(), platformDirectory);
|
||||||
|
if (Directory.Exists(uri) == false)
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(uri);
|
||||||
|
}
|
||||||
|
AssetBundleManifest manifest = BuildPipeline.BuildAssetBundles(uri, BuildAssetBundleOptions.None, target);
|
||||||
|
if (manifest == null)
|
||||||
|
{
|
||||||
|
throw new BuildFailedException($"AssetBundle build failed for target: {target}");
|
||||||
|
}
|
||||||
|
|
||||||
|
GenerateAbstracts(manifest);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string GetPlatformDirectory(BuildTarget target)
|
||||||
|
{
|
||||||
|
return target switch
|
||||||
|
{
|
||||||
|
BuildTarget.StandaloneWindows => "Windows64",
|
||||||
|
BuildTarget.StandaloneWindows64 => "Windows64",
|
||||||
|
BuildTarget.StandaloneOSX => "OSX",
|
||||||
|
BuildTarget.Android => "Android",
|
||||||
|
BuildTarget.iOS => "IOS",
|
||||||
|
_ => string.Empty
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
[MenuItem("AssetBundleTools/BuildToWindows64")]
|
[MenuItem("AssetBundleTools/BuildToWindows64")]
|
||||||
public static void BuildToWindows64()
|
public static void BuildToWindows64()
|
||||||
{
|
{
|
||||||
string uri = BuildPrepare() + "/Windows64";
|
BuildForTarget(BuildTarget.StandaloneWindows64);
|
||||||
AssetBundleManifest manifestWin64 = BuildPipeline.BuildAssetBundles(uri, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
|
|
||||||
GenerateAbstracts(manifestWin64);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[MenuItem("AssetBundleTools/BuildToOSX")]
|
[MenuItem("AssetBundleTools/BuildToOSX")]
|
||||||
public static void BuildToOSX()
|
public static void BuildToOSX()
|
||||||
{
|
{
|
||||||
string uri = BuildPrepare() + "/OSX";
|
BuildForTarget(BuildTarget.StandaloneOSX);
|
||||||
AssetBundleManifest manifestOSX = BuildPipeline.BuildAssetBundles(uri, BuildAssetBundleOptions.None, BuildTarget.StandaloneOSX);
|
|
||||||
GenerateAbstracts(manifestOSX);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[MenuItem("AssetBundleTools/BuildToAndroid")]
|
[MenuItem("AssetBundleTools/BuildToAndroid")]
|
||||||
public static void BuildToAndroid()
|
public static void BuildToAndroid()
|
||||||
{
|
{
|
||||||
string uri = BuildPrepare() + "/Android";
|
BuildForTarget(BuildTarget.Android);
|
||||||
AssetBundleManifest manifestAndroid = BuildPipeline.BuildAssetBundles(uri, BuildAssetBundleOptions.None, BuildTarget.Android);
|
|
||||||
GenerateAbstracts(manifestAndroid);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[MenuItem("AssetBundleTools/BuildToIOS")]
|
[MenuItem("AssetBundleTools/BuildToIOS")]
|
||||||
public static void BuildToIOS()
|
public static void BuildToIOS()
|
||||||
{
|
{
|
||||||
string uri = BuildPrepare() + "/IOS";
|
BuildForTarget(BuildTarget.iOS);
|
||||||
AssetBundleManifest manifestIOS = BuildPipeline.BuildAssetBundles(uri, BuildAssetBundleOptions.None, BuildTarget.iOS);
|
|
||||||
GenerateAbstracts(manifestIOS);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class AssetBundleBuildPreprocessor : IPreprocessBuildWithReport
|
||||||
|
{
|
||||||
|
public int callbackOrder => 0;
|
||||||
|
|
||||||
|
public void OnPreprocessBuild(BuildReport report)
|
||||||
|
{
|
||||||
|
Debug.Log($"Rebuild AssetBundles before player build: {report.summary.platform}");
|
||||||
|
BuildAssetBundle.BuildForTarget(report.summary.platform);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 1782b72cd0e99a54fac09382c482e3db
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 49d5bcbbd4cbd754b98cf3200197b0f1
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: eefe45a405f061045be947217e30ed10
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 2e995dfe11e22d34d92432383d15c067
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: ec984c51d4ae2504184eeb292734c672
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e447b3d7d913d694ca35f74e30581840
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 6584a66582083a1459dcf5e4e87f6d62
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 0190b8bde50f12943926613d9a63c89a
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: ae2ce8ad295486349839288636aed1ed
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: d69745226619e3241a8e04ce86aee6a6
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 37e6a9374416bc946a55779c58d0d984
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e45363610a59a4543a9793b3bf2be4aa
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: de41a70ead12af544a4e99a925b269d2
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: f597f19f656ba56eae4f6a3a7cc528f4
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 48e08dc33330d11e9d4a1b246c52e4f6
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: ed09910c0094cb27be8f3ca264680da3
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: cc355dd4cf1e6173beaeb22c2858cbe1
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: e00e6f90ab8233e46a41c5e33917c642
|
guid: e30166288c8c5bd438351410a483e5b0
|
||||||
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
Binary file not shown.
@@ -1,6 +1,6 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 9da5530d5ebfab24c8ecad68795e720f
|
guid: f5d5e70a908942c4b909fdb6034752b7
|
||||||
DefaultImporter:
|
TextScriptImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
||||||
Binary file not shown.
@@ -1,6 +1,6 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: aa102d640b98b5d4781710a3a3dd6983
|
guid: 32c3385d4214445468554a51c232cf0f
|
||||||
DefaultImporter:
|
TextScriptImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
||||||
Binary file not shown.
@@ -1,6 +1,6 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 7a0bb33169d95ec499136d59cb25918b
|
guid: 8771390f79aaef64387378be17877c84
|
||||||
DefaultImporter:
|
TextScriptImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
||||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 46fc263f248fc7e4d864bfb43d691615
|
||||||
|
TextScriptImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
BIN
Assets/Resources/Chapter0.asset
LFS
BIN
Assets/Resources/Chapter0.asset
LFS
Binary file not shown.
39
Assets/Scripts/DataCore/Animations_BM/PositionSync_BM.cs
Normal file
39
Assets/Scripts/DataCore/Animations_BM/PositionSync_BM.cs
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Ichni.RhythmGame.Beatmap
|
||||||
|
{
|
||||||
|
public class PositionSync_BM : GameElement_BM
|
||||||
|
{
|
||||||
|
public FlexibleBool_BM enabling;
|
||||||
|
public Guid syncTargetObjectGuid;
|
||||||
|
|
||||||
|
public PositionSync_BM()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public PositionSync_BM(string elementName, Guid elementGuid, List<string> tags,
|
||||||
|
GameElement_BM attachedElement, FlexibleBool_BM enabling, Guid syncTargetObjectGuid)
|
||||||
|
: base(elementName, elementGuid, tags, attachedElement)
|
||||||
|
{
|
||||||
|
this.enabling = enabling;
|
||||||
|
this.syncTargetObjectGuid = syncTargetObjectGuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ExecuteBM()
|
||||||
|
{
|
||||||
|
matchedElement = PositionSync.GenerateElement(elementName, elementGuid, tags, false,
|
||||||
|
GetElement(attachedElementGuid), GetElement(syncTargetObjectGuid),
|
||||||
|
enabling?.ConvertToGameType() ?? new FlexibleBool());
|
||||||
|
matchedElement.matchedBM = this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void AfterExecute()
|
||||||
|
{
|
||||||
|
if (matchedElement is PositionSync positionSync)
|
||||||
|
{
|
||||||
|
positionSync.syncTargetObject = GetElement(syncTargetObjectGuid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4b7660debb70462f8139aca3ccf9d839
|
||||||
20
Assets/Scripts/FirmStartMenu.cs
Normal file
20
Assets/Scripts/FirmStartMenu.cs
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.SceneManagement;
|
||||||
|
|
||||||
|
public class FirmStartMenu : MonoBehaviour
|
||||||
|
{
|
||||||
|
[RuntimeInitializeOnLoadMethod]
|
||||||
|
static void Initialize()
|
||||||
|
{
|
||||||
|
string startSceneName = "MenuScene";
|
||||||
|
Scene scene = SceneManager.GetActiveScene();
|
||||||
|
if (scene.name.Equals(startSceneName))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
SceneManager.LoadScene(startSceneName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
2
Assets/Scripts/FirmStartMenu.cs.meta
Normal file
2
Assets/Scripts/FirmStartMenu.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 90353b44635c5f548be73e0fc1dd92ff
|
||||||
112
Assets/Scripts/Game/Animations/Transform/PositionSync.cs
Normal file
112
Assets/Scripts/Game/Animations/Transform/PositionSync.cs
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Ichni.RhythmGame.Beatmap;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Ichni.RhythmGame
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Synchronizes this element's position to another element's world position.
|
||||||
|
/// </summary>
|
||||||
|
public partial class PositionSync : AnimationBase
|
||||||
|
{
|
||||||
|
#region [暴露属性字段与关联] Exposed Fields & References
|
||||||
|
public TransformSubmodule targetTransformSubmodule;
|
||||||
|
public GameElement syncTargetObject;
|
||||||
|
public FlexibleBool enabling;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region [生命周期与工厂] Lifecycle & Factory
|
||||||
|
public static PositionSync GenerateElement(string elementName, Guid id,
|
||||||
|
List<string> tags, bool isFirstGenerated, GameElement animatedObject,
|
||||||
|
GameElement syncTargetObject, FlexibleBool enabling)
|
||||||
|
{
|
||||||
|
PositionSync sync = Instantiate(GameManager.Instance.basePrefabs.emptyObject).AddComponent<PositionSync>();
|
||||||
|
|
||||||
|
sync.Initialize(elementName, id, tags, isFirstGenerated, animatedObject);
|
||||||
|
|
||||||
|
sync.animatedObject = animatedObject;
|
||||||
|
sync.syncTargetObject = syncTargetObject;
|
||||||
|
sync.enabling = enabling ?? new FlexibleBool();
|
||||||
|
sync.animationReturnType = FlexibleReturnType.Before;
|
||||||
|
sync.targetTransformSubmodule = (animatedObject as IHaveTransformSubmodule)?.transformSubmodule;
|
||||||
|
|
||||||
|
return sync;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void SetDefaultSubmodules()
|
||||||
|
{
|
||||||
|
timeDurationSubmodule = new TimeDurationSubmodule(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnDelete()
|
||||||
|
{
|
||||||
|
base.OnDelete();
|
||||||
|
targetTransformSubmodule?.MarkPositionDirty();
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region [核心动画逻辑] Core Animation Logic
|
||||||
|
public override void ScheduledUpdate(UpdatePhase phase, float songTime)
|
||||||
|
{
|
||||||
|
base.ScheduledUpdate(phase, songTime);
|
||||||
|
|
||||||
|
// 与 CreatorStudio 保持一致:这里在 Animation 阶段读取 target world position。
|
||||||
|
// 如果 target 是 TrackPercentPoint,当前帧 TrackFollower 尚未执行,因此读到的可能是上一帧位置。
|
||||||
|
// 这个一帧延后是有意保留的兼容行为;好处是随后 Apply 阶段能刷新被同步的 PathNode/Track,
|
||||||
|
// 让本帧后续 TrackFollower/Note 使用更新后的轨道数据。
|
||||||
|
if (phase == UpdatePhase.Animation && enabling != null && enabling.value)
|
||||||
|
{
|
||||||
|
ApplyPositionSync();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void UpdateAnimation(float songTime, bool forceUpdate)
|
||||||
|
{
|
||||||
|
if (enabling == null)
|
||||||
|
{
|
||||||
|
animationReturnType = FlexibleReturnType.None;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
enabling.UpdateFlexibleBool(songTime);
|
||||||
|
|
||||||
|
if (enabling.value)
|
||||||
|
{
|
||||||
|
animationReturnType = FlexibleReturnType.MiddleExecuting;
|
||||||
|
targetTransformSubmodule?.MarkPositionDirty();
|
||||||
|
}
|
||||||
|
else if (animationReturnType != FlexibleReturnType.MiddleInterval)
|
||||||
|
{
|
||||||
|
animationReturnType = FlexibleReturnType.MiddleInterval;
|
||||||
|
targetTransformSubmodule?.MarkPositionDirty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ApplyPositionSync()
|
||||||
|
{
|
||||||
|
if (targetTransformSubmodule == null || syncTargetObject == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Transform self = targetTransformSubmodule.attachedGameElement.transform;
|
||||||
|
Transform parent = self.parent;
|
||||||
|
Vector3 targetWorldPosition = syncTargetObject.transform.position;
|
||||||
|
Vector3 desiredLocalPosition = parent != null
|
||||||
|
? parent.InverseTransformPoint(targetWorldPosition)
|
||||||
|
: targetWorldPosition;
|
||||||
|
Vector3 syncOffset = desiredLocalPosition - targetTransformSubmodule.originalPosition;
|
||||||
|
|
||||||
|
targetTransformSubmodule.positionOffset += syncOffset;
|
||||||
|
targetTransformSubmodule.MarkPositionDirty();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ApplyTimeOffset(float offset)
|
||||||
|
{
|
||||||
|
base.ApplyTimeOffset(offset);
|
||||||
|
enabling?.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2931ecd4815b44a4b105371752d14bcd
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -136,7 +136,7 @@ namespace Ichni.RhythmGame
|
|||||||
}
|
}
|
||||||
|
|
||||||
private bool HaveAnimation() => attachedGameElement.childElementList
|
private bool HaveAnimation() => attachedGameElement.childElementList
|
||||||
.Any(element => element is Displacement or Swirl or Scale or LookAt);
|
.Any(element => element is Displacement or Swirl or Scale or LookAt or PositionSync);
|
||||||
|
|
||||||
public override void CheckAndRemoveObservers()
|
public override void CheckAndRemoveObservers()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Ichni.RhythmGame.Beatmap;
|
using Ichni.RhythmGame.Beatmap;
|
||||||
|
using SLSUtilities.Rendering.PostProcessing;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.Rendering.Universal;
|
using UnityEngine.Rendering.Universal;
|
||||||
|
|
||||||
@@ -10,11 +11,13 @@ namespace Ichni.RhythmGame
|
|||||||
public float peak;
|
public float peak;
|
||||||
public AnimationCurve intensityCurve;
|
public AnimationCurve intensityCurve;
|
||||||
|
|
||||||
private Bloom _bloom;
|
private AnimeBloom _bloom;
|
||||||
|
private static float _bloomBasicValue = -1;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region [初始化] Initialization
|
#region [初始化] Initialization
|
||||||
public BloomEffect(float effectTime, float peak, AnimationCurve intensityCurve)
|
public BloomEffect(float effectTime, float peak, AnimationCurve intensityCurve)
|
||||||
: base(effectTime) // 激活时间线
|
: base(effectTime) // 激活时间线
|
||||||
{
|
{
|
||||||
this.effectTime = effectTime;
|
this.effectTime = effectTime;
|
||||||
@@ -28,6 +31,10 @@ namespace Ichni.RhythmGame
|
|||||||
{
|
{
|
||||||
PostProcessingManager.GlobalVolume.profile.TryGet(out _bloom);
|
PostProcessingManager.GlobalVolume.profile.TryGet(out _bloom);
|
||||||
}
|
}
|
||||||
|
if (_bloomBasicValue < 0 && _bloom != null)
|
||||||
|
{
|
||||||
|
_bloomBasicValue = _bloom.intensity.value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@@ -42,7 +49,7 @@ namespace Ichni.RhythmGame
|
|||||||
if (_bloom != null)
|
if (_bloom != null)
|
||||||
{
|
{
|
||||||
float currentIntensity = intensityCurve.Evaluate(effectProgressPercent) * peak;
|
float currentIntensity = intensityCurve.Evaluate(effectProgressPercent) * peak;
|
||||||
_bloom.intensity.value = currentIntensity;
|
_bloom.intensity.value = _bloomBasicValue + currentIntensity;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,7 +59,7 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
private void ResetEffect()
|
private void ResetEffect()
|
||||||
{
|
{
|
||||||
if (_bloom != null) _bloom.intensity.value = 0f;
|
if (_bloom != null) _bloom.intensity.value = _bloomBasicValue;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ namespace Ichni.RhythmGame
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void SetEnableEmission() => meshRenderer.material.SetInt("_EnableEmission", enableEmission ? 1 : 0);
|
protected void SetEnableEmission() => meshRenderer.material.SetInt("_EnableEmission", enableEmission ? 1 : 0);
|
||||||
protected void SetEnableZWrite() => meshRenderer.material.SetInt("_ZWrite", zWrite ? 1 : 0);
|
protected void SetEnableZWrite() => meshRenderer.material.SetFloat("_ZWrite", zWrite ? 1 : 0);
|
||||||
protected void SetEmissionIntensity() => meshRenderer.material.SetColor("_EmissionColor", Color.white * Mathf.Pow(2, emissionIntensity));
|
protected void SetEmissionIntensity() => meshRenderer.material.SetColor("_EmissionColor", Color.white * Mathf.Pow(2, emissionIntensity));
|
||||||
protected void SetUV()
|
protected void SetUV()
|
||||||
{
|
{
|
||||||
|
|||||||
Binary file not shown.
@@ -6,6 +6,22 @@ using UnityEngine.Experimental.Rendering;
|
|||||||
|
|
||||||
namespace SLSUtilities.Rendering.PostProcessing
|
namespace SLSUtilities.Rendering.PostProcessing
|
||||||
{
|
{
|
||||||
|
public enum AnimeBloomBlurMode
|
||||||
|
{
|
||||||
|
DualKawaseFast,
|
||||||
|
DualKawaseQuality,
|
||||||
|
Box
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
public sealed class AnimeBloomBlurModeParameter : VolumeParameter<AnimeBloomBlurMode>
|
||||||
|
{
|
||||||
|
public AnimeBloomBlurModeParameter(AnimeBloomBlurMode value, bool overrideState = false)
|
||||||
|
: base(value, overrideState)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[System.Serializable, VolumeComponentMenu("SLS/Postprocessing/Anime Bloom")]
|
[System.Serializable, VolumeComponentMenu("SLS/Postprocessing/Anime Bloom")]
|
||||||
public class AnimeBloom : ScriptablePostProcessorVolume
|
public class AnimeBloom : ScriptablePostProcessorVolume
|
||||||
{
|
{
|
||||||
@@ -31,14 +47,53 @@ namespace SLSUtilities.Rendering.PostProcessing
|
|||||||
|
|
||||||
[Header("Iterations")]
|
[Header("Iterations")]
|
||||||
// 迭代次数:Dual Kawase 每层只需 1 Pass,性能远低于原生双趟高斯。
|
// 迭代次数:Dual Kawase 每层只需 1 Pass,性能远低于原生双趟高斯。
|
||||||
// 4 次迭代 Dual Kawase ≈ 原生 6 次双趟高斯的扩散范围,但 Pass 数只有其 1/3。
|
// 现在主要作为质量 / pass budget 控制,视觉扩散范围由 bloomRadius 统一塑形。
|
||||||
public ClampedIntParameter diffusion = new(4, 1, 8);
|
public ClampedIntParameter diffusion = new(4, 1, 8);
|
||||||
|
|
||||||
[Header("Optimization (Mobile)")]
|
[Header("Radius")]
|
||||||
|
[Tooltip("Bloom 视觉扩散半径。\n1.0=旧默认半径;调大可扩大光晕范围,调小可让光晕更贴近高亮区域。")]
|
||||||
|
public ClampedFloatParameter bloomRadius = new(1.0f, 0.1f, 8.0f);
|
||||||
|
|
||||||
|
[Tooltip("当 diffusion 改变时,自动补偿采样跨度,尽量保持 Bloom Radius 的视觉范围稳定。\n关闭后 diffusion 会像传统 mip 金字塔一样明显改变光晕大小。")]
|
||||||
|
public BoolParameter preserveRadiusAcrossDiffusion = new(true);
|
||||||
|
|
||||||
|
[Tooltip("半径补偿的参考 diffusion。\n默认 4 表示 bloomRadius=1 时以 4 层金字塔的旧效果作为基准。")]
|
||||||
|
public ClampedIntParameter radiusReferenceDiffusion = new(4, 1, 8);
|
||||||
|
|
||||||
|
[Tooltip("自动半径补偿的最大倍率。\n低 diffusion 为了维持大半径会拉大采样跨度;该上限用于限制色块感、十字感和采样离散感。")]
|
||||||
|
public ClampedFloatParameter maxRadiusCompensation = new(2.5f, 1.0f, 8.0f);
|
||||||
|
|
||||||
|
[Header("Blur Mode")]
|
||||||
|
[Tooltip("模糊方式。\nDualKawaseFast=当前默认移动端低采样方案;DualKawaseQuality=更多采样、更平滑;Box=更便宜但质感更硬。")]
|
||||||
|
public AnimeBloomBlurModeParameter blurMode = new(AnimeBloomBlurMode.DualKawaseFast);
|
||||||
|
|
||||||
|
[Header("Downsample Steps")]
|
||||||
[Tooltip("初始降采样倍率(首趟大幅压缩分辨率)。\n1=原生半分辨率(1/2);2=1/4分辨率;3=1/8分辨率。\n调大此值可用极低的迭代次数跑出巨大且柔和的光晕,大幅节省 GPU 带宽。")]
|
[Tooltip("初始降采样倍率(首趟大幅压缩分辨率)。\n1=原生半分辨率(1/2);2=1/4分辨率;3=1/8分辨率。\n调大此值可用极低的迭代次数跑出巨大且柔和的光晕,大幅节省 GPU 带宽。")]
|
||||||
public ClampedIntParameter initialDownscaleShift = new(1, 1, 3);
|
public ClampedIntParameter initialDownscaleShift = new(1, 1, 3);
|
||||||
|
|
||||||
|
[Tooltip("第 2 层相对上一层的降采样倍率。\n0=保持上一层分辨率只做模糊;1=1/2;2=1/4;3=1/8。")]
|
||||||
|
public ClampedIntParameter downscaleStep1 = new(1, 0, 3);
|
||||||
|
|
||||||
|
[Tooltip("第 3 层相对上一层的降采样倍率。\n0=保持上一层分辨率只做模糊;1=1/2;2=1/4;3=1/8。")]
|
||||||
|
public ClampedIntParameter downscaleStep2 = new(1, 0, 3);
|
||||||
|
|
||||||
|
[Tooltip("第 4 层相对上一层的降采样倍率。\n0=保持上一层分辨率只做模糊;1=1/2;2=1/4;3=1/8。")]
|
||||||
|
public ClampedIntParameter downscaleStep3 = new(1, 0, 3);
|
||||||
|
|
||||||
|
[Tooltip("第 5 层相对上一层的降采样倍率。\n0=保持上一层分辨率只做模糊;1=1/2;2=1/4;3=1/8。")]
|
||||||
|
public ClampedIntParameter downscaleStep4 = new(1, 0, 3);
|
||||||
|
|
||||||
|
[Tooltip("第 6 层相对上一层的降采样倍率。\n0=保持上一层分辨率只做模糊;1=1/2;2=1/4;3=1/8。")]
|
||||||
|
public ClampedIntParameter downscaleStep5 = new(1, 0, 3);
|
||||||
|
|
||||||
|
[Tooltip("第 7 层相对上一层的降采样倍率。\n0=保持上一层分辨率只做模糊;1=1/2;2=1/4;3=1/8。")]
|
||||||
|
public ClampedIntParameter downscaleStep6 = new(1, 0, 3);
|
||||||
|
|
||||||
|
[Tooltip("第 8 层相对上一层的降采样倍率。\n0=保持上一层分辨率只做模糊;1=1/2;2=1/4;3=1/8。")]
|
||||||
|
public ClampedIntParameter downscaleStep7 = new(1, 0, 3);
|
||||||
|
|
||||||
[Tooltip("采样偏移跨度放大(Kernel Scale)。\n1.0=原生标准跨度。适度放大(如1.2-1.5)可拉扯光晕扩散范围,但过大会产生轻微十字星/方格马赛克。")]
|
[Header("Kernel")]
|
||||||
|
[Tooltip("采样偏移微调倍率。\n最终采样跨度 = bloomRadius * diffusion 自动补偿 * kernelScale。\n一般保持 1.0,用于针对具体画面做细调。")]
|
||||||
public ClampedFloatParameter kernelScale = new(1.0f, 0.5f, 3.0f);
|
public ClampedFloatParameter kernelScale = new(1.0f, 0.5f, 3.0f);
|
||||||
|
|
||||||
[Header("Tint")]
|
[Header("Tint")]
|
||||||
@@ -64,7 +119,8 @@ namespace SLSUtilities.Rendering.PostProcessing
|
|||||||
|
|
||||||
// 【移动端极限优化】:强制降级到 32位 HDR 格式 (B10G11R11),
|
// 【移动端极限优化】:强制降级到 32位 HDR 格式 (B10G11R11),
|
||||||
// 相比主相机默认的 64位 R16G16B16A16,带宽消耗直接砍半,且肉眼几乎无损!
|
// 相比主相机默认的 64位 R16G16B16A16,带宽消耗直接砍半,且肉眼几乎无损!
|
||||||
if (SystemInfo.IsFormatSupported(GraphicsFormat.B10G11R11_UFloatPack32, GraphicsFormatUsage.Linear | GraphicsFormatUsage.Render))
|
if (SystemInfo.IsFormatSupported(GraphicsFormat.B10G11R11_UFloatPack32,
|
||||||
|
GraphicsFormatUsage.Linear | GraphicsFormatUsage.Render))
|
||||||
{
|
{
|
||||||
desc.graphicsFormat = GraphicsFormat.B10G11R11_UFloatPack32;
|
desc.graphicsFormat = GraphicsFormat.B10G11R11_UFloatPack32;
|
||||||
}
|
}
|
||||||
@@ -83,8 +139,6 @@ namespace SLSUtilities.Rendering.PostProcessing
|
|||||||
material.SetVector(InternalShaderHelpers.ID._BloomScatterParams,
|
material.SetVector(InternalShaderHelpers.ID._BloomScatterParams,
|
||||||
new Vector4(scatterMapped, clamp.value, thresholdLinear, thresholdKnee));
|
new Vector4(scatterMapped, clamp.value, thresholdLinear, thresholdKnee));
|
||||||
|
|
||||||
material.SetFloat(InternalShaderHelpers.ID._AnimeBloom_KernelScale, kernelScale.value);
|
|
||||||
|
|
||||||
// ─────────────────────────────────────────────────────────────
|
// ─────────────────────────────────────────────────────────────
|
||||||
// 2. Tint 归一化(原生做法:亮度归一为 1,只携带色相/饱和度)
|
// 2. Tint 归一化(原生做法:亮度归一为 1,只携带色相/饱和度)
|
||||||
// 这样 tint 调整颜色时不会改变 bloom 总亮度。
|
// 这样 tint 调整颜色时不会改变 bloom 总亮度。
|
||||||
@@ -101,6 +155,7 @@ namespace SLSUtilities.Rendering.PostProcessing
|
|||||||
// 3. RT 数组初始化
|
// 3. RT 数组初始化
|
||||||
// ─────────────────────────────────────────────────────────────
|
// ─────────────────────────────────────────────────────────────
|
||||||
int mipCount = Mathf.Clamp(diffusion.value, 1, k_MaxMips);
|
int mipCount = Mathf.Clamp(diffusion.value, 1, k_MaxMips);
|
||||||
|
material.SetFloat(InternalShaderHelpers.ID._AnimeBloom_KernelScale, GetEffectiveKernelScale(mipCount));
|
||||||
|
|
||||||
if (_bloomMipDown == null || _bloomMipDown.Length != k_MaxMips)
|
if (_bloomMipDown == null || _bloomMipDown.Length != k_MaxMips)
|
||||||
{
|
{
|
||||||
@@ -112,7 +167,7 @@ namespace SLSUtilities.Rendering.PostProcessing
|
|||||||
// 4. Prefilter(提取高亮像素 + 初始激进降采样)
|
// 4. Prefilter(提取高亮像素 + 初始激进降采样)
|
||||||
// 根据用户选择,起始分辨率可能是 1/2, 1/4 或 1/8。
|
// 根据用户选择,起始分辨率可能是 1/2, 1/4 或 1/8。
|
||||||
// ─────────────────────────────────────────────────────────────
|
// ─────────────────────────────────────────────────────────────
|
||||||
int shift = initialDownscaleShift.value;
|
int shift = GetDownscaleShiftForMip(0);
|
||||||
desc.width = Mathf.Max(1, desc.width >> shift);
|
desc.width = Mathf.Max(1, desc.width >> shift);
|
||||||
desc.height = Mathf.Max(1, desc.height >> shift);
|
desc.height = Mathf.Max(1, desc.height >> shift);
|
||||||
|
|
||||||
@@ -124,18 +179,20 @@ namespace SLSUtilities.Rendering.PostProcessing
|
|||||||
|
|
||||||
// ─────────────────────────────────────────────────────────────
|
// ─────────────────────────────────────────────────────────────
|
||||||
// 5. Downsample Loop:Dual Kawase 降采样金字塔(Pass 1)
|
// 5. Downsample Loop:Dual Kawase 降采样金字塔(Pass 1)
|
||||||
// 每次分辨率减半,产生多层不同尺度的模糊纹理
|
// 每层可单独设置相对上一层的降采样倍率,产生可手动塑形的模糊纹理
|
||||||
// ─────────────────────────────────────────────────────────────
|
// ─────────────────────────────────────────────────────────────
|
||||||
|
int downsamplePass = GetDownsamplePass();
|
||||||
for (int i = 1; i < mipCount; i++)
|
for (int i = 1; i < mipCount; i++)
|
||||||
{
|
{
|
||||||
desc.width = Mathf.Max(1, desc.width >> 1);
|
shift = GetDownscaleShiftForMip(i);
|
||||||
desc.height = Mathf.Max(1, desc.height >> 1);
|
desc.width = Mathf.Max(1, desc.width >> shift);
|
||||||
|
desc.height = Mathf.Max(1, desc.height >> shift);
|
||||||
|
|
||||||
RenderingUtils.ReAllocateHandleIfNeeded(ref _bloomMipDown[i], desc, FilterMode.Bilinear,
|
RenderingUtils.ReAllocateHandleIfNeeded(ref _bloomMipDown[i], desc, FilterMode.Bilinear,
|
||||||
TextureWrapMode.Clamp, name: "_BloomDown" + i);
|
TextureWrapMode.Clamp, name: "_BloomDown" + i);
|
||||||
|
|
||||||
// Down[i-1] → Down[i] via Pass 1 (Dual Kawase Downsample)
|
// Down[i-1] → Down[i] via selected downsample pass
|
||||||
Blitter.BlitCameraTexture(cmd, _bloomMipDown[i - 1], _bloomMipDown[i], material, 1);
|
Blitter.BlitCameraTexture(cmd, _bloomMipDown[i - 1], _bloomMipDown[i], material, downsamplePass);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ─────────────────────────────────────────────────────────────
|
// ─────────────────────────────────────────────────────────────
|
||||||
@@ -163,12 +220,13 @@ namespace SLSUtilities.Rendering.PostProcessing
|
|||||||
Blitter.BlitCameraTexture(cmd, _bloomMipDown[mipCount - 1], _bloomMipUp[mipCount - 1]);
|
Blitter.BlitCameraTexture(cmd, _bloomMipDown[mipCount - 1], _bloomMipUp[mipCount - 1]);
|
||||||
|
|
||||||
// 从第二底层开始向上 upsample
|
// 从第二底层开始向上 upsample
|
||||||
|
int upsamplePass = GetUpsamplePass();
|
||||||
for (int i = mipCount - 2; i >= 0; i--)
|
for (int i = mipCount - 2; i >= 0; i--)
|
||||||
{
|
{
|
||||||
// highMip:当前层降采样纹理 Down[i],作为 Blit 的 source(_BlitTexture)
|
// highMip:当前层降采样纹理 Down[i],作为 Blit 的 source(_BlitTexture)
|
||||||
// lowMip: 上一级升采样结果 Up[i+1],通过 SetTexture 传入
|
// lowMip: 上一级升采样结果 Up[i+1],通过 SetTexture 传入
|
||||||
cmd.SetGlobalTexture(InternalShaderHelpers.ID._SourceTexLowMip, _bloomMipUp[i + 1]);
|
cmd.SetGlobalTexture(InternalShaderHelpers.ID._SourceTexLowMip, _bloomMipUp[i + 1]);
|
||||||
Blitter.BlitCameraTexture(cmd, _bloomMipDown[i], _bloomMipUp[i], material, 2);
|
Blitter.BlitCameraTexture(cmd, _bloomMipDown[i], _bloomMipUp[i], material, upsamplePass);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ─────────────────────────────────────────────────────────────
|
// ─────────────────────────────────────────────────────────────
|
||||||
@@ -178,6 +236,74 @@ namespace SLSUtilities.Rendering.PostProcessing
|
|||||||
Blitter.BlitCameraTexture(cmd, source, destination, material, 3);
|
Blitter.BlitCameraTexture(cmd, source, destination, material, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int GetDownscaleShiftForMip(int mipIndex)
|
||||||
|
{
|
||||||
|
return mipIndex switch
|
||||||
|
{
|
||||||
|
0 => initialDownscaleShift.value,
|
||||||
|
1 => downscaleStep1.value,
|
||||||
|
2 => downscaleStep2.value,
|
||||||
|
3 => downscaleStep3.value,
|
||||||
|
4 => downscaleStep4.value,
|
||||||
|
5 => downscaleStep5.value,
|
||||||
|
6 => downscaleStep6.value,
|
||||||
|
7 => downscaleStep7.value,
|
||||||
|
_ => 1
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private float GetEffectiveKernelScale(int mipCount)
|
||||||
|
{
|
||||||
|
float compensation = preserveRadiusAcrossDiffusion.value
|
||||||
|
? GetRadiusCompensation(mipCount)
|
||||||
|
: 1f;
|
||||||
|
|
||||||
|
return Mathf.Max(0.01f, bloomRadius.value * kernelScale.value * compensation);
|
||||||
|
}
|
||||||
|
|
||||||
|
private float GetRadiusCompensation(int mipCount)
|
||||||
|
{
|
||||||
|
float referenceSpread = GetPyramidSpread(Mathf.Clamp(radiusReferenceDiffusion.value, 1, k_MaxMips));
|
||||||
|
float currentSpread = GetPyramidSpread(mipCount);
|
||||||
|
float compensation = referenceSpread / Mathf.Max(1f, currentSpread);
|
||||||
|
|
||||||
|
return Mathf.Clamp(compensation, 1f / maxRadiusCompensation.value, maxRadiusCompensation.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private float GetPyramidSpread(int mipCount)
|
||||||
|
{
|
||||||
|
int cumulativeShift = 0;
|
||||||
|
float spread = 0f;
|
||||||
|
|
||||||
|
for (int i = 0; i < mipCount; i++)
|
||||||
|
{
|
||||||
|
cumulativeShift += GetDownscaleShiftForMip(i);
|
||||||
|
spread += 1 << Mathf.Clamp(cumulativeShift, 0, 16);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Mathf.Max(1f, spread);
|
||||||
|
}
|
||||||
|
|
||||||
|
private int GetDownsamplePass()
|
||||||
|
{
|
||||||
|
return blurMode.value switch
|
||||||
|
{
|
||||||
|
AnimeBloomBlurMode.DualKawaseQuality => 4,
|
||||||
|
AnimeBloomBlurMode.Box => 5,
|
||||||
|
_ => 1
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private int GetUpsamplePass()
|
||||||
|
{
|
||||||
|
return blurMode.value switch
|
||||||
|
{
|
||||||
|
AnimeBloomBlurMode.DualKawaseQuality => 6,
|
||||||
|
AnimeBloomBlurMode.Box => 7,
|
||||||
|
_ => 2
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
if (_bloomMipDown == null) return;
|
if (_bloomMipDown == null) return;
|
||||||
|
|||||||
Binary file not shown.
@@ -1,21 +1,21 @@
|
|||||||
ManifestFileVersion: 0
|
ManifestFileVersion: 0
|
||||||
UnityVersion: 6000.3.7f1
|
UnityVersion: 6000.3.7f1
|
||||||
CRC: 4053260153
|
CRC: 369232788
|
||||||
HashAppended: 0
|
HashAppended: 0
|
||||||
AssetBundleManifest:
|
AssetBundleManifest:
|
||||||
AssetBundleInfos:
|
AssetBundleInfos:
|
||||||
Info_0:
|
Info_0:
|
||||||
Name: unifiedraytracing
|
Name: shapes
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_1:
|
Info_1:
|
||||||
Name: basic
|
Name: basic
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_2:
|
Info_2:
|
||||||
Name: departure_to_multiverse
|
|
||||||
Dependencies: {}
|
|
||||||
Info_3:
|
|
||||||
Name: metropolis_on_orbit
|
Name: metropolis_on_orbit
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_4:
|
Info_3:
|
||||||
Name: shapes
|
Name: departure_to_multiverse
|
||||||
|
Dependencies: {}
|
||||||
|
Info_4:
|
||||||
|
Name: unifiedraytracing
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
|
|||||||
Binary file not shown.
@@ -1,16 +1,16 @@
|
|||||||
ManifestFileVersion: 0
|
ManifestFileVersion: 0
|
||||||
UnityVersion: 6000.3.7f1
|
UnityVersion: 6000.3.7f1
|
||||||
CRC: 4187162310
|
CRC: 3948698453
|
||||||
Hashes:
|
Hashes:
|
||||||
AssetFileHash:
|
AssetFileHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 041639c891c497f5cda773d76795250a
|
Hash: af7857bf316830adc26e256fe67e7e6e
|
||||||
TypeTreeHash:
|
TypeTreeHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: dfed41e3b38758e5f34df30221d719dc
|
Hash: dfed41e3b38758e5f34df30221d719dc
|
||||||
IncrementalBuildHash:
|
IncrementalBuildHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 1175efd1b6efe2bebf239ab190c42566
|
Hash: 8b2370a964ccb84ad839925da51b1839
|
||||||
HashAppended: 0
|
HashAppended: 0
|
||||||
ClassTypes:
|
ClassTypes:
|
||||||
- Class: 1
|
- Class: 1
|
||||||
|
|||||||
Binary file not shown.
@@ -1,16 +1,16 @@
|
|||||||
ManifestFileVersion: 0
|
ManifestFileVersion: 0
|
||||||
UnityVersion: 6000.3.7f1
|
UnityVersion: 6000.3.7f1
|
||||||
CRC: 12343729
|
CRC: 3534727336
|
||||||
Hashes:
|
Hashes:
|
||||||
AssetFileHash:
|
AssetFileHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 95c6613dec434b5e157eab1de94cfdfc
|
Hash: 51cebaae174d01d837ffac32a2fa6871
|
||||||
TypeTreeHash:
|
TypeTreeHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 6d9f9b8bc1074349261a0dbbf7f0f9f8
|
Hash: 6d9f9b8bc1074349261a0dbbf7f0f9f8
|
||||||
IncrementalBuildHash:
|
IncrementalBuildHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 0f6768f5833370c99987c209c7f083f1
|
Hash: 1a80e1aa74a3d257e8fdbb3bbe3af29f
|
||||||
HashAppended: 0
|
HashAppended: 0
|
||||||
ClassTypes:
|
ClassTypes:
|
||||||
- Class: 1
|
- Class: 1
|
||||||
@@ -100,6 +100,7 @@ Assets:
|
|||||||
- Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Decorations/DTM_ConstellationCube.prefab
|
- Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Decorations/DTM_ConstellationCube.prefab
|
||||||
- Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Environment/DTM_GlobalFog.prefab
|
- Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Environment/DTM_GlobalFog.prefab
|
||||||
- Assets/ThemeBundles/DepartureToMultiverse/Prefabs/DTM_Trail.prefab
|
- Assets/ThemeBundles/DepartureToMultiverse/Prefabs/DTM_Trail.prefab
|
||||||
|
- Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Decorations/Constellation.prefab
|
||||||
- Assets/ThemeBundles/DepartureToMultiverse/Textures/Skybox/DTM_SunMask1.png
|
- Assets/ThemeBundles/DepartureToMultiverse/Textures/Skybox/DTM_SunMask1.png
|
||||||
- Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Environment/DTM_StarrySkybox.prefab
|
- Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Environment/DTM_StarrySkybox.prefab
|
||||||
- Assets/ThemeBundles/DepartureToMultiverse/Prefabs/DTM_NoteVisualHold.prefab
|
- Assets/ThemeBundles/DepartureToMultiverse/Prefabs/DTM_NoteVisualHold.prefab
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Hashes:
|
|||||||
Hash: 8ab77e54d824a64c30bc20496c5f5926
|
Hash: 8ab77e54d824a64c30bc20496c5f5926
|
||||||
IncrementalBuildHash:
|
IncrementalBuildHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 204f3b93fddc5bbe213f57aa05799cdd
|
Hash: b9d9c1ed16d6159626cf983018a7d02a
|
||||||
HashAppended: 0
|
HashAppended: 0
|
||||||
ClassTypes:
|
ClassTypes:
|
||||||
- Class: 1
|
- Class: 1
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Hashes:
|
|||||||
Hash: bc9f87c7e64ff656997db0f2b2a91703
|
Hash: bc9f87c7e64ff656997db0f2b2a91703
|
||||||
IncrementalBuildHash:
|
IncrementalBuildHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 98313c8eb74f89178044a9a994c30a81
|
Hash: 612a23b0b40c16e3e1e3cbbf90636bd0
|
||||||
HashAppended: 0
|
HashAppended: 0
|
||||||
ClassTypes:
|
ClassTypes:
|
||||||
- Class: 28
|
- Class: 28
|
||||||
|
|||||||
Binary file not shown.
@@ -1,21 +1,21 @@
|
|||||||
ManifestFileVersion: 0
|
ManifestFileVersion: 0
|
||||||
UnityVersion: 6000.3.7f1
|
UnityVersion: 6000.3.7f1
|
||||||
CRC: 2225548766
|
CRC: 1636198333
|
||||||
HashAppended: 0
|
HashAppended: 0
|
||||||
AssetBundleManifest:
|
AssetBundleManifest:
|
||||||
AssetBundleInfos:
|
AssetBundleInfos:
|
||||||
Info_0:
|
Info_0:
|
||||||
Name: unifiedraytracing
|
Name: shapes
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_1:
|
Info_1:
|
||||||
Name: basic
|
Name: basic
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_2:
|
Info_2:
|
||||||
Name: departure_to_multiverse
|
|
||||||
Dependencies: {}
|
|
||||||
Info_3:
|
|
||||||
Name: metropolis_on_orbit
|
Name: metropolis_on_orbit
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_4:
|
Info_3:
|
||||||
Name: shapes
|
Name: departure_to_multiverse
|
||||||
|
Dependencies: {}
|
||||||
|
Info_4:
|
||||||
|
Name: unifiedraytracing
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
|
|||||||
Binary file not shown.
@@ -1,16 +1,16 @@
|
|||||||
ManifestFileVersion: 0
|
ManifestFileVersion: 0
|
||||||
UnityVersion: 6000.3.7f1
|
UnityVersion: 6000.3.7f1
|
||||||
CRC: 1012070008
|
CRC: 2119417743
|
||||||
Hashes:
|
Hashes:
|
||||||
AssetFileHash:
|
AssetFileHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: f038c8737dccdbbb922785ad13defdbe
|
Hash: 3d16048c570846a3c430209a3f76ecec
|
||||||
TypeTreeHash:
|
TypeTreeHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: dfed41e3b38758e5f34df30221d719dc
|
Hash: dfed41e3b38758e5f34df30221d719dc
|
||||||
IncrementalBuildHash:
|
IncrementalBuildHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: daff94e5b2902357c1b4f50d325b0bb4
|
Hash: d21f29ccc27e1ea316e8d695fe626c89
|
||||||
HashAppended: 0
|
HashAppended: 0
|
||||||
ClassTypes:
|
ClassTypes:
|
||||||
- Class: 1
|
- Class: 1
|
||||||
|
|||||||
Binary file not shown.
@@ -1,16 +1,16 @@
|
|||||||
ManifestFileVersion: 0
|
ManifestFileVersion: 0
|
||||||
UnityVersion: 6000.3.7f1
|
UnityVersion: 6000.3.7f1
|
||||||
CRC: 3963795702
|
CRC: 1389196770
|
||||||
Hashes:
|
Hashes:
|
||||||
AssetFileHash:
|
AssetFileHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: da36a084e3188ee1f42f70a1632a9ecf
|
Hash: 2f04815c63d237b8fd2f42e117da867a
|
||||||
TypeTreeHash:
|
TypeTreeHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 6d9f9b8bc1074349261a0dbbf7f0f9f8
|
Hash: 6d9f9b8bc1074349261a0dbbf7f0f9f8
|
||||||
IncrementalBuildHash:
|
IncrementalBuildHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 40f4c5c977e00a69e1094eca8f16a3c9
|
Hash: 2133790ed86e50d1d8664afbc0684217
|
||||||
HashAppended: 0
|
HashAppended: 0
|
||||||
ClassTypes:
|
ClassTypes:
|
||||||
- Class: 1
|
- Class: 1
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Hashes:
|
|||||||
Hash: 8ab77e54d824a64c30bc20496c5f5926
|
Hash: 8ab77e54d824a64c30bc20496c5f5926
|
||||||
IncrementalBuildHash:
|
IncrementalBuildHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 2b9d1caa8b3c01da7365d30bd4e1e291
|
Hash: bf850a5f233cff8e5a36ac583934dcfd
|
||||||
HashAppended: 0
|
HashAppended: 0
|
||||||
ClassTypes:
|
ClassTypes:
|
||||||
- Class: 1
|
- Class: 1
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Hashes:
|
|||||||
Hash: bc9f87c7e64ff656997db0f2b2a91703
|
Hash: bc9f87c7e64ff656997db0f2b2a91703
|
||||||
IncrementalBuildHash:
|
IncrementalBuildHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: a6eece82ca305268802891f3699999ab
|
Hash: 6f6f4db93d0807c90d4be79ef8de5d45
|
||||||
HashAppended: 0
|
HashAppended: 0
|
||||||
ClassTypes:
|
ClassTypes:
|
||||||
- Class: 28
|
- Class: 28
|
||||||
|
|||||||
@@ -301,7 +301,7 @@ Material:
|
|||||||
- _BaseMapFoldOut: 0
|
- _BaseMapFoldOut: 0
|
||||||
- _BaseMapUVRotation: 0
|
- _BaseMapUVRotation: 0
|
||||||
- _BaseMapUVRotationSpeed: 0
|
- _BaseMapUVRotationSpeed: 0
|
||||||
- _BaseOptionBigBlockItemFoldOut: 0
|
- _BaseOptionBigBlockItemFoldOut: 1
|
||||||
- _BigBlockModeSettingFoldOut: 0
|
- _BigBlockModeSettingFoldOut: 0
|
||||||
- _Blend: 0
|
- _Blend: 0
|
||||||
- _BlendModePreserveSpecular: 1
|
- _BlendModePreserveSpecular: 1
|
||||||
@@ -665,7 +665,7 @@ Material:
|
|||||||
- _XianXingCH_UVRota: 0
|
- _XianXingCH_UVRota: 0
|
||||||
- _ZOffsetBlockFoldOut: 0
|
- _ZOffsetBlockFoldOut: 0
|
||||||
- _ZOffset_Toggle: 0
|
- _ZOffset_Toggle: 0
|
||||||
- _ZTest: 4
|
- _ZTest: 8
|
||||||
- _ZWrite: 0
|
- _ZWrite: 0
|
||||||
- _Ztest: 4
|
- _Ztest: 4
|
||||||
- _Zwrite: 0
|
- _Zwrite: 0
|
||||||
|
|||||||
@@ -334,7 +334,7 @@ Material:
|
|||||||
- _BaseMapFoldOut: 0
|
- _BaseMapFoldOut: 0
|
||||||
- _BaseMapUVRotation: 0
|
- _BaseMapUVRotation: 0
|
||||||
- _BaseMapUVRotationSpeed: 0
|
- _BaseMapUVRotationSpeed: 0
|
||||||
- _BaseOptionBigBlockItemFoldOut: 0
|
- _BaseOptionBigBlockItemFoldOut: 1
|
||||||
- _BigBlockModeSettingFoldOut: 0
|
- _BigBlockModeSettingFoldOut: 0
|
||||||
- _Blend: 0
|
- _Blend: 0
|
||||||
- _BlendMode: 0
|
- _BlendMode: 0
|
||||||
@@ -828,7 +828,7 @@ Material:
|
|||||||
- _XianXingCH_UVRota: 0
|
- _XianXingCH_UVRota: 0
|
||||||
- _ZOffsetBlockFoldOut: 0
|
- _ZOffsetBlockFoldOut: 0
|
||||||
- _ZOffset_Toggle: 0
|
- _ZOffset_Toggle: 0
|
||||||
- _ZTest: 4
|
- _ZTest: 8
|
||||||
- _ZWrite: 0
|
- _ZWrite: 0
|
||||||
- _Ztest: 4
|
- _Ztest: 4
|
||||||
- _Zwrite: 0
|
- _Zwrite: 0
|
||||||
|
|||||||
@@ -334,7 +334,7 @@ Material:
|
|||||||
- _BaseMapFoldOut: 0
|
- _BaseMapFoldOut: 0
|
||||||
- _BaseMapUVRotation: 0
|
- _BaseMapUVRotation: 0
|
||||||
- _BaseMapUVRotationSpeed: 0
|
- _BaseMapUVRotationSpeed: 0
|
||||||
- _BaseOptionBigBlockItemFoldOut: 0
|
- _BaseOptionBigBlockItemFoldOut: 1
|
||||||
- _BigBlockModeSettingFoldOut: 0
|
- _BigBlockModeSettingFoldOut: 0
|
||||||
- _Blend: 0
|
- _Blend: 0
|
||||||
- _BlendMode: 0
|
- _BlendMode: 0
|
||||||
@@ -828,7 +828,7 @@ Material:
|
|||||||
- _XianXingCH_UVRota: 0
|
- _XianXingCH_UVRota: 0
|
||||||
- _ZOffsetBlockFoldOut: 0
|
- _ZOffsetBlockFoldOut: 0
|
||||||
- _ZOffset_Toggle: 0
|
- _ZOffset_Toggle: 0
|
||||||
- _ZTest: 4
|
- _ZTest: 8
|
||||||
- _ZWrite: 0
|
- _ZWrite: 0
|
||||||
- _Ztest: 4
|
- _Ztest: 4
|
||||||
- _Zwrite: 0
|
- _Zwrite: 0
|
||||||
|
|||||||
@@ -611,7 +611,7 @@ Material:
|
|||||||
- _XianXingCH_UVRota: 0
|
- _XianXingCH_UVRota: 0
|
||||||
- _ZOffsetBlockFoldOut: 0
|
- _ZOffsetBlockFoldOut: 0
|
||||||
- _ZOffset_Toggle: 0
|
- _ZOffset_Toggle: 0
|
||||||
- _ZTest: 4
|
- _ZTest: 8
|
||||||
- _ZWrite: 0
|
- _ZWrite: 0
|
||||||
- _Ztest: 4
|
- _Ztest: 4
|
||||||
- _Zwrite: 0
|
- _Zwrite: 0
|
||||||
|
|||||||
@@ -615,7 +615,7 @@ Material:
|
|||||||
- _XianXingCH_UVRota: 0
|
- _XianXingCH_UVRota: 0
|
||||||
- _ZOffsetBlockFoldOut: 0
|
- _ZOffsetBlockFoldOut: 0
|
||||||
- _ZOffset_Toggle: 0
|
- _ZOffset_Toggle: 0
|
||||||
- _ZTest: 4
|
- _ZTest: 8
|
||||||
- _ZWrite: 0
|
- _ZWrite: 0
|
||||||
- _Ztest: 4
|
- _Ztest: 4
|
||||||
- _Zwrite: 0
|
- _Zwrite: 0
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ Material:
|
|||||||
- _BaseMapFoldOut: 0
|
- _BaseMapFoldOut: 0
|
||||||
- _BaseMapUVRotation: 0
|
- _BaseMapUVRotation: 0
|
||||||
- _BaseMapUVRotationSpeed: 0
|
- _BaseMapUVRotationSpeed: 0
|
||||||
- _BaseOptionBigBlockItemFoldOut: 0
|
- _BaseOptionBigBlockItemFoldOut: 1
|
||||||
- _BigBlockModeSettingFoldOut: 0
|
- _BigBlockModeSettingFoldOut: 0
|
||||||
- _Blend: 0
|
- _Blend: 0
|
||||||
- _BlinnPhongSpecularToggle: 0
|
- _BlinnPhongSpecularToggle: 0
|
||||||
@@ -613,7 +613,7 @@ Material:
|
|||||||
- _XianXingCH_UVRota: 0
|
- _XianXingCH_UVRota: 0
|
||||||
- _ZOffsetBlockFoldOut: 0
|
- _ZOffsetBlockFoldOut: 0
|
||||||
- _ZOffset_Toggle: 0
|
- _ZOffset_Toggle: 0
|
||||||
- _ZTest: 4
|
- _ZTest: 8
|
||||||
- _ZWrite: 0
|
- _ZWrite: 0
|
||||||
- _Ztest: 8
|
- _Ztest: 8
|
||||||
- _Zwrite: 0
|
- _Zwrite: 0
|
||||||
|
|||||||
@@ -301,8 +301,8 @@ Material:
|
|||||||
- _BaseMapFoldOut: 0
|
- _BaseMapFoldOut: 0
|
||||||
- _BaseMapUVRotation: 0
|
- _BaseMapUVRotation: 0
|
||||||
- _BaseMapUVRotationSpeed: 0
|
- _BaseMapUVRotationSpeed: 0
|
||||||
- _BaseOptionBigBlockItemFoldOut: 0
|
- _BaseOptionBigBlockItemFoldOut: 1
|
||||||
- _BigBlockModeSettingFoldOut: 0
|
- _BigBlockModeSettingFoldOut: 1
|
||||||
- _Blend: 0
|
- _Blend: 0
|
||||||
- _BlendModePreserveSpecular: 1
|
- _BlendModePreserveSpecular: 1
|
||||||
- _BlinnPhongSpecularToggle: 0
|
- _BlinnPhongSpecularToggle: 0
|
||||||
@@ -665,7 +665,7 @@ Material:
|
|||||||
- _XianXingCH_UVRota: 0
|
- _XianXingCH_UVRota: 0
|
||||||
- _ZOffsetBlockFoldOut: 0
|
- _ZOffsetBlockFoldOut: 0
|
||||||
- _ZOffset_Toggle: 0
|
- _ZOffset_Toggle: 0
|
||||||
- _ZTest: 4
|
- _ZTest: 8
|
||||||
- _ZWrite: 0
|
- _ZWrite: 0
|
||||||
- _Ztest: 4
|
- _Ztest: 4
|
||||||
- _Zwrite: 0
|
- _Zwrite: 0
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ Material:
|
|||||||
- _BaseMapFoldOut: 0
|
- _BaseMapFoldOut: 0
|
||||||
- _BaseMapUVRotation: 0
|
- _BaseMapUVRotation: 0
|
||||||
- _BaseMapUVRotationSpeed: 0
|
- _BaseMapUVRotationSpeed: 0
|
||||||
- _BaseOptionBigBlockItemFoldOut: 0
|
- _BaseOptionBigBlockItemFoldOut: 1
|
||||||
- _BigBlockModeSettingFoldOut: 0
|
- _BigBlockModeSettingFoldOut: 0
|
||||||
- _Blend: 0
|
- _Blend: 0
|
||||||
- _BlinnPhongSpecularToggle: 0
|
- _BlinnPhongSpecularToggle: 0
|
||||||
@@ -613,7 +613,7 @@ Material:
|
|||||||
- _XianXingCH_UVRota: 0
|
- _XianXingCH_UVRota: 0
|
||||||
- _ZOffsetBlockFoldOut: 0
|
- _ZOffsetBlockFoldOut: 0
|
||||||
- _ZOffset_Toggle: 0
|
- _ZOffset_Toggle: 0
|
||||||
- _ZTest: 4
|
- _ZTest: 8
|
||||||
- _ZWrite: 0
|
- _ZWrite: 0
|
||||||
- _Ztest: 4
|
- _Ztest: 4
|
||||||
- _Zwrite: 0
|
- _Zwrite: 0
|
||||||
|
|||||||
@@ -335,8 +335,8 @@ Material:
|
|||||||
- _BaseMapFoldOut: 0
|
- _BaseMapFoldOut: 0
|
||||||
- _BaseMapUVRotation: 0
|
- _BaseMapUVRotation: 0
|
||||||
- _BaseMapUVRotationSpeed: 0
|
- _BaseMapUVRotationSpeed: 0
|
||||||
- _BaseOptionBigBlockItemFoldOut: 0
|
- _BaseOptionBigBlockItemFoldOut: 1
|
||||||
- _BigBlockModeSettingFoldOut: 0
|
- _BigBlockModeSettingFoldOut: 1
|
||||||
- _Blend: 0
|
- _Blend: 0
|
||||||
- _BlendMode: 0
|
- _BlendMode: 0
|
||||||
- _BlendModePreserveSpecular: 1
|
- _BlendModePreserveSpecular: 1
|
||||||
@@ -829,7 +829,7 @@ Material:
|
|||||||
- _XianXingCH_UVRota: 0
|
- _XianXingCH_UVRota: 0
|
||||||
- _ZOffsetBlockFoldOut: 0
|
- _ZOffsetBlockFoldOut: 0
|
||||||
- _ZOffset_Toggle: 0
|
- _ZOffset_Toggle: 0
|
||||||
- _ZTest: 4
|
- _ZTest: 8
|
||||||
- _ZWrite: 0
|
- _ZWrite: 0
|
||||||
- _Ztest: 4
|
- _Ztest: 4
|
||||||
- _Zwrite: 0
|
- _Zwrite: 0
|
||||||
|
|||||||
@@ -827,7 +827,7 @@ Material:
|
|||||||
- _XianXingCH_UVRota: 0
|
- _XianXingCH_UVRota: 0
|
||||||
- _ZOffsetBlockFoldOut: 0
|
- _ZOffsetBlockFoldOut: 0
|
||||||
- _ZOffset_Toggle: 0
|
- _ZOffset_Toggle: 0
|
||||||
- _ZTest: 4
|
- _ZTest: 8
|
||||||
- _ZWrite: 0
|
- _ZWrite: 0
|
||||||
- _Ztest: 4
|
- _Ztest: 4
|
||||||
- _Zwrite: 0
|
- _Zwrite: 0
|
||||||
|
|||||||
@@ -335,7 +335,7 @@ Material:
|
|||||||
- _BaseMapFoldOut: 0
|
- _BaseMapFoldOut: 0
|
||||||
- _BaseMapUVRotation: 0
|
- _BaseMapUVRotation: 0
|
||||||
- _BaseMapUVRotationSpeed: 0
|
- _BaseMapUVRotationSpeed: 0
|
||||||
- _BaseOptionBigBlockItemFoldOut: 0
|
- _BaseOptionBigBlockItemFoldOut: 1
|
||||||
- _BigBlockModeSettingFoldOut: 0
|
- _BigBlockModeSettingFoldOut: 0
|
||||||
- _Blend: 0
|
- _Blend: 0
|
||||||
- _BlendMode: 0
|
- _BlendMode: 0
|
||||||
@@ -829,7 +829,7 @@ Material:
|
|||||||
- _XianXingCH_UVRota: 0
|
- _XianXingCH_UVRota: 0
|
||||||
- _ZOffsetBlockFoldOut: 0
|
- _ZOffsetBlockFoldOut: 0
|
||||||
- _ZOffset_Toggle: 0
|
- _ZOffset_Toggle: 0
|
||||||
- _ZTest: 4
|
- _ZTest: 8
|
||||||
- _ZWrite: 0
|
- _ZWrite: 0
|
||||||
- _Ztest: 4
|
- _Ztest: 4
|
||||||
- _Zwrite: 0
|
- _Zwrite: 0
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user