Jump to content
Sign in to follow this  
Megadok

Instanciar objeto en centro de la escena.

Recommended Posts

Buenas. Estoy intentando instanciar desde el Editor , un objeto y quiero que éste se instancie en el centro de la escena, no me refiero al punto (0,0,0), si no al centro de donde la vista de la escena esté mirando.

 

        string ruta = "Assets/Resources/teleports/updated/Teleport.prefab";

        GameObject go = AssetDatabase.LoadAssetAtPath(ruta, (typeof(GameObject))) as GameObject;
        PrefabUtility.InstantiatePrefab(go);

		go.transform.position = "centro de la vista de la Escena"

 

Share this post


Link to post
Share on other sites

¿Centro de la vista de la escena? imagino que te refieres a la cámara, lanza un raycast desde el centro de ésta al transform.forward hasta que colisione. Si entendí mal la pregunta, reformúlala o pon unas imágenes con Paint para hacernos a la idea.

Share this post


Link to post
Share on other sites
using UnityEditor;
 
void instantiate_teleport()
    {
        Selection.activeObject = GameObject.Find("any object in the scene no matter which");
        string path = "Assets/Resources/teleports/updated/Teleport.prefab";
 
        GameObject go = AssetDatabase.LoadAssetAtPath(path, (typeof(GameObject))) as GameObject;
        var goe = PrefabUtility.InstantiatePrefab(go) as GameObject;      
         
        Camera view = UnityEditor.SceneView.lastActiveSceneView.camera;
        Debug.Log(view);
        Vector3 pos = view.ViewportToWorldPoint(new Vector3(0.5f, 0.5f, 0f));
 
        goe.transform.position = pos;
        Selection.activeObject = goe;
 
        SceneView es = UnityEditor.SceneView.lastActiveSceneView;
        es.AlignViewToObject(goe.transform);
 
     
    }

Me funcionó esto.

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...