- Home /
How to make a dynamic mesh visible in Scene View
Hi. I'm a newb to Unity development. I've scoured the forums for an answer to this one, but perhaps I can't find the right search keywords.
The meshes in my game are dynamically generated. During the Start() function on a monobehaviour script, I set the mesh to a specific dynamically generated mesh.
public string meshName;
void Start ()
{
GetComponent<MeshFilter>().mesh = DynamicModelFactory.Instance().Find(meshName).mesh;
}
Is there a simple way I can make these objects render correctly in the Scene View when the game is not running?
I tried [ExecuteInEditMode] which works after the script compiles, but the mesh gets reset to null when you play the game and then stop running the game. Ideally, I need that code to run whenever the public string 'meshname' is edited in the inspector.
Thanks.
ok, I've solved this. The problem was in my singleton - for some reason it loses all meshes when returning to edit mode. Solved by using a monobehaviour singleton and creating the meshes in awake.
Answer by madpuppet · Jul 08, 2012 at 04:02 PM
Solved the problem. After doing some further testing, it was actually my singleton implementation that was giving my grief.
Changing the DynamicModelFactory singleton to an [ExecuteInEditMode] monobehaviour and attaching it to a game object fixed the problem.
I'm not sure why yet, but my singleton loses all its meshes when the game exits and returns to editor mode. I might have to do some further research or make the singleton create its own game object (as mentioned in another thread) since I don't really want to have to add this script to every scene manually.
Your answer
Follow this Question
Related Questions
Camera not showing in scene view 0 Answers
default setting scene area 1 Answer
Dynamic Mesh Emitter 1 Answer
How to find out the real viewport/screen size in Scene view? 5 Answers
Dynamic mesh collider 4 Answers