Squashed commit of the following:
commit428243f4a6Author: AsanoRema <asanorema2036@gmail.com> Date: Sat Aug 29 13:43:13 2026 +0300 Squashed commit of the following: commit68e78fa464Author: AsanoRema <asanorema2036@gmail.com> Date: Sat Aug 29 13:41:49 2026 +0300 Updated .gitignore commit9f87122a34Author: AsanoRema <asanorema2036@gmail.com> Date: Sat Aug 29 13:34:57 2026 +0300 Added Dohya commitf6a7547e84Author: AsanoRema <asanorema2036@gmail.com> Date: Fri Aug 21 17:59:13 2026 +0300 Fixed commitb98901c366Author: AsanoRema <asanorema2036@gmail.com> Date: Tue Aug 18 17:37:22 2026 +0300 Added new particle Package commitbb2f4a3b16Author: AsanoRema <asanorema2036@gmail.com> Date: Tue Aug 18 17:17:48 2026 +0300 Map mehanic ready to multiplayer commitc01ff800f6Author: AsanoRema <asanorema2036@gmail.com> Date: Tue Aug 18 16:16:19 2026 +0300 Squashed commit of the following: commit173bbb165cAuthor: henjkey <henjkey@gmail.com> Date: Fri Aug 14 18:51:23 2026 +0500 Mappp commitd559ab338aAuthor: henjkey <henjkey@gmail.com> Date: Thu Aug 13 18:42:41 2026 +0500 Map Controller Coordinates Target System Crosshair System Radar System
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
using UnityEngine;
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
#endif
|
||||
|
||||
namespace VLB
|
||||
{
|
||||
public static class DummyMaterial
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
static string GetPath(Shader shader)
|
||||
{
|
||||
const string kDummyFilename = "VLBDummyMaterial.mat";
|
||||
const string kDummyPathFallback = "Assets/" + Consts.PluginFolder + "/Shaders/" + kDummyFilename;
|
||||
|
||||
if (shader == null)
|
||||
return kDummyPathFallback;
|
||||
|
||||
var shaderPath = AssetDatabase.GetAssetPath(shader);
|
||||
if (string.IsNullOrEmpty(shaderPath))
|
||||
return kDummyPathFallback;
|
||||
|
||||
var shaderFolder = System.IO.Path.GetDirectoryName(shaderPath);
|
||||
return System.IO.Path.Combine(shaderFolder, kDummyFilename);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a dummy material with the proper instancing flag to prevent from stripping away needed shader variants when exporting build
|
||||
/// </summary>
|
||||
public static Material Create(Shader shader, bool gpuInstanced)
|
||||
{
|
||||
if (shader == null)
|
||||
return null;
|
||||
|
||||
string path = GetPath(shader);
|
||||
var dummyMat = AssetDatabase.LoadAssetAtPath<Material>(path);
|
||||
if (dummyMat == null
|
||||
|| dummyMat.shader != shader
|
||||
|| BatchingHelper.IsGpuInstancingEnabled(dummyMat) != gpuInstanced)
|
||||
{
|
||||
dummyMat = MaterialManager.NewMaterialPersistent(shader, gpuInstanced);
|
||||
if (dummyMat)
|
||||
AssetDatabase.CreateAsset(dummyMat, path);
|
||||
}
|
||||
|
||||
return dummyMat;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user