Jump to content
Sign in to follow this  
Mimic

¿ Es viable tener toda mi escena en un solo blender file ?

Recommended Posts

el asunto es que no me siento muy libre y cómodo con las herramientas que me da unity para modificar mi escena, en cambio en blender tengo mas libertad para ubirca mis objetos por ejemplo el follaje, también me da la posibilidad de unir muchas mallas en una sola y así ganaría optimizacion, pero no se, me lo recomiendan ?

Share this post


Link to post
Share on other sites

Sí, claro. No veo por qué no usar Blender, mientras seas organizado...

Lo que sí que te recomiendo es que no abuses de tenerlo TODO en esa misma escena. Aprende a separar y tener la escena partida en varios trozos útiles, según tu navegación por esa escena, o por cantidad/tipos de objetos en ella (ej. Sólo la vegetación, sólo el terreno, sólo las casas, etc). Tú decides.

 

De todas formas, Unity trae también herramientas de scatter para colocar objetos como vegetación, ruinas, etc. Anímate a probar ProBuilder y PolyBrush, igual te gustan...

Share this post


Link to post
Share on other sites
On 9/23/2019 at 11:48 PM, pioj said:

Sí, claro. No veo por qué no usar Blender, mientras seas organizado...

Lo que sí que te recomiendo es que no abuses de tenerlo TODO en esa misma escena. Aprende a separar y tener la escena partida en varios trozos útiles, según tu navegación por esa escena, o por cantidad/tipos de objetos en ella (ej. Sólo la vegetación, sólo el terreno, sólo las casas, etc). Tú decides.

 

De todas formas, Unity trae también herramientas de scatter para colocar objetos como vegetación, ruinas, etc. Anímate a probar ProBuilder y PolyBrush, igual te gustan...

Con organización te refieres agrupar mis objetos en un game object vacio ? si es asi pues si, pero aun se me complica, algo que no me gusta de unity es que gracias al borde naranja al seleccionar un objeto se me dificulta distinguir si este esta atravesando a otro, hay alguna configuración para cambiar esto ?

Share this post


Link to post
Share on other sites
On 9/26/2019 at 1:19 AM, Mimic said:

hay alguna configuración para cambiar esto ?

Sí, en el panel de ajustes de los Gizmos (ventana Scene), puedes habilitar/deshabilitar el Selection outline (el borde naranja). Se vuelve un obstáculo cuando usas ProBuilder o cuando creas cartoon shader...

 

http://prntscr.com/pboqko

 

Share this post


Link to post
Share on other sites

Por norma general todo depende de que lo que quieras montar.Para mejor una optimización lo suyo es crear los objetos que no se van a repetir en la escena por partes para que te cuadro todo al exportarlo, pero los objetos que puedas llegar a repetir mejor duplicarlos en unity, ya que al crear duplicado un objeto en unity crea un prefabricado, guardando en memoria las propiedades,  collaider, animaciones, etc... y al duplicar dicho objeto no volverá a crear un nuevo objeto en memoria ya que lo tiene cargado ya, de esta manera se ahora mucho en la optimización. Si crearas todos los objetos en 3d los duplicados en blender también contarían como objetos independientes, teniendo el riesgo de saturar la memoria.

 

Un pequeño ejemplo del decorado que estoy preparando optimizando lo máximo ya que es un juego de móvil y hay mucho que meter ^^.

 

En una de las imágenes podemos ver la primera planta de una mansión vacía de muebles, ya que cada habitación es diferente y hay objetos que son únicos se puede modelar de esta manera, lo bueno de diseñar el decorado principal en conjunto en el blender ,es que al montar toda la planta en unity solo tuve que exportar habitación por habitación y todo se me cuadro automáticamente.

 

 

La segunda parte fueron los muebles, todos los muebles que hay duplicados se podría decir que realmente cuentan como 1 objeto por decirlo de alguna manera para que se entienda bien.Por ejemplo solo hay cargado en memoria 1 puerta ya que todas las demás son copias de prefabricado, lo mismo para con los sofás, muebles, mesas,sillas, cualquier objeto que este metido en un prefabricado para unity solo contada como 1 calculo, los demás son copias ya pre-calculadas.

 

 

nada.jpg

muebles.jpg

Share this post


Link to post
Share on other sites
55 minutes ago, J4v1v1g2 said:

Por norma general todo depende de que lo que quieras montar.Para mejor una optimización lo suyo es crear los objetos que no se van a repetir en la escena por partes para que te cuadro todo al exportarlo, pero los objetos que puedas llegar a repetir mejor duplicarlos en unity, ya que al crear duplicado un objeto en unity crea un prefabricado, guardando en memoria las propiedades,  collaider, animaciones, etc... y al duplicar dicho objeto no volverá a crear un nuevo objeto en memoria ya que lo tiene cargado ya, de esta manera se ahora mucho en la optimización. Si crearas todos los objetos en 3d los duplicados en blender también contarían como objetos independientes, teniendo el riesgo de saturar la memoria.

 

Un pequeño ejemplo del decorado que estoy preparando optimizando lo máximo ya que es un juego de móvil y hay mucho que meter ^^.

 

En una de las imágenes podemos ver la primera planta de una mansión vacía de muebles, ya que cada habitación es diferente y hay objetos que son únicos se puede modelar de esta manera, lo bueno de diseñar el decorado principal en conjunto en el blender ,es que al montar toda la planta en unity solo tuve que exportar habitación por habitación y todo se me cuadro automáticamente.

 

 

La segunda parte fueron los muebles, todos los muebles que hay duplicados se podría decir que realmente cuentan como 1 objeto por decirlo de alguna manera para que se entienda bien.Por ejemplo solo hay cargado en memoria 1 puerta ya que todas las demás son copias de prefabricado, lo mismo para con los sofás, muebles, mesas,sillas, cualquier objeto que este metido en un prefabricado para unity solo contada como 1 calculo, los demás son copias ya pre-calculadas.

 

 

nada.jpg

muebles.jpg

Me gusta mucho el diseño de la  planta. Felicidades!

Share this post


Link to post
Share on other sites

Mi principal objetivo era  conseguir un juego de móvil con una historia que no cargará escenas cada 3x4 y que tuviera vr cardboard para jugar,por el momento la cosa va bien, esa planta solo es el 15% de todo el decorado.

Mi consejo  para optimizar al máximo,es que tanto el modelado como la programación se prepare desde 0,sin packs a ser posible, la gente de la comunidad te va a ayudar y una buena optimización siempre es importante.

Share this post


Link to post
Share on other sites

Un sistema muy óptimo es la carga y descarga aditiva de scenes. Es mucho más rápido que la scene full al hacer que incluya solamente lo necesario.

Share this post


Link to post
Share on other sites
On 9/23/2019 at 4:10 PM, Mimic said:

también me da la posibilidad de unir muchas mallas en una sola y así ganaría optimizacion

Reglas no hay, pero uno de los pilares de Level Design + optimización es la capacidad de separar objetos. Si te referís a optimizar por tener varios GameObjects vs uno solo, realmente no es nada, importa más los componentes que tengan estos GameObjects, y acá es donde se da la diferencia.

Voy a suponer que estás hablando del Layout de una escena, es decir las mallas sin props (puertas, mesas, floreros, muebles, etc). Con el tema de los terrains es muy difícil empatar a Unity, el Terrain System está pensado alrededor de la optimización y encima las nuevas herramientas están muy buenas, así que acá no hay mucha lucha que dar. Con el layout de edificios tampoco hay mucho problema, dependiendo de tu escena. Dicho esto tenés algunos aspectos que podés mejorar solamente separando cosas:

1 - Rendering:

Acá tenés dos que se me ocurren, Occlusion culling, es decir, si mirás con la cámara para otro lado no se renderizan los n objetos, mientras que con uno solo no podés hacer mucho. Y el otro motivo es el Level of detail o LOD, con el cual podés reducir la cantidad de triangulos renderizados, poner un billboard, o incluso hacer desaparecer la mesh por completo. Si estás usando blender podés preparar tus LODs dandole al modificador "Decimate" (diezmar) que reduce la complejidad de la mesh, a mi me funciona para props y personajes.

2 - Físicas

Primero el tema de los colliders, si tus objetos (dependiendo de como sean, claro) se pueden cubrir usando colliders simples o convexos, le estás facilitando el trabajo al motor de físicas por mucho. Por ejemplo, si importas una malla entera que necesita tener un meshCollider (porque requiere cierto detalle en las colisiones con el jugador) es probable que (1) debás optar por usar este MeshCollider o (2) disfrazar toda la malla con Colliders simples (casi seguro que te vayas a (1) ). Si usas un MeshCollider para la escena, cada vez que choques con algo se realizaran los calculos con toda la mesh, triángulo por triángulo (realmente no se si las físicas separan los triangulos en zonas). Si todo fuera modular o separado vos podrías determinar las mallas que necesitan "detalle" a la hora de colisionar, y cubrir con colliders simples las que no.

Además, todo motor de físicas tiene su parte de detección de colisiones, constraints, solvers, y demás, pero una muy importante es la de optimización. Muchos usan una estructura de árbol (le llaman "Spatial Partitioning") para la fase "ancha" (o Broad)... Ejemplo: si un objeto A está muy lejano al personaje (en otra zona por ejemplo) el motor ni siquiera se preocupa y no emplea testea colisiones entre objA y Personaje. Si un objeto B se encuentra cerca del personaje (en la misma zona) se realizan los calculos necesarios. Te cito un fragmento del libro "Real-time Collision Detection" (Capítulo 7 Spatial Partitioning )

Recall from Chapter 2 that pairwise processing is expensive, and that the idea of broad-phase processing is to restrict pairwise tests to objects near enough that they could possibly intersect. Spatial partitioning techniques provide broad-phase processing by dividing space into regions and testing if objects overlap the same region of space. Because objects can only intersect if they overlap the same region of space, the number of pairwise tests is drastically reduced. This chapter explores three types of spatial partitioning methods: grids, trees, and spatial sorting.

Todo esto se aplica al Layout o a los mismos props. Lo bueno es que no tenés que reconstruir todo (creo) si querés usar un enfoque un poco más separado o modular, simplemente hacé todo en tu software de preferencia, crea grupos con cada sección importante y exporta la malla a Unity, este reconoce toda la jerarquía de grupos y te pone un MeshCollider en cada objeto por separado (si seleccionas "Generate Colliders"). Con esto combinas la comodidad de tu programa de 3D con las posibles optimizaciones de Unity. Yo hago esto con Sketchup y resulta muy cómodo la verdad, si tal parte del nivel te gusta como prefab le das unpack y te guardás el prefab en tu proyecto.

5 hours ago, J4v1v1g2 said:

nada.jpg

muebles.jpg

Muy lindo te quedó eso, me recuerda a los niveles de Amnesia. El monstruo que está detrás de la puerta es perturbante.

Share this post


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

UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...