Jump to content
UnitySpain

Aceptamos donaciones vía Paypal.

UnitySpain.com es un servicio gratuito, pero mantener la Comunidad conlleva una serie de gastos.

Fondo Anual Unityspain: Donados 58,34€ de 150,00€

  • Servidor: Dominio.com y Hosting Web
  • Mantenimiento de los Foros
  • Contenido y Servicios Extras
  • Mantenimiento para Redes Sociales

Leaderboard


Popular Content

Showing most liked content since 07/25/2019 in all areas

  1. 4 likes
    Buenas, si alguien lo recuerda, este juego lo empece hace mucho, lo deje abandonado y no pude resucitarlo al tratarse de versiones tan antiguas de Unity. Actualmente estoy haciendo un reboot, de momento y a modo de demo técnica, os muestro este pequeño video de ejemplo:
  2. 3 likes
    Efectivamente, ahora mismo eso no es posible con clases C# serializadas, pero la buena noticia es que a partir de Unity 2019.3 lo va a ser gracias a un nuevo atributo llamado SerializeReference. Esto es algo que los que desarrollamos herramientas llevábamos AÑOS esperando que Unity implementase, así que hay cierta expectación con el tema. Más información aquí: https://forum.unity.com/threads/serializereference-attribute.678868/
  3. 2 likes
    Un app se distingue de otra por el package name al compilarla. Puedes llamarla como quieras mientras no incluyas nombres o marcas comerciales.
  4. 2 likes
    Hola, parece ser que ultimamente el tema de Admob con Unity se esta complicando, pero creo que es que la gente se leee las cosas en diagonal (las ganas de ganar dinero rapidamente), o que los tutoriales son taaaaaannnnn largos, que vas saltando de paso en paso y siempre te dejas alguno. Al final he creado un proyecto nuevo y configurado Admob para que muestre anuncios en un terminal Android, me ha quedado un vídeo de menos de diez minutos que espero que sea mas claro. Pero hay dos cosas que la mayoría de la gente se dejam, y todos acaben preguntando: ¿Por que no se ven mis anuncios si no sale ningún error? : -No se informa del appid en Assets->Google Mobile Adds->Settings. -No se informa de los dispositivos de test (el nuestro con el que probamos el juego) al crear el request. Espero que el vídeo sea el inicio de una nueva hornada de millonarios agradecidos que me retiren, o tendré que buscarme mi marujita diaz.
  5. 2 likes
    Disculpado aunque no hay ningún problema. Y la opción de crear una class pura en cada componente que necesita de configuración, y luego las unificas todas en un solo SO? Sería algo así como: public class componente : MonoBehavour { public class configComponente { dato, dato } [SerializeField] private soAll soAll; private configComponente configComponente; void Start() { configComponente = soAll.configComponente; dato = configComponente.dato; } } public class soAll : ScriptableObject { [SerializeField] private componente.configComponente _configComponente; public configComponente configComponente { get => _configComponente } }
  6. 2 likes
    Por si te sirve, si no comenta y buscamos alguna solución, pero el tema de los Scriptable Objects lo tengo un poco oxidado jajajaja
  7. 1 like
    Para VR Cardboard. Se publicará en Android/iOS en Septiembre de 2019. https://www.youtube.com/watch?v=BVv9WwLauZI https://www.youtube.com/watch?v=aUI9X622Yzw El audio tiene algunos lapsus. Luego vendrá la versión editada de promo. Es más enseñar el proyecto a nivel de Unity. Saludos
  8. 1 like
    Os voy a contar una pequeña historia que igual os suena: A principios de 2012 tres amigos de toda la vida nos juntamos con la idea de desarrollar videojuegos y, a base de tomárnoslo en serio y dedicarle tiempo, conseguimos que aquella cosa llamada Unity medio hiciera lo que queríamos lograr. El resultado, después de casi 3 meses de trabajo, fue Vitrun, un juego que diseñamos inicialmente para móviles, pero que acabó siendo publicado en la Mac App Store con un éxito relativo dado que Apple lo promocionó y llegó a estar en el puesto 1 de la lista de los más vendidos en varios países incluyendo España. Fueron días felices, pero después pasó lo que -por desgracia- suele pasar en este tipo de historias. Las ventas empezaron a bajar a partir del segundo mes y a partir de ahí cuesta abajo y en picado hasta llegar a un punto en el que vimos claramente que el negocio no era sostenible: Si bien éramos capaces de hacer videojuegos de cierta calidad, nos faltaba mucho en la parte de marketing. Intentamos algunas cosas, pero con absolutamente ningún resultado y claro, al final lo vimos tan complicado que nuestra motivación por hacer videojuegos acabó por esfumarse (casi) del todo. Así que no mucho después, a principios de 2013, cada amigo decidió tomar un rumbo diferente, quedándome yo al frente del estudio para desarrollar un proyecto completamente diferente a partir de una prometedora herramienta interna que comencé a programar para intentar reducir nuestros tiempos y costes de desarrollo. Ese proyecto acabaría llamándose GameFlow y si tenéis curiosidad podéis encontrar un poco de información en este hilo. ¿Qué pasó con Vitrun? bueno, pues lo típico también. Quedó abandonado y eventualmente lo retiramos de todas las tiendas... Y así, en forma de proyecto Unity 3.5 había estado "congelado" hasta que este mes (o sea, 7 años después de su lanzamiento original) me propuse recuperarlo del olvido para tenerlo por fin disponible para Windows (porque nunca llegó a estarlo en aquellos tiempos) y bueno, también para ya de paso quitarle el polvo y actualizarlo un poquito. El resultado es un juego simple pero tremendamente adictivo, así que tened cuidado porque engancha ;) Nada más, espero que lo disfrutéis. La descarga del juego es gratuita, por supuesto: https://evasiongames.itch.io/vitrun
  9. 1 like
    Normalmente el código que circula como ejemplos por internet no contiene control de errores, ya que se centran en la funcionalidad de la tarea a explicar. Un vídeo rápido sobre try/catch que en los procesos de I/O es importante.
  10. 1 like
  11. 1 like
    Mírate este tutorial. Es un código sencillo y te servirá de base:
  12. 1 like
    La verdad es que queda bastante bien, da una idea de cuanto falta para la meta, un estilo kickstarter. Una pregunta: ¿Es posible meter las noticias o el Feed en uno de los paneles laterales? Cosa de cliquear e ir directamente al link (no al topic), por ej con las últimas 5 noticias. Ah mira vos, tiene sentido, era sabido que el Admin y los mods se daban puntos ellos mismos jajaja. Sí, la verdad que están bárbaros, seguramente muchos de los importantes sean "under the hood", siempre se valoran. La galería me encanta, aunque todos los links me dan error. El foro de buenas practicas también me parece genial, aunque siento que el formato blog quedaría mejor, de todos modos la idea es muy buena. Ya que está pregunto, hace unos días me metí a un Topic X y descubro que era capaz de seleccionar la respuesta correcta, siendo que nunca respondí (además de obviamente no ser el autor del Topic). Ahora mismo no recuerdo el topic, pero probé con otros y no pasa lo mismo. ¿Este problema fue notificado? Quizás tenga relación con este punto : " Se ha corregido y vuelto a activar el plugin de Best Answer, para que los elijan qué respuesta es la mejor para resolver un problema. (pulsad la V a la izquierda del post, dónde el autor...) "
  13. 1 like
    Hola de nuevo, Como prometí en mi post de presentación, abro hilo sobre GameFlow, una herramienta de Visual Scripting para Unity creada por mí y que creo que os podría ayudar a solucionar gran cantidad de los problemas de scripting que he visto que soléis consultar en la sección de ayuda. La idea de GameFlow es simple: es un componente programable. Eso significa que una vez que hayáis añadido el componente a vuestro GameObject o Prefab podréis no sólo modificar sus settings como hacéis habitualmente con cualquier otro componente sino que podréis hacer mucho más: podréis construir programas completos con control de flujo, que reaccionan a eventos y que funcionarán tan bien como vuestros propios scripts en C#, pero con la comodidad de poder trabajar en el propio Inspector, sin tener que escribir una sola línea de código y sin tener que salir del editor de Unity para nada. ¿Os suena bien? pues veamos que pinta tiene el componente GameFlow: Lo que veis es un componente conteniendo dos bloques de programa de evento que a su vez contienen sus respectivos bloques de acción. Lo que hacen estos programas es bastante fácil de deducir: vamos a pintar de color rojo (acción Set Color) el cubo cuando hagamos click con el ratón (programa On Mouse Down) y a continuación vamos a reproducir un sonido (acción Play Sound). Luego, cuando soltemos el botón del ratón (program On Mouse Up) lo pondremos otra vez de blanco (otra acción Set Color). Por supuesto es un ejemplo tonto, como los otros 30 ejemplos que se incluyen en el paquete con el objetivo de que vayáis pillando poco a poco la idea, pero GameFlow puede hacer cosas mucho más complejas, llegando hasta cosas muy avanzadas como permitiros construir vuestras macros y ventanitas de utilidad para el editor. Por ejemplo: Sí, esa ventanita "Duplicate Randomly" está hecha también con GameFlow (concretamente con el programa que se ve debajo) y la podéis usar para ayudaros con tareas de edición de niveles y cosas así. Os prometo que incluso aquellos que tengáis experiencia con Editor scripting vais a fliparlo bien fuerte cuando veáis lo fácil que es montaros un ejercito de macros y utilidades de este tipo. Volviendo al tema de características, os puedo contar que GameFlow trae como unas 500 acciones combinables, más de 50 tipos de programas de evento y como una docena de otros bloques de utilidad que os ayudarán a hacer ciertas cosas: Timer para esas cosas que queréis hacer cada X tiempo, Path para waypoints (soporta splines), Ray para cosas de raycasting, Force para rollos de física, etc. En fin, me podría enrollar hasta el infinito hablando de la herramienta, pero creo que aquí en el foro ya hay alguna persona que la ha usado con éxito en sus juegos, por lo que me encantará poder cederles el micro para que os cuenten ellos de primera mano su experiencia como usuarios, que al fin y al cabo es lo verdaderamente importante. De todas formas os dejaré aquí algunos enlaces para aquellos que tengáis ganar de saber más al respecto: Charla en GamePolis 2014 con demostración en vivo Tutoriales GameFlow de Dani Moreno 3D Supongo que alguno de vosotros estará pensando ahora que todo este rollo es para intentar venderos licencias de la herramienta y tal, y bueno, lo cierto es que sí, pero es por esa manía mía de querer cobrar por mi trabajo para poder comer todos los meses... no me lo tengáis muy en cuenta, eh? ;P No, ahora en serio, la idea era presentar este recurso porque después de darme una vuelta por el foro he visto claro que realmente os puede solucionar muchas papeletas. Si os interesa y la podéis comprar ($20), hacedlo, por favor, no os vais a arrepentir. Si por el contrario no os podéis permitir comprarla ahora mismo porque estáis estudiando o lo que sea, pues sin problema, todos hemos tenido problemas de pasta alguna vez. Contactad conmigo por aquí, por email o por el grupo de Telegram, contadme quiénes sois y qué queréis hacer, y os regalaré una licencia. Eso sí, sólo puedo hacer esto con las 4 primeras personas que me lo pidan porque el número de códigos promocionales está limitado en la Asset Store y esos son los que me quedan. Otra cosa importante: estaré encantado de contestar aquí dudas generales sobre el producto, pero NO voy a contestar dudas de soporte ni cosas en plan "cómo hago tal con GameFlow?" ni aquí ni en ningún otro hilo del foro. Para ese tipo de cuestiones os ruego que os pongáis en contacto conmigo directamente de modo que no contaminemos un foro que está dedicado a Unity, no a herramientas externas. Un saludo! - - - - - - - - - - - ACTUALIZACIÓN: GameFlow ha pasado a ser gratuito. Lo tenéis ya disponible en itch.io y en las próximas semanas pasará a ser gratis también en la Unity Asset Store.
  14. 1 like
    Con la 2018.4 ya puedes compilar en 32/64. No hace falta ir a la última y que te aparezcan otro tipo de problemas debido a la versión.
  15. 1 like
    Te voy adecir unas cosas que puede ser te ayuden mucho si todavia no lo has solucionado. Primero sigue cualquier tutorial de esos de un minuto y medio de como exportar a 64 bits, en los que explican las casillas que hay que pulsar y demas. PAra la gran mayoria eso no es suficiente . Quita todo plugin estilo GameAnalytics, Facebook SDK y demas. Actualizar al ultimo Unity. Y despues bajate eel anterior(Unity 2019.1.14f1). A este Unity quitale la carpeta del "gdk" y sustituyela en el Ultimo Unity actualizado ya que la de este ultimo está corrupta. YA deberia funcionar. A mi y mucha gente se le ha solucionado asi el tema de poder exportar a 64 bits. Si todo te va bien a la primera pues perfecto.
  16. 1 like
    Me gusta que me hagas esa pregunta Pues le crearía un Canvas en root de ScreenSpace Camera. Le asignaría la cámara VR. Le colgaría un panel de un tamaño de 200x200 por ejemplo. Ajustaría la distancia con plane distance para que me quede donde quiero y hala! Ni transforms ni rotations. Recuerda ajustar el canvas scaler. Con esto tendrías un UI sencillito para info que te servirá para empezar. Si quieres el menú fijo en uno de los ejes (y por ejemplo), asociado a position y rotation del player que entiendo que tiene la cámara pues: - Crea un gameobject en root y lo llamamos menú. - En el start toma el offset de la rotation respecto al player. rotation.player - rotation.menú (mira lo que puse sobre las Q's) - Luego en el update (posiblemente otro tipo de update) del menú asignas la position.menú del player. Y creas un q con el eje x de la rotation del menú, eje y con la rotation del player y z con la rotation del menú y la asignas a la rotation del menú + el rotation offset que obtuviste en el Start. Esto hará que el menú se mueva en todos los ejes menos en el eje y. Lo mismo para otro. Si asignas la rotation.menú directamente con las del player + el offset, el menú estará sincronizado con todos los ejes de rotation del player. En este caso, al estar las rotations sincronizadas, el menú siempre estará apuntando al player sin tener que hacer nada, ya que los dos rotan al unísono.
  17. 1 like
    Hola, creo entender que te falta que instales Android? Si es eso, debes ir al lanzador que tengas, si es de la propia versión de Unity o como dice @iRobb si instalaste desde Unity Hub, que es un multilanzador propio. Me da que no tienes instalada la plataforma Android. Saludos. Aqui pudes ver si lo haces desde UnityHub:
  18. 1 like
    Son varios aspectos, pero sin ver como has montado las Uvs es dificil ser más preciso. Básicamente el problema que tenías es normal. Cuantos más objetos tengas en un mapa de de uvs mas resolución necesitará para que no haya pérdida de calidad. No estoy muy seguro de si te voy a explicar algo que ya sabes, pero me curo en salud explicándolo por si acaso. Si por ejemplo quisieses una pared larguísima muy detallada y pretendieses hacer la textura al completo tendrías un gran problema. Asumiendo que es un juego en primera persona y juegas en un monitor 1920 x 1080 en cuanto te acerques y la pared ocupase todo tu monitor, necesitarías al menos un mapa de 2048 x 24048 para que no hubiese pérdida, Si la pared en cuestión ocupase unas 5 pantallas estaríamos hablando de que necesitas en tu textura al menos 9600 px de ancho (1920 px x 5) Obviamente esto no tiene ningún sentido. Necesitarías un mapa de varios miles de píxeles para poder montar una pared larga, así que la solución es tilear la textura. Hacemos una textura repetible y conseguimos el mismo efecto, reduciendo el coste. Entonces, una vez entendido esto. ¿Porqué es mejor utilizar assets separados para montar el nivel? Pues hay varias respuestas. Como has visto, la mejor solución para grandes texturas es tilearlas, ¿es la única forma de hacerlo? No exactamente. Para hacer este ejemplo, se podría hacer de cuatro formas diferentes, te las dejo de lo que me parece el más optimo al que menos, y te voy explicando el porque: 1. Prefab de fragmento de la pared y repetirlo en el editor: Te permite reeditar el nivel, cosa importante de cara al diseño. Es mucho más fácil tirar pruebas y encima es el consumo más reducido. Unity gestiona de forma diferentes los prefabs y al instanciarlo consume menos recursos que mallas independientes entre sí. 2- Hago la pared completa y un único material y uso su tiling: En este preciso caso la mejor solución, aunque dependiendo de lo que tengas que hacer estarás más limitado que de la primera forma. 3. Hago la pared completa y depliego las uvs en cinco partes superpuestas sobre la textura repetible: Te generaría el mismo efecto pero pierdes capacidades. Vas a añadir más consumo y encima te limita la edición dentro del motor. 4.Hago un supermapa de 20000K para toda la pared: RIP ordenador. Conclusión: El workflow de montar el nivel en el propio motor siempre es el más acertado. En el campo profesional, los artistas que se encargan de generar los assets no tienen porque ser precisamente quien los monte, pero aunque fuese así, sigue siendo el mejor. Tener la capacidad de montar el nivel, probarlo, hacer y deshacer dentro del mismo motor te ahorrará muchos quebraderos de cabeza ante cambios posibles. De cara a la optimización como te comenté también es mejor. Si hablamos de casos aislados da igual, pero siempre va a consumir menos 100 instancias de un prefab que 100 mallas independientes completamente iguales.
  19. 1 like
    Yo he probado ya los sistemas de networking UNET y Photon, siendo realistas el networking de unity es basura. Photon está super bien, ¿el problema?, el precio. Finalmente me decidí por utilizar sockets y montarme mi propio servidor con NodeJS, y bueno, montando el servidor a lo mejor tardas un poco, pero al final consigues el control total de todo el sistema multijugador y se hace más ameno la creación de nuevas acciones, quizás deberías mirartelo porque para hacer una cosa tan sencilla como lo que quieres te puede venir genial. Aquí te dejo un vídeo de ejemplo
  20. 1 like
    El multiplayer por defecto de Unity es un desastre y está obsoleto (https://unity3d.com/es/unity/features/multiplayer). Lo van a cambiar por otro en versiones posteriores de la 2019. Te recomiendo que vayas a PUN (Photon Unity Networking) sin dudarlo. El código de ejemplos está muy bien hecho y hay muchos tutoriales. Es gratuito hasta 20 CCU. https://assetstore.unity.com/packages/tools/network/pun-2-free-119922
  21. 1 like
    Ya que está yo la calculo así: Vector3 dir = ( target.position - transform.position ).normalized ; @Stunx Si querés usar dos puntos (principio y fin) como en tu código original usa "Physics.LineCast"
  22. 1 like
    @iRobb Muchas gracias , como ya empieza siendo habitual, gracias gracias... he modificado el movimiento en el Update para que sólo si el forward tiene valor actue, tanto para ir hacia adelante como para ir hacia atras, por que sino, la locura... aunque es divertido el modo vuelo. if (Input.GetAxis("Vertical") >= 0) { this.transform.Translate(movement, Space.World); } if (Input.GetAxis("Vertical") <= 0) { this.transform.Translate(-movement, Space.World); } Además he añadido una entrada en el Input para que modifique el valor speed entre lento(1f) y rapido (3f) de momento asi, me basta. Hace lo que queria, aunque ahora queda ligado el eje de altura a que haya movimiento como condición para que cambie de altura. Eso lo he arreglado añadiendo justamente que lo haga en el Update. // actualiza posición Altura GameObject Parent RbFPC.transform.Translate(0f, height, 0f); De nuevo gracias por contestar, llevaba tiempo queriendolo resolver. Como puntillita quiero averiguar porqué en el Editor me funcionaba y en la build hace el desfase, si no es molestia estaria muy atento a tu interpretación como me comentas. Un saludo. Pdta. Adjunto Scrip para quien quiera usarlo. Dron.cs
  23. 1 like
    Hola Dos apartados que deben quedar claros de entrada: - En VR manda la cámara si o si, ya que le llegan todos los "inputs" de los sensores. No le debes bloquear nada, además de que generarás mareos estilo serie de pokemon. - Una rotación nunca la puedes anular poniéndola a 0. Solo conseguirás que todo comience a bailar y shaked, shaked. Y desde luego con Quaternions, ya que con ángulos se te desbordarán en el 180, -180 y todo bailará también. Si quieres que explique cómo hacer ésto, me dices, pero es que no lo veo necesario si he entendido bien. El player como parent y la cámara VR como hija de éste. Con esto ya tienes las rotaciones. Ahora lo que tienes que hacer es tomar el transform.forward del local de la cámara y asignarlo al position del player con un translate con deltatime y speed, etc. O sea: public class player : MonoBehaviour { [SerializeField] private Camera playerCamera; private float speed = 2f; void Start() { } void Update() { Vector3 movement = this.playerCamera.transform.TransformDirection(Vector3.forward); float factor = Time.deltaTime * this.speed; movement *= factor; this.transform.Translate(movement, Space.World); } } Incluso, si quieres bloquear un eje del movimiento o asignarle valores distintos, con acceder a la variable movement puedes asignar los ejes de manera independiente. Saludos
  24. 1 like
    Es incorrecto, la dirección se calcula así: También puedes usar el Vector3.direction(targetPosition,transform.position);
  25. 1 like
    La intención, es crear una serie de vídeos de programación de NPC's... Para empezar hacemos que sigan al protagonista, o alo que nosotros queramos.... y ya esta! Son 6 o 7 minutos de tu vida... y ya sabes hacer algo nuevo. ¿No has aprendido nada hoy? ¿son las 23:45? No te preocupes! Aprende como hacer un NPC que te siga!
  26. 1 like
    Tienes el genial ProGrids en el Package Manager.
  27. 1 like
    En mi caso ha sido diferente, tenía una versión antigua del package de VR. La he actualizado y ahora si. El problema me venía por la versión target de la API, que la tenía a 29, y el package que usaba de Google VR llegaba solo hasta la 27. Información sobre el tema, ninguna en ningún sitio, nivel de desesperación hasta que se te ocurre probar eso, pues si el ordenador no ha salido por la ventana en un par de ocasiones, es porque me hubiese tocado comprar otro. XD
  28. 1 like
    se ve chulisimo, yo quiero probarlo también.
  29. 1 like
    Buenísimo, buena info. Ah perdon, inputEditor es un Editor, al igual que los editores que tenés en los inspectores, vos podés definir un Editor ( inputEditor ) y dibujarlo manualmente ( inputEditor.OnInspectorGUI() ). En mi código está definido así: Editor inputEditor = null; En mi ejemplo tengo un editor por cada tipo de SCO, pero vos podés asignar todo a uno mismo, probablemente vas a tener que redibujarlo cada vez.
  30. 1 like
    Lo veo tan extraño que voy a probarlo
  31. 1 like
    Bueno les dejo imagenes porque video no hice todavia !!! el juego es un deporte bastante nuevo y te enseña a jugarlo .... en los fauls y tiros libres estan las explicaciones .... es una mezcla de bascket y balon cesto.
  32. 1 like
    Mírate como funcionan las coroutines y particulamente WaitForSeconds, WaitWhile y WaitUntil. Puedes tener unas variables de estado en cada personaje e ir esperando en bucle con los WaitWhile/WaitUntil para pasar a la siguiente acción.
  33. 1 like
    esta guay pero no dejas ver nada, alguna captura o algo? nos dejas con la miel en los labios
  34. 1 like
    Pero cuenta algo más hombre, ya sé que es un coñazo completar fichas por todos lados (copy/paste es tu amigo), pero sería bueno que pongamos información en nuestra propia comunidad y no solo links a la descarga
  35. 1 like
    Gracias, exacto está pensado para arrancar un proyecto, organizarlo y por lo menos visualizar el paso de un elemento a otro, algo que muchas veces se deja para el final. El asset está pensado para cubrir lo básico. El dissolve va en la 1.1, la opción de un dissolve con shader (siguiendo el alpha junto con los colores de la curva del gradiente). Lo que decís del audio está muy bien también, tenía pensado meter más opciones para el tema del Audio, en 1.0 es muy básico, pero de a poco voy a ir introduciendo diversas opciones, como mantener el clip, ignorar algun FadeIn/Out, etc. Saludos!
  36. 1 like
    Iba a decir lo mismo, @mrpacogp en el trailer no puede haber lag, sino ya estás promocionando que va a andar mal, por más que sea un muy buen juego. Tenés versión para PC/Desktop "a mano"? Me refiero a algun link directo de alguna web, es que por la store de Microsoft me da problemas, no tengo idea por qué, me dice que hubo un error una y otra vez.
  37. 1 like
    Que se muestren las variables significa que el editor del SCO se visualize en otro editor? por ej en un asset mio (Kinematic 2D) tengo lo siguiente: Fijate que el SCO (con sus campos serializables) se muestran en cada editor del componente Character Hybrid Brain, pero en realidad corresponden a un nuevo editor (anidado). Por ej, el primero que aparece ("Input Data") tiene el siguiente código: ... //El campo del objeto, el SCO EditorGUILayout.PropertyField( inputData ); GUILayout.Space(10); //Si no es nulo dibujarlo if( inputData.objectReferenceValue != null ) { GUILayout.BeginVertical( EditorStyles.helpBox ); // inputEditor es de tipo "Editor", si es nulo crealo if( inputEditor == null ) //Crear el editor CreateCachedEditor( inputData.objectReferenceValue , null , ref inputEditor ); //Ejecutar OnInspectorGUI del editor creado (OnInspectorGUI dentro de OnInspectorGUI --> anidado) inputEditor.OnInspectorGUI(); GUILayout.EndVertical(); } else { if( inputEditor != null ) inputEditor = null; EditorGUILayout.HelpBox( "Select a Character Input Data asset" , MessageType.Warning ); } Para buscar las variables de un scriptable object vas a tener que generar un serializedObject a partir del objecto (scriptableObject.objectReferenceValue): sObject = new SerializedObject(scriptableObject.ObjectReferenceValue); una vez creado podés buscar las propiedades: SerializedProperty property = sObject.FindProperty("property"); No se si puse los nombres exactamente como son, pero se entiende. En Resumen: Para acceder a un scriptableObject necesitas crearlo, el serializedObject que normalmente llamas es el correspondiente al monobehaviour, no al scriptableObject que te interesa Unity utiliza editores anidados casi siempre, fijate el PostProccesingStack, la mayor parte corresponde a mini editores que se van dibujando con OnInspectorGUI, obviamente todos ScriptableObject Los ScriptableObject son completamente serializables, podés anidar los que quieras, funcionan muy bien para representar SCO abstractos (abstract class ...) donde dibujas sin conocer el tipo derivado final (esto no es posible con clases de C# serializadas, otra vez, el ejemplo del PPStack sirve de ejemplo)
  38. 1 like
    Mirate la solución que a mi me ha servido. A ver si tambien tenias activada esa opcion. Saludos.
  39. 1 like
    Pues aún no, estamos testeando el juego en diferentes telefonos, pero planeamos subir otro trailer al canal mostrando un gameplay
  40. 1 like
    Pues no tiene mala pinta, ¿tenéis algún vídeo con gameplay?
  41. 1 like
    Os presento mi 2º (segundo) juego: "area51invasion" Link al juego: https://play.google.com/store/apps/developer?id=Raven+Games+Spain Consiste en aplastar a los invasores para que no roben a los aliens del área 51. Partidas de 15 segundos. La gente no saca más de 30-40 puntos. ¿Cuál es vuestro récord? Extras Hecho desde cero en 9 horas. 8 horas fueron en el apartado gráfico.
×
×
  • Create New...