Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - fenixelian

#1
Cita de: GSG3D date=1478738216Donde esta la regla de 3 simple? Y si utilizas Sprites, la UI de Unity hace el escalado automatico configurando un parametro del Canvas.
   


O sea si la escala en vertical de mi objeto es 1 con alto de la pantalla en 1280, entonces cuando yo ponga la pantalla con alto 600 por ejemplo seria
 
1280----1
 
600-----x
 
donde esa x va a ser la escala que tendría que tener el objeto en una pantalla de 600. eso es lo que esta escrito en el código. solo que multiplicar por 1 no tiene sentido. Estoy familiarizado con el canvas, pero tampoco es exactamente lo que quiero. ya que si escala para distintos tamaños de pantalla pero no hace eso de que por ejemplo algo que ocupaba un cuarto de pantalla siga ocupando lo mimo en otras pantallas. ademas el canvas esta bueno para menús, pero para la parte del juego no funciona bien. o me equivoco?
#2
Buenos días. Espero haber puesto esto en el lugar adecuado. Este es mi problema
 
Hago mi juego para android usando de manera predeterminada la resolución 800*1280. Claramente, cuando yo vea este juego en un dispositivo con otra resolución, los elementos puestos en escena se van a cambiar de lugar. Lo que hice actualmente fue lo siguiente:
 
Pongo todos los objetos dentro de uno padre, por ejemplo la cámara, y luego a la cámara le pongo un script que hace escalar los elementos de adentro según el tamaño. (hago solo una regla de 3 simple).
 

   Transform t;
void Start () {
   t = GetComponent<Transform> ();
   t.localScale = new Vector3(Screen.width/800F, Screen.height/1280F, 1);
}

 
Sin embargo esto no surge el efecto que yo quiero.
 
Lo que quiero es que si por ejemplo yo pongo un sprite que ocupa exactamente el cuarto de la pantalla superior izquierda, al cambiar los tamaños de la pantalla, siga ocupando el mismo sector(no importa que el sprite se deforme).
 
 
 
alguno me ayudaría con una solución para este problema? desde ya muchísimas gracias
#3
General (Antiguo) / Optimizaciones para android
Julio 07, 2015, 06:28:37 PM
Muchas gracias por las respuestas. Ya voy solucionando algunas cositas y el rendimiento va mejorando, ahora voy a mover los objetos de cuerpo rigido sin usar position y ver el tema de la luz haber si empieza a funcionar optimamente.
#4
Eso no es que no te funcione. es que la funcion update se llama unas 60 veces por segundo, entonces lo que pasa es que la variable gameobject en donde tenes almacenado tu objeto se setea a null inmediatamente. saca la declaracion de la funcion al espacio global(fuera de la funcion update). avisame si te funciona sino miro de nuevo el codigo
#5
General (Antiguo) / Optimizaciones para android
Julio 01, 2015, 04:38:06 AM
Cita de: Mantis date=1435644336Tu juego en Android debe ir fluido al igual que en PC. Para eso tienes que cuidar todo, ya que en general un móvil no tiene la misma potencia que un PC:
 
Empieza por usar una luz direccional y pixel count a cero
Anti Aliasing desactivado.
No uses sombras.
Mantén los Draw call bajos.
Usa shaders para móviles y lo más sencillos posibles.
En el tamaño de texturas usa el mínimo que tenga un aspecto aceptable, si con 512 vale no uses 1024.
 
Estas son algunas cosas que te echan abajo el rendimiento. Si después de esto tu juego va fluido, puedes empezar a meter algunas cosillas más. Más luces, más shaders, mas DC, alguna sombra  etc...
 
Las texturas tienen un parámetro Aniso level. Modificándolo lograrás que se vean mejor (a mayor distancia y ángulo) y que no se vean borrosas.
 
 
1000 gracias por tomarte el tiempo de responderme, ya estoy solucionando algunas cositas para que ande mas fluido, sin embargo hay algunas cosas que no te entendí sobre lo que me explicaste porque como dije lo que yo se hacer mas que nada es programar y con el resto de las cosas ando medio flojo.
 
Que seria pixel count? lo busque en los atributos de luz direccional y no lo veo
Que seria Anti Aliasing y para que me sirve? como o donde lo desactivo?
los Draw call que son? me imagino que sera algunos datos que puedo ver cuando pongo stats en la pantalla del juego.Como puedo mantenerlos bajos? En cuanto se consideran bajos para android?
Usa shaders para móviles y lo más sencillos posibles. Cuales exactamente tendría que usar.
 
​De nuevo muchísimas gracias!
#6
General (Antiguo) / Optimizaciones para android
Junio 30, 2015, 05:20:28 AM
Hola a todos. Hace ya un tiempo que uso unity, soy programador y con la api de unity me es mas que suficiente para poder hacer lo que deseo. Trato de optimizar recursos lo mas que puedo en uso de gpu en los scripts por ejemplo haciendo algoritmos de orden constante y evitando que el recolector de basura pase muy seguido. Sin embargo, si bien puedo hacer juegos para pc, al momento de compilar mi juego para dispositivo android todo anda super lento, las texturas y demás no mantienen un color fijo(como que por ahi salen rallas en el juego o puntos negros). Cuando muevo un objeto por ejemplo en la pc se mueve suabemente pero en el teléfono no. Se que esto es porque yo hago que se mueva 1 unidad por segundo por ejemplo(usando Time.deltaTime) y en la pc tengo entre 60-70 fps mientras que en un SO android esto se hace en 30 fps.
-Para no instanciar objetos constantemente(como podrian ser las balas de las torres en el TD que estoy haciendo) uso pools de objetos, asi lo unico que hago es moverlos dentro o fuera de la ecena segun los necesito.
-Se que los terrenos consumen muchísimos recursos por la cantidad de polígonos que tienen asi que no los uso(por ahora este td lo estoy haciendo solo con las formas geométricas que trae unity y luego haré los modelos 3d con la menor cantidad de polígonos posibles)
-etc
 
O sea me trato de cuidar con los recursos lo máximo posible pero sin embargo el desempeño de mis juego es asqueroso comparado con otros juegos en la tienda de google
 
Las preguntas serian:
1-Veo que los juegos en la tienda logran un desplazamiento agradable a la vista y que no va a tirones.Como puedo lograr eso con mis juegos?
 
2-cual seria la cantidad de polígonos totales en la escena para que el juego corra bien en un dispositivo android?
 
3-Imágenes y texturas(todo lo que puedan explicarme acerca de que texturas tengo que usar para que se vean bien en android y a la vez que no gasten recursos excesivos). Por ejemplo resoluciones y formatos de imagenes, y como tratarlas dentro de unity para lograr un rendimiento óptimo
 
4-Musica:que formato usar? habia usado para uno de mis juegos musica en diferentes formatos pero hacian que la escena tardara mucho en cargarse.Si les bajaba la calidad se escuchaban muy feo aunque tardaban menos en cargarse
 
5-Partículas: Seria genial poder hacer que algunas torretas disparen balas de fuego por ejemplo, pero cuando le pongo el sistema de partículas a las balas, como se podrán imaginar el juego en el teléfono va super lento. Como tengo que hacer para poder usar un sistema de partículas en android? o sea con que cosas me tengo que cuidar para que no consuma tantos recursos?Veo que muchos juegos usan partículas o ciertas animaciones que parecen partículas en forma continua y andan muy bien.
 
6- Sombras luces y demas.Hasta que punto y cantidades puedo usar estos elementos?
 
Todo lo que sepan que puedan explicarme sobre como hacer que un juego ande bien en android y poder desarrollar a nivel profecional es agradecido desde ya.
 
Muchas gracias desde ya a todos los que respondan.Todo lo que sepan y puedan decirme siempre viene bien!!!
 
PD: Los juegos los pruebo en mi telefono android que es un telefono promedio de gama media-alta.