generated from raccoon/vrchat-project-template
Added base block textures and materials
This commit is contained in:
34
Assets/dbl-world/scripts/MaterialGenerator.cs
Normal file
34
Assets/dbl-world/scripts/MaterialGenerator.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
|
||||
public class MaterialGenerator
|
||||
{
|
||||
[MenuItem("Assets/Create/Materials from selected")]
|
||||
private static void CreateMaterials()
|
||||
{
|
||||
foreach (Object obj in Selection.objects)
|
||||
{
|
||||
// TODO: Make better filtering
|
||||
if (obj.GetType() != typeof(Texture2D) || obj.name.EndsWith("_metallic") || obj.name.EndsWith("_emissive"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var selectedTex = obj as Texture2D;
|
||||
|
||||
var colorPath = AssetDatabase.GetAssetPath(selectedTex);
|
||||
var basePath = colorPath.Substring(0, colorPath.LastIndexOf('/') + 1) + "mat/";
|
||||
var metalPath = colorPath.Substring(0, colorPath.LastIndexOf('.')) + "_metallic.png";
|
||||
var emissionPath = colorPath.Substring(0, colorPath.LastIndexOf('.')) + "_emissive.png";
|
||||
|
||||
var material = new Material(Shader.Find("Standard"));
|
||||
material.mainTexture = selectedTex;
|
||||
material.SetTexture("_MetallicGlossMap", EditorGUIUtility.FindTexture(metalPath));
|
||||
material.SetTexture("_EmissionMap", EditorGUIUtility.FindTexture(emissionPath));
|
||||
|
||||
var newAssetName = basePath + selectedTex.name + ".mat";
|
||||
AssetDatabase.CreateAsset(material, newAssetName);
|
||||
}
|
||||
AssetDatabase.SaveAssets();
|
||||
}
|
||||
}
|
||||
11
Assets/dbl-world/scripts/MaterialGenerator.cs.meta
Normal file
11
Assets/dbl-world/scripts/MaterialGenerator.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e066dbb54ba164749a70363b81189d93
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user