49 lines
1.6 KiB
C#
49 lines
1.6 KiB
C#
|
//////////////////////////////////////////////////////
|
|||
|
// MicroSplat
|
|||
|
// Copyright (c) Jason Booth
|
|||
|
//////////////////////////////////////////////////////
|
|||
|
|
|||
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEditor;
|
|||
|
using JBooth.MicroSplat;
|
|||
|
|
|||
|
#if __MICROSPLAT__
|
|||
|
public partial class MicroSplatPolarisMeshEditor : Editor
|
|||
|
{
|
|||
|
|
|||
|
public void DoTerrainDescGUI ()
|
|||
|
{
|
|||
|
MicroSplatPolarisMesh bt = target as MicroSplatPolarisMesh;
|
|||
|
|
|||
|
if (bt.blendMat == null && bt.templateMaterial != null && bt.keywordSO != null && bt.keywordSO.IsKeywordEnabled ("_TERRAINBLENDING"))
|
|||
|
{
|
|||
|
var path = AssetDatabase.GetAssetPath (bt.templateMaterial);
|
|||
|
path = path.Replace (".mat", "_TerrainObjectBlend.mat");
|
|||
|
bt.blendMat = AssetDatabase.LoadAssetAtPath<Material> (path);
|
|||
|
if (bt.blendMat == null)
|
|||
|
{
|
|||
|
string shaderPath = path.Replace (".mat", ".shader");
|
|||
|
Shader shader = AssetDatabase.LoadAssetAtPath<Shader> (shaderPath);
|
|||
|
if (shader == null)
|
|||
|
{
|
|||
|
shaderPath = AssetDatabase.GetAssetPath (bt.templateMaterial.shader);
|
|||
|
shaderPath = shaderPath.Replace (".shader", "_TerrainObjectBlend.shader");
|
|||
|
shader = AssetDatabase.LoadAssetAtPath<Shader> (shaderPath);
|
|||
|
}
|
|||
|
if (shader != null)
|
|||
|
{
|
|||
|
Material mat = new Material (shader);
|
|||
|
AssetDatabase.CreateAsset (mat, path);
|
|||
|
AssetDatabase.SaveAssets ();
|
|||
|
MicroSplatPolarisMesh.SyncAll ();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
#endif
|