[Guía] InterpolateCameraPos e InterPolateCameraLookAt.

Aprende lo que no sabes de este lenguaje y encuentra herramientas y códigos útiles.

Moderador: Ayudantes

Reglas del Foro
  • Si tu código es corto, no crees un tema nuevo para liberarlo, publica un mensaje en el tema [Funciones] ¡Publica tu código aquí!.
  • Si creas una guía, debes explicar el código claramente. Evita poner la explicación en forma de comentarios dentro del mismo y no olvides utilizar el BBCode correspondiente: [Pawn]Código aquí[/Pawn].
  • No postear códigos sin probar. Publicar códigos con errores (que impidan compilar el script para el cual está destinado) en este apartado es motivo de sanción.
  • Si tu código necesita plugins, includes u otros códigos adicionales para funcionar, debes mencionarlo en el mensaje.
  • Si has utilizado códigos de otros autores, recuerda colocar los créditos correspondientes. (El plagio es motivo de sanción).
  • Si tu aporte es para un GameMode en específico, debes publicar el tema en el apartado "Guías y Aportes para GameModes específicos".
Responder
Avatar de Usuario
MattHudson
Moderador Global
Moderador Global
Mensajes: 1666
Registrado: 31 Oct 2015 18:16
Ubicación: Argentina, Buenos Aires, San Miguel.
Contactar:
Reputación: 89

15 Feb 2017 06:50

Guía
Uso de InterpolateCameraPos e InterpolateCameraLookAt.








InterpolateCameraLookAt

Esta función la usaremos para que la cámara del jugador apunte a desde X coordenadas, a otras X coordenadas.
Ejemplo:
Sí usamos la función mencionada con los siguientes parámetros, haremos que el jugador(playerid, en este caso) haga que su cámara apunte desde las primeras coordenadas especificadas, a las segundas especificadas.

Código: Seleccionar todo

InterpolateCameraLookAt(playerid, 2495.3777, -1669.5308, 14.9869, 2470.3843, -1658.8140, 15.4077, 10000, CAMERA_MOVE);
(Una apunta a la casa de los Jhonsons, la otra a la calle de salida de Groove Street)







InterpolateCameraPos

Esta función la usaremos para que la cámara del jugador se mueva desde X coordenadas, a otras X coordenadas.
Ejemplo:
Sí usamos la función mencionada con los siguientes parámetros, haremos que el jugador(playerid, en este caso) haga que su cámara se mueva desde las primeras coordenadas especificadas, hasta las segundas especificadas.

Código: Seleccionar todo

InterpolateCameraPos(playerid, 2495.3623, -1668.5261, 15.0324, 2471.3892, -1658.7998, 15.4132, 10000, CAMERA_MOVE);
(Una se encuentra enfrente de la casa de los Jhonsons, la otra en el boca-calle de Groove Street)





Parametros

Son los mismos para ambas funciones.

Código: Seleccionar todo

InterpolateCameraPos/InterPolateCameraLookAt(id del jugador, X desde donde,Y desde donde, Z desde donde, X hasta donde, Y hasta donde, Z hasta donde, tiempo en mili-segundos, condición de movimiento o corte de camara);


Datos:

-La diferencia que tienen con SetPlayerCameraPos y SetPlayerCameraLookAt, es que permiten el movimiento de la cámara desde coordenada a coordenada, cosa que SetPlayerCameraPos y SetPlayerCameraLookAt no permiten.
-¿Como obtengo esas coordenadas? Yo uso el botón "CopyCameraLookAt()" del software llamado "Map Editor", el mismo copia en nuestro porta-papeles del sistema operativo el código(Control+V/Pegar).
-¿Diferencia entre los parámetros de CAMERA_MOVE y CAMERA_CUT? Facil, CAMERA_MOVE permite el movimiento de punto a punto, CAMERA_CUT no(en este seria como usar SetPlayerCameraPos y SetPlayerCameraLookAt, solo que en vez de hacerlo dos veces y mediante un timer, se hace con una misma función).
-¿Se pueden usar los dos a la vez? Sí, ejemplo: El que use en la guía.
-¿Que pasa que se ve todo borroso? Las cámaras de los jugadores solo muestran las texturas bases de los objetos, el jugador al estar cerca renderiza los objetos con sus respectivas texturas. Osea, debes mover la posición del jugador a un punto cercano(SetPlayerPos).
-¿Cual prefiero entre estas, y las que no se mueven(SetPlayerCameraPos y SetPlayerCameraLookAt)? Me dan lo mismo. Solo que a veces prefiero ahorrarme tiempo sin escribir los parámetros de estas funciones y usar las que no se mueven si lo requiero. Ademas, SUPONGO(destaco el SUPONGO ya que nunca lo leí ni lo comprobe) que las que usan movimiento consumen memoria por el temporizador que llevan dentro(como el uso de SetTimer y SetTimerEx), nos ahorraría un poco de uso de memoria.
-¿Diferencia concisa entre InterpolateCameraPos e InterpolateCameraLookAt?: La primera es la POSICIÓN de la cámara, la segunda a DONDE APUNTA la cámara.




¿Quien pidió la guía?: Paulo Arce.
¿Quien la hizo?: Lee el autor del tema.
¿Alguna guía que tome como base?: Ninguna.


EDIT 1:
-Corregí un error en algunas mayúsculas.
EDIT 2:
-Añadi un dato conciso sobre la diferencia entre las funciones explicadas.
Última edición por MattHudson el 15 Feb 2017 13:55, editado 1 vez en total.
Avatar de Usuario
BartolomeCanitrot
Junior
Junior
Mensajes: 290
Registrado: 02 Feb 2017 01:57
Contactar:
Reputación: 18

15 Feb 2017 11:09

MattHudson escribió:
15 Feb 2017 06:50
Guía
Uso de InterpolateCameraPos e InterpolateCameraLookAt.








InterpolateCameraLookAt

Esta función la usaremos para que la cámara del jugador apunte a desde X coordenadas, a otras X coordenadas.
Ejemplo:
Sí usamos la función mencionada con los siguientes parámetros, haremos que el jugador(playerid, en este caso) haga que su cámara apunte desde las primeras coordenadas especificadas, a las segundas especificadas.

Código: Seleccionar todo

InterpolateCameraLookAt(playerid, 2495.3777, -1669.5308, 14.9869, 2470.3843, -1658.8140, 15.4077, 10000, CAMERA_MOVE);
(Una apunta a la casa de los Jhonsons, la otra a la calle de salida de Groove Street)







InterpolateCameraPos

Esta función la usaremos para que la cámara del jugador se mueva desde X coordenadas, a otras X coordenadas.
Ejemplo:
Sí usamos la función mencionada con los siguientes parámetros, haremos que el jugador(playerid, en este caso) haga que su cámara se mueva desde las primeras coordenadas especificadas, hasta las segundas especificadas.

Código: Seleccionar todo

InterpolateCameraPos(playerid, 2495.3623, -1668.5261, 15.0324, 2471.3892, -1658.7998, 15.4132, 10000, CAMERA_MOVE);
(Una se encuentra enfrente de la casa de los Jhonsons, la otra en el boca-calle de Groove Street)





Parametros

Son los mismos para ambas funciones.

Código: Seleccionar todo

InterpolateCameraPos/InterPolateCameraLookAt(id del jugador, X desde donde,Y desde donde, Z desde donde, X hasta donde, Y hasta donde, Z hasta donde, tiempo en mili-segundos, condición de movimiento o corte de camara);


Datos:

-La diferencia que tienen con SetPlayerCameraPos y SetPlayerCameraLookAt, es que permiten el movimiento de la cámara desde coordenada a coordenada, cosa que SetPlayerCameraPos y SetPlayerCameraLookAt no permiten.
-¿Como obtengo esas coordenadas? Yo uso el botón "CopyCameraLookAt()" del software llamado "Map Editor", el mismo copia en nuestro porta-papeles del sistema operativo el código(Control+V/Pegar).
-¿Diferencia entre los parámetros de CAMERA_MOVE y CAMERA_CUT? Facil, CAMERA_MOVE permite el movimiento de punto a punto, CAMERA_CUT no(en este seria como usar SetPlayerCameraPos y SetPlayerCameraLookAt, solo que en vez de hacerlo dos veces y mediante un timer, se hace con una misma función).
-¿Se pueden usar los dos a la vez? Sí, ejemplo: El que use en la guía.
-¿Que pasa que se ve todo borroso? Las cámaras de los jugadores solo muestran las texturas bases de los objetos, el jugador al estar cerca renderiza los objetos con sus respectivas texturas. Osea, debes mover la posición del jugador a un punto cercano(SetPlayerPos).
-¿Cual prefiero entre estas, y las que no se mueven(SetPlayerCameraPos y SetPlayerCameraLookAt)? Me dan lo mismo. Solo que a veces prefiero ahorrarme tiempo sin escribir los parámetros de estas funciones y usar las que no se mueven si lo requiero. Ademas, SUPONGO(destaco el SUPONGO ya que nunca lo leí ni lo comprobe) que las que usan movimiento consumen memoria por el temporizador que llevan dentro(como el uso de SetTimer y SetTimerEx), nos ahorraría un poco de uso de memoria.




¿Quien pidió la guía?: Paulo Arce.
¿Quien la hizo?: Lee el autor del tema.
¿Alguna guía que tome como base?: Ninguna.


EDIT 1:
-Corregí un error en algunas mayúsculas.
Buena guia Matt me gustaria saber como usar esto en un comando para que cuando use por ejemplo /mandartutorial [ID], Las variables de administrador las puedo hacer yo pero me refiero hacerlo para que al usar ese comando no me mande a mi si no que yo ponga el id y lo mande a otro, Te corrigo un error.


-La diferencia que tienen con SetPlayerCameraPos y SetPlayerCameraLookAt, es que permiten el movimiento de la cámara desde coordenada a coordenada, cosa que SetPlayerCameraPos y SetPlayerCameraLookAt no permiten.

Pusiste 4 veces la misma palabra.
Aca tranquilo, programando y aprendiendo como todos.

Avatar de Usuario
MattHudson
Moderador Global
Moderador Global
Mensajes: 1666
Registrado: 31 Oct 2015 18:16
Ubicación: Argentina, Buenos Aires, San Miguel.
Contactar:
Reputación: 89

15 Feb 2017 12:40

BartolomeCanitrot escribió:
15 Feb 2017 11:09
Buena guia Matt me gustaria saber como usar esto en un comando para que cuando use por ejemplo /mandartutorial [ID], Las variables de administrador las puedo hacer yo pero me refiero hacerlo para que al usar ese comando no me mande a mi si no que yo ponga el id y lo mande a otro, Te corrigo un error.


-La diferencia que tienen con SetPlayerCameraPos y SetPlayerCameraLookAt, es que permiten el movimiento de la cámara desde coordenada a coordenada, cosa que SetPlayerCameraPos y SetPlayerCameraLookAt no permiten.

Pusiste 4 veces la misma palabra.
Conté las palabras, la que mas halle fue "que", la cual aparece 3 veces.

-Puedes revisar guías de uso de parámetros en el foro. Para una fácil comprensión, averigua el uso del plugin sscanf.
SALAS
Aprendiz
Aprendiz
Mensajes: 656
Registrado: 03 Jul 2016 19:57
Reputación: 4

16 Feb 2017 06:09

Eres genial
Gracias Matt, muy buena guia y muy entendible -clapping
Última edición por SALAS el 17 Feb 2017 23:12, editado 1 vez en total.
Avatar de Usuario
MattHudson
Moderador Global
Moderador Global
Mensajes: 1666
Registrado: 31 Oct 2015 18:16
Ubicación: Argentina, Buenos Aires, San Miguel.
Contactar:
Reputación: 89

17 Feb 2017 09:11

FranCostas escribió:
17 Feb 2017 08:43
¿Esto puede servir para los tutoriales del registro?
Todo sirve para todo.

Cada uno hace un "registro" como quiere. Las funciones de las que trata el tema son usadas a menudo en los "registros".
Avatar de Usuario
ElectroC
Senior
Senior
Mensajes: 1958
Registrado: 27 Nov 2014 12:22
Reputación: 60

17 Feb 2017 22:00

Paulo Arce escribió:
16 Feb 2017 06:09
Eres el p.. amo >:v
Gracias Matt, muy buena guia y muy entendible -clapping
Hola, edita tu comentario y quita esas letras que no es de buena educacion.
» Firma: ElectroC «

|---------------------------------------------------|

» Normas de PawnScript «
|---------------------------------------------------|


SALAS
Aprendiz
Aprendiz
Mensajes: 656
Registrado: 03 Jul 2016 19:57
Reputación: 4

17 Feb 2017 23:13

ElectroC escribió:
17 Feb 2017 22:00
Paulo Arce escribió:
16 Feb 2017 06:09
Eres el p.. amo >:v
Gracias Matt, muy buena guia y muy entendible -clapping
Hola, edita tu comentario y quita esas letras que no es de buena educacion.
Si es porque puse ">:V", quiero decirte que no tengo en cuenta lo que significa. Para mi es una forma de poner jaja. Igualmente, ya esta editado
Última edición por ElectroC el 18 Feb 2017 03:41, editado 1 vez en total.
Razón: Se quito 3 letras de un lenguaje inadecuado.
Avatar de Usuario
BartolomeCanitrot
Junior
Junior
Mensajes: 290
Registrado: 02 Feb 2017 01:57
Contactar:
Reputación: 18

12 Nov 2017 18:20

FranCostas escribió:
17 Feb 2017 08:43
¿Esto puede servir para los tutoriales del registro?
Si tenes ideas le podes dar muchos usos, Digamosle no se, Camaras policiales, Si sirve para tutoriales de registros
si queres te puedo ayudar.


Última reactivación por MattHudson en 12 Nov 2017 18:20
Aca tranquilo, programando y aprendiendo como todos.

Responder