- Home /
Add mesh with materials to scene through code.
I'm writing a MenuItem that iterates through fbx files located in "Assets/Resources". I want it to add one instance of each mesh to the current scene.
From helpful posts I have learned how to generate a GameObject and add a MeshFilter and MeshRenderer etc. But what I really want is for the GameObject to be generated as if drag-and-dropping the mesh from the asset browser into the scene [which means materials are assigned correctly].
Is that possible?
If not - how can I query for what materials a mesh is referencing?
Current code [that works but not giving me the result I am after]:
 using UnityEngine;
 using UnityEditor;
 
 using System.IO;
 
 public class MenuItems
 {
     [MenuItem("Tools/Process Meshes")]
     private static void NewMenuOption()
     {
         DirectoryInfo directoryInfo = new DirectoryInfo("[some unity project path]\\Assets\\Resources\\Meshes");
         FileInfo[] fbxFileInfos = directoryInfo.GetFiles("*.fbx");
         foreach (FileInfo fbxFileInfo in fbxFileInfos) 
         {
             string meshResourcePath = string.Format("Meshes/{0}", fbxFileInfo.Name.Replace(".fbx", ""));
 
             var mesh = Resources.Load(meshResourcePath, typeof(Mesh));
 
             Mesh meshInstance = Object.Instantiate(mesh) as Mesh;
 
             GameObject gameObject = new GameObject(fbxFileInfo.Name.Replace(".fbx", ""));
             gameObject.AddComponent(typeof(MeshFilter));
             gameObject.AddComponent(typeof(MeshRenderer));
             MeshFilter meshFilter = gameObject.GetComponent("MeshFilter") as MeshFilter;
             meshFilter.mesh = meshInstance;
         }
     }
 }
Your answer
 
 
             Follow this Question
Related Questions
Mesh slicing or shattering 1 Answer
importing from blender 1 Answer
Missing Materials and Textures Quick Fix? 0 Answers
Dynamic mesh positioning with Raycast intersection... 0 Answers
How can I save a gameobject's mesh? 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                