您当前的位置: 首页 >  unity

十幺卜入

暂无认证

  • 3浏览

    0关注

    119博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity3d 提取mesh并保存成asset文件

十幺卜入 发布时间:2021-01-05 15:22:22 ,浏览量:3

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();
        }
    }
}

有问题的话,评论区见~~~

关注
打赏
1663314737
查看更多评论
立即登录/注册

微信扫码登录

0.0734s