[Unity] Screen Space vs World Space

marod

Hola a todos.

Estoy realizando unos pequeños tutoriales de Unity, un juego sencillo en 2D que explican en las live session, un sombrero que coge unas bolas de bolos.

Mi duda viene a partir de este código:

 
upperCorner = new Vector2(Screen.width, Screen.height);
Vector3 targetWidth = cam.ScreenToWorldPoint(upperCorner);
hatWidth = hatRender.bounds.extents.x;
maxWidth = targetWidth.x - hatWidth;

Según entiendo en este fragmento de código, recoge en un vector 2 el tamaño total de la pantalla, la altura y la anchura con la finalidad de acotar el movimiento del sombrero.

Total, que mi duda viene siendo el metodo ScreenToWorldPoint() el cual no tengo ni pajorela idea de que sirve. Conjeturo que coge un punto de la pantalla y lo convierte a World Space, pero no entiendo ni idea de lo que es Screen Space ni lo que es World Space. ¿Qué diferencias hay?

¿Algún alma caritativa que me explique o me dé algún artículo que me revele algo?

Gracias.

txandy

Asi desde el tlf a modo rapido, uno es la posición en pixels ej: 300x400 y la otra es la posicion x e y 0,6

Si no recuerdo mal la screen es en pixels y la world es en xyz

1 1 respuesta
marod

#2 Anda coño. Gracias, ya me ha quedado claro.

VicoViper

Tu world se mide en algo que llamaremos (desconozco si su nombre real podría ser este) "Unidades Unity"puede ser todo lo grande que tu quieras. O todo lo pequeño que quieras. (por exagerar) Puedes decir que un objeto mida 1000 unidades y alejar la cámara 1000 veces más para que sea igual que un objeto de 1 unidad con la cámara cercana. Así que tu mundo de Unity podría ser de 202292982 x 22829029872 (sin contar la altura)

Tu pantalla se mide en píxeles, es un vector (x,y). Ese método, básicamente mira un punto de la pantalla y le dice a que unidad representa en tu mundo.

Para que te hagas una idea, el uso más habitual de esa función es el que se usa para saber donde apunta el ratón, de esa forma en todo momento te dice (sabiendo el lugar que ocupa en tu pantalla) que lugar corresponde a tu mundo. ;)

2

Usuarios habituales

  • VicoViper
  • marod
  • txandy