Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: Jorge01 en Julio 17, 2017, 03:46:45 PM

Título: Llamar funciones del editor
Publicado por: Jorge01 en Julio 17, 2017, 03:46:45 PM
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.
Título: Llamar funciones del editor
Publicado por: Arthure en Julio 17, 2017, 04:16:17 PM
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.
Título: Llamar funciones del editor
Publicado por: lightbug en Julio 17, 2017, 04:18:21 PM
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?
Título: Llamar funciones del editor
Publicado por: Jorge01 en Julio 17, 2017, 04:25:54 PM
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