unity una texto tamaño scaler resolucion poner pantalla justificar imagen como carga cambiar ajustar user-interface unity3d 2d-games

user-interface - una - pantalla de carga unity



Unity 4.6-Cómo escalar los elementos de GUI al tamaño correcto para cada resolución (5)

El nuevo Unity 4.6 viene con una nueva GUI, cuando cambio la resolución en Unity, el botón UI se escala a la perfección, pero cuando pruebo en el dispositivo Nexus 7, el botón parece demasiado pequeño. Alguna idea de como resolver esto?


El nuevo sistema GUI de Unity usa "anclajes" para controlar cómo los elementos GUI (como los botones) se escalan en relación con su contenedor padre.

Unity tiene un video tutorial sobre cómo usar el nuevo componente "Rect Transform" (donde están configurados los anclajes) aquí: http://unity3d.com/learn/tutorials/modules/beginner/ui/rect-transform .

La última mitad del tutorial es sobre anclas. Esa página tiene enlaces a toda la serie de tutoriales. No es demasiado largo. Deberías ver todo el asunto.

Específico a tu pregunta:

Los anclajes son visibles en su primera captura de pantalla. Son esas 4 pequeñas flechas en la parte superior izquierda de tu botón.

En este momento, su botón solo está anclado por su esquina superior izquierda.

Los dos anclajes correctos deben arrastrarse hacia la derecha para que el borde derecho de su botón esté anclado a un espacio dentro de su contenedor principal.

Dependiendo de su situación, las dos flechas inferiores pueden necesitar ser arrastradas hacia abajo para que el borde inferior de su botón también esté anclado.

El video que he vinculado anteriormente cubre todo esto en detalle.

Por último, para que el tamaño de la fuente se adapte bien a diferentes resoluciones, deberá agregar y configurar un componente de resolución de referencia en el lienzo base de su UI, como escribió Ash-Bash32 anteriormente.

Actualización : la mejor manera de agregar un componente de Resolución de referencia es a través de la ventana del inspector para el lienzo base en su UI.

1) haga clic en "Agregar botón de componente" en la parte inferior del inspector.

2) escriba la palabra "Referencia" en el campo de filtro de búsqueda.

3) seleccione el componente "Resolución de referencia" en los resultados de búsqueda.


Esto se vuelve gigante e intrincado una vez que comienzas a exponer cosas en código Y utilizando un escalador de lienzo, así que deseo brindar una respuesta completa para salvar a alguien de las horas que pasé.

Primero, no use la posición anclada para colocar cualquier cosa, a menos que se dé cuenta completamente de que es un número de 0.0 a 1.0. Use RectTransform localPosition para hacer el diseño real, y recuerde que está relacionado con el anclaje principal. (Tuve que diseñar una cuadrícula desde el centro)

En segundo lugar, coloque un escalador de lienzo en el objeto de disposición principal Y las piezas de la interfaz de usuario interna. Uno hace que el diseño esté en la posición correcta, el otro cambiará el tamaño de los elementos para que se muestren correctamente. No puede confiar en el padre a menos que los niños también tengan escaladores (y los Raycasters gráficos para tocarlos).

En tercer lugar, si tiene un escalador, NO use Screen.width y height, en su lugar suponga que la pantalla tiene el mismo valor que pone para los escaladores (ojalá haya utilizado el mismo, o sepa lo que está haciendo). El ancho de la pantalla siempre devuelve los píxeles reales del dispositivo, los dispositivos Retina también, pero los escaladores de lona NO dan cuenta de esto. Esto probablemente le da a la unidad la única manera que le queda de encontrar los ppp de pantalla reales si su juego lo quiere. Editar: Este párrafo se aplica a cualquier lienzo de los padres conectado al código haciendo su presentación. Lienzos no perdidos, probablemente puedas confundirlos. Solo recuerde las pautas de la unidad sobre el rendimiento con lienzos.

En cuarto lugar, el lienzo todavía tiene un poco de errores. Incluso con el funcionamiento anterior, algunas cosas no se renderizan hasta que elimine y vuelva a crear un lienzo, si vuelve a abrir la escena o se bloquea. De lo contrario, lo anterior son las "reglas" generales que he encontrado.

Para centrar una "cuadrícula de cosas" no puedes usar la mitad del ancho o la altura del escalador de lienzo, debes calcular la altura de tu cuadrícula y establecer la compensación a la mitad, de lo contrario, siempre estará un poco apagada. Acabo de agregar esto como un consejo extra. Este cálculo funciona para todas las orientaciones.


La resolución de referencia ahora se renombra como Canvas Scaler. Junto con el cambio de nombre, han agregado muchas más características para la dinámica del Canvas. Puede consultar el Unity Doc de Canvas Scaler y también echar un vistazo a este artículo para ver un ejemplo práctico de cómo y por qué usar Canvas Scaler. También asegúrese de utilizar los puntos de anclaje con buenos resultados para hacer esto más robusto ...


Para escalar la IU, se agregó el Componente de resolución de referencia al lienzo que desea escalar.

PS no hay documentación para ReferenceResolution


Si desea que el botón tenga el mismo tamaño para todas las pantallas y resoluciones, debe agregar el componente escalador de lienzo al lienzo y establecer el modo de coincidencia de pantalla a: coincida con el ancho o alto, aquí está el enlace a los documentos, esto ayuda mucho si quiere apuntar a diferentes tamaños o resoluciones:

http://docs.unity3d.com/Manual/HOWTO-UIMultiResolution.html