Unity3d 提取mesh并保存成asset文件
应用背景
- 应用背景
- 下载链接
- 使用步骤
- 贴出脚本
有些FBX文件过大,但是只用其中的一个mesh时,我们可以考虑把这个mesh单独提取出来保存问asset文件,这样就打打节省了程序开销。
下载链接这里我就直接贴出下载链接:https://download.csdn.net/download/qq_33789001/14027635
不过别担心,代码都会贴出。
使用步骤1.选中需要提取的节点 2.添加MeshSave组件
3点击提取按钮 4.提取完成
脚本较简单,这里就不解释了
MeshSave.cs
using System;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
public class MeshSave : MonoBehaviour
{
#if UNITY_EDITOR
public void SaveAsset()
{
Debug.Log("开始提取mesh");
try
{
Mesh mesh = this.GetComponent().mesh;
if (mesh != null) {
AssetDatabase.CreateAsset(mesh, "Assets/提取_" + name + ".asset");
Debug.Log("提取mesh成功:提取_" + name);
}
else
Debug.LogWarning("提取mesh失败:无MeshFilter组件");
}
catch (Exception e)
{
Debug.LogWarning("提取mesh失败:" + e.ToString());
}
}
#endif
}
MeshSaveEditor.cs
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(MeshSave))]
public class MeshSaveEditor : Editor
{
public override void OnInspectorGUI()
{
DrawDefaultInspector();
MeshSave myScript = (MeshSave)target;
if (GUILayout.Button("提取Mesh"))
{
myScript.SaveAsset();
}
}
}
有问题的话,评论区见~~~