Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Llamar funciones del editor

Iniciado por Jorge01, Julio 17, 2017, 03:46:45 PM

Tema anterior - Siguiente tema
Hola. Agradezco de antemano la ayuda que pueda recibir.
 
He desarrollado una función para crear un material e inmediatamente después ponerlo como skybox. Esa función es de editor y la pongo bajo una carpeta llamada 'Editor' porque parece que Unity la compila de otra manera. Cuando la ejecuto desde el editor no tengo ningún problema pero no me es posible llamarla desde los scripts normales. Cuando la intento asignar a un botón no me aparece a pesar de que la declaro como pública. Si la pongo fuera de la carpeta 'Editor' me da errores de compilación en el build. Alguien sabe como llamar llamar a esa función desde un botón (por ejemplo).?
 
Saludos.

Los scripts que se ponen dentro de la carpeta Editor tienes que hacer cuentas de que no existen ... solo los puedes utilizar desde el editor por lo tanto no podras asignar sus funciones a ningun boton, por mucho que las declares como publicas, ni ejecutarlas desde ningun script que no este dentro de la misma carpeta Editor.

HOla jorge, segun decis la funcion crea un material y luego lo hace skybox, eso me parece una funcion que harias solo en el editor y no en el runtime, para que querrias que los "scripts normales" (supongo que te referis a los monobehaviours) hagan eso?

El proyecto en el que estoy metido, es una especie de Street View. El Skybox es una foto 360 y va cambiando al pulsar un botón. Cada skybox es un material que hasta ahora creo con el editor, pero las secuencias de fotos son variables y el usuario debe poner tantas como quiera. No le puedo decir al usuario que entre al editor a crear los materiales y pretendo automatizarlo de alguna manera. Utilizando Creatematerial me funciona, pero solo en el editor y lo que necesito es que lo haga en Runtime.
Donde digo CreateMaterial quiero decir AssetDatabase.CreateAsset

Etiquetas: