Jump to content

Search the Community

Showing results for tags 'custom'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
  • Mesa de ayuda
    • Unity
    • Arte
    • Builds & Dispositivos
    • Otras Especialidades
  • Aportes de la Comunidad
    • Recursos
    • Eventos
  • Bolsa de trabajo & Colaboraciones
    • Ofertas y Demandas
  • Post Antiguos
    • General (Antiguo)

Blogs

There are no results to display.

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Especialidad

Found 2 results

  1. ¡Hola foreros! Estoy trabajando en un generador de escenas y me enfrento a decidir cómo voy a llevar el resultado a Unity. Me surgen varias dudas que quería exponeros a ver si me podéis ayudar a decidir una forma buena de hacerlo. Actualmente mi generador genera GLTF, esto lo importo en Blender y lo exporto a FBX, que importo en Unity. Mis modelos tienen materiales con colores y el visor de GLTF los muestra correctamente, no así Blender y Unity, así que estoy perdiendo los materiales en el camino. También estoy perdiendo la jerarquía de objetos: cada geometría aparece en un nodo y todos ellos al mismo nivel, cuando yo querría mantener una jerarquía de objetos más compleja. Lo que necesito es una forma de llevarme una jerarquía entera de nodos de la escena a Unity, y estoy barajando hacer algunos scripts para este proceso. Tengo la sensación de que una buena pipeline de importación me permitiría gestionar toda la escena desde mi generador procedural. Quiero evitar tener que editar nada de la escena en Unity. Querría hacer todo esto automáticamente: crear y asignar materiales, reusar geometría, añadir colliders y otros scripts custom... Me gustaría poder hacer esto en tiempo de diseño pero también en tiempo de ejecución para poder descargar niveles desde Internet directamente desde Unity. Me surgen un montón de dudas: ¿Cuál sería la forma de implementar esto? He leído sobre los scripted importers pero creo que sólo funcionan en tiempo de diseño y no cumplen mis objetivos. Generar archivos en el formato de Unity me parece engorroso. Estoy pensando en usar un script en Unity que bien genere la escena entera o modifique una importada para añadir todo lo necesario. En principio, mi intención es generar uno o varios archivos con un formato propio (definiendo colliders, scripts a añadir...), pero quizá pudiera usar algún formato soportado por Unity y procesar los metadatos de los objetos ¿sabéis si se pueden importar metadatos/properties con los modelos? No me están funcionando los materiales (los modelos que importo ahora mismo aparecen con el default material). ¿Tiene sentido que procese los nodos importados y les asigne materiales de alguna otra forma? ¿cómo gestionáis esto en vuestras pipelines? Para reusar geometría y GameObjects, ¿bastaría con importarla una vez y después usar GameObject.Instance() sobre ese nodo repetidas veces? (al hacer esto no usaría prefabs, pero creo que tendría el mismo resultado). ¿Es esto posible? Si quiero hacer esto en tiempo de ejecución, donde entiendo que Unity no deja importar assets (leer .OBJ o .FBX), tendría que usar mi propio formato y construir los Mesh en tiempo de ejecución ¿es esto viable? ¿le veis sentido? Por último, creo que si renuncio a cargar niveles en tiempo de ejecución, podría intentar generar archivos en el propio formato de Unity y usar formatos de modelo más estandar (OBJ, FBX). O usar ScriptedImporters. Y esto me permitiría reimportar prefabs sin tener que reimportar la escena entera,. Pero no me acaba de convencer y los ScriptedImporters me parecen más engorrosos que simplemente importar unos modelos y usando unos metadatos, procesar la escena para adecuarla a mis necesidades. ¿Entiendo que hacer todo esto dinámicamente afectaría a las posibilidades de precocinar la iluminación y otros aspectos (ocluders?)? Estoy un poco perdido :-$. A ver si me dais vuestra opinión en estos temas para decidirme en una dirección. Y otra pregunta ¿qué pipelines desde "fuentes -> scene graph" usáis? Unity fomenta que importemos modelos y hagamos la edición en su editor, pero ¿qué pasa con los mundos procedurales y gente que prefiere usar tools externas? ¡Gracias!
  2. Desde hace una semana he estado diseñando un menú de opciones para mi juego, como sabemos antes de la llegada de Unity 5.2 no existía un control tipo Dropdown entre el UI de Unity de manera que me había dedicado a diseñarlo. Luego de que el progreso de mi control estaba a un 80% Unity saca su versión 5.2 con el control así que me había apartado un poco del proyecto del mi control. Una noche decidí anexar el control Dropdown de Unity a mi proyecto y el control se comporto excelente, el control realmente hace lo que uno pudiera esperar de un Dropdown control, pero hay una limitación en el control de unity. Ahora imaginen este escenario: estas desarrollando un menú de opciones para tu juego y quieres que haya una opción para configurar los controles de tu jugador, para lograr esto deberemos ser capaz de pasarle un objeto de tipo KeyCode al evento controlador, por ejemplo: Input.GetKeyDown(KeyCode.E) es decir el cada item del dropdown debería ser capaz de almacenar cada KeyCode (KeyCode.A, KeyCode.B, etc…) para pasarselo directamente a Input.GetKeyDown, pero la limitante es que el control de Unity solo permite asignar dos propiedades “texto” y “sprite”, aunque si bien es cierto que pudiéramos hacer algún cast del string “texto” al enum esto se complicaría si el objeto que deseáramos asignar no es enum sino una clase mas compleja. Por esto decidí retomar mi diseño original de un componente Dropdown, el cual si implementa una propiedad llamada “value” de tipo object a la cual se le puede asignar cualquier tipo de valores. Para el ejemplo que les comente del listado con los KeyCodes la implementacion seria la siguiente: DropDownList dpComponent = dropdown.GetComponent<DropDownList>(); dpComponent.source = Enum.GetValues(typeof(KeyCode)). Cast<KeyCode>().Select(x => new DropDownListItem() { id = x.ToString(), text = x.ToString().CamelBreakup(), value = x, selected = x==KeyCode.E }).ToList(); La propiedad “source” del DropDownList permite definir el listado que se mostrara, cada item es un objeto de tipo DropDownListItem Les dejo el código fuente a continuación: para preguntas o sugerencias no se olviden comentar, espero les sea de utilidad. fuente: https://eleazarcelis.wordpress.com/2015/09/13/control-dropdownlist-para-unity/
UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...