Added GenerateMask to AssetsHelpers;
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Misaki.ArtToolEditor
|
||||
{
|
||||
public class CreateTerrainLayerMenu
|
||||
{
|
||||
private const string Terrain_Layer_Extension = ".terrainlayer";
|
||||
|
||||
[MenuItem("Assets/Art Tools/Material Helpers/Create Terrain Layer", true)]
|
||||
public static bool CreateTerrainLayerValidator()
|
||||
{
|
||||
foreach (var selectedObject in Selection.objects)
|
||||
{
|
||||
if (selectedObject is not Material)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
[MenuItem("Assets/Art Tools/Material Helpers/Create Terrain Layer")]
|
||||
public static void CreateTerrainLayer()
|
||||
{
|
||||
var window = EditorWindow.GetWindow<OutputOptionsWindow>(true, "Extract Materials Output Options");
|
||||
window.WithItemSource(Selection.objects);
|
||||
window.RegisterProcessor<CreateTerrainLayerProcessor>();
|
||||
|
||||
window.InitializeAndShow();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4ba5b5a3211673749a18dae69e07a0f3
|
||||
@@ -0,0 +1,37 @@
|
||||
using System.IO;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Misaki.ArtToolEditor
|
||||
{
|
||||
internal class CreateTerrainLayerProcessor : IAssetsProcessor
|
||||
{
|
||||
private const string Terrain_Layer_Extension = ".terrainlayer";
|
||||
|
||||
public void OnPreProcess(AssetsProcessContext context)
|
||||
{
|
||||
}
|
||||
|
||||
public void OnProcess(UnityEngine.Object source, string outputDirectory, AssetsProcessContext context)
|
||||
{
|
||||
if (source is not Material mat)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var terrainLayer = new TerrainLayer()
|
||||
{
|
||||
diffuseTexture = mat.GetTexture("_BaseColorMap") as Texture2D,
|
||||
normalMapTexture = mat.GetTexture("_NormalMap") as Texture2D,
|
||||
maskMapTexture = mat.GetTexture("_MaskMap") as Texture2D,
|
||||
};
|
||||
|
||||
var outputPath = Path.Combine(outputDirectory, mat.name + Terrain_Layer_Extension);
|
||||
AssetDatabase.CreateAsset(terrainLayer, outputPath);
|
||||
}
|
||||
|
||||
public void OnPostProcess(AssetsProcessContext context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c0d5979c585023248ba3c56e7936097f
|
||||
Reference in New Issue
Block a user