Mensajes: 128
Temas: 23
Registro en: Jun 2017
Reputación:
4
Hola gente
Necesito su ayuda:
Es posible hacer que el jugador mire hacia una determinada ubicación del mapa?
o que que su mira vaya a una determinada entidad? (en caso de no ser posible la de arriba)
Espero sus respuestas Gracias
Mensajes: 158
Temas: 6
Registro en: Mar 2017
Reputación:
10
Mira, puedes intentar hacer cálculos matemáticos. Consigue la posición del enemigo y el ángulo de la cámara del jugador. Hacer un poco de cálculo loco para obtener exactamente el ángulo en el que la cámara debe atenerse a la focalización automática de su enemigo. Francamente, no soy bueno en matemáticas, quizás Mario AR pueda ayudarte.
O puede crear una entidad de tipo FOLLOW para seguir a su enemigo, por lo que forzar al jugador a mirar a esa entidad.
Mensajes: 1,902
Temas: 35
Registro en: Jan 2014
Reputación:
28
28/06/2017, 09:52 AM
(Última modificación: 28/06/2017, 09:52 AM por Chamo..)
@CrazY., no es necesario ningún calculo matemático, al menos no me parece.
@LeanPPP, juega con los angles/v_angle del jugador: -> EV_VEC_angles/EV_VEC_v_angle | pev_angles/pev_v_angle -> Engine | Fakemeta, respectivamente.
Mensajes: 158
Temas: 6
Registro en: Mar 2017
Reputación:
10
@Chamo, creo que necesitas usar cálculos sí. ¿Cómo será capaz de saber exactamente las coordenadas del enemigo para que pueda aplicar la focalización automática?
Mensajes: 1,902
Temas: 35
Registro en: Jan 2014
Reputación:
28
(28/06/2017, 10:16 AM)CrazY. escribió: @Chamo, creo que necesitas usar cálculos sí. ¿Cómo será capaz de saber exactamente las coordenadas del enemigo para que pueda aplicar la focalización automática?
Pero en ningun lugar esta hablando sobre "enemigos" o "amigos".
Solo busca cambiar los algunos de visión del jugador (visión de la entidad. " player" [jugador] ...O...visión de la cámara del jugador).
Podría tener unas coordenadas pre-establecidas, y solamente actualizar según esas mismas .....O....como dijiste al principio, obtener las coordenadas actuales, hacer una adición/sustracción en cualquier plano de visión, y actualizar (aquí si utilizaríamos el calculo).
Asi que si, en parte esta bien lo que dijiste al principio .
Mensajes: 158
Temas: 6
Registro en: Mar 2017
Reputación:
10
Jaja Ok
Mensajes: 128
Temas: 23
Registro en: Jun 2017
Reputación:
4
29/06/2017, 01:43 AM
(Última modificación: 29/06/2017, 02:00 AM por LeanPPP.)
(28/06/2017, 09:52 AM)Chamo. escribió: @CrazY., no es necesario ningún calculo matemático, al menos no me parece.
@LeanPPP, juega con los angles/v_angle del jugador: -> EV_VEC_angles/EV_VEC_v_angle | pev_angles/pev_v_angle -> Engine | Fakemeta, respectivamente.
Solo se agregarle angulos a una entidad..como seria para un player?
Otra pregunta: Es posible hacer centrar la mira del jugador? me explico: que la mira este en el medio tal cual empezas la partida
Mensajes: 3,284
Temas: 41
Registro en: Jan 2014
Reputación:
28
Esta porción de código la saque de un plugin de Kiske, solo que acá eliminé lo que no necesitarás según tus requerimientos.
Código PHP: stock entitySetAim(const iEnt, const Float:vecEntOrigin[3], const Float:vecTargetOrigin[3]) { static Float:vC[3]; static Float:vD[3]; xs_vec_sub(vecTargetOrigin, vecEntOrigin, vC); vector_to_angle(vC, vD); xs_vec_normalize(vC, vC);
entity_set_int(iEnt, EV_INT_fixangle, 1); entity_set_vector(iEnt, EV_VEC_angles, vD); entity_set_vector(iEnt, EV_VEC_v_angle, vD); entity_set_int(iEnt, EV_INT_fixangle, 1); }
USO:
Obtienes el origin de la entidad a la que quieres que apunte.
Obtienes el origin del player.
Código PHP: new Float:vecOrigin[3]; new Float:vecTargetOrigin[3];
entity_get_vector(id, EV_VEC_origin, vecOrigin); // id = id del jugador entity_get_vector(entity, EV_VEC_origin, vecTargetOrigin); // entity = el id de la entidad
entitySetAim(id, vecOrigin, vecTargetOrigin);
En el caso que ya tengas el origin a donde apuntar, saltea el paso de obtener el origin de la entidad.
Cualquier cosa pregunta.
Mensajes: 128
Temas: 23
Registro en: Jun 2017
Reputación:
4
29/06/2017, 03:45 AM
(Última modificación: 29/06/2017, 03:50 AM por LeanPPP.)
(29/06/2017, 03:00 AM)Federicomb escribió: Esta porción de código la saque de un plugin de Kiske, solo que acá eliminé lo que no necesitarás según tus requerimientos.
Código PHP: stock entitySetAim(const iEnt, const Float:vecEntOrigin[3], const Float:vecTargetOrigin[3]) { static Float:vC[3]; static Float:vD[3]; xs_vec_sub(vecTargetOrigin, vecEntOrigin, vC); vector_to_angle(vC, vD); xs_vec_normalize(vC, vC);
entity_set_int(iEnt, EV_INT_fixangle, 1); entity_set_vector(iEnt, EV_VEC_angles, vD); entity_set_vector(iEnt, EV_VEC_v_angle, vD); entity_set_int(iEnt, EV_INT_fixangle, 1); }
USO:
Obtienes el origin de la entidad a la que quieres que apunte.
Obtienes el origin del player.
Código PHP: new Float:vecOrigin[3]; new Float:vecTargetOrigin[3];
entity_get_vector(id, EV_VEC_origin, vecOrigin); // id = id del jugador entity_get_vector(entity, EV_VEC_origin, vecTargetOrigin); // entity = el id de la entidad
entitySetAim(id, vecOrigin, vecTargetOrigin);
En el caso que ya tengas el origin a donde apuntar, saltea el paso de obtener el origin de la entidad.
Cualquier cosa pregunta.
Sabes que sos un groso? crei que iba a ser imposible pero si se puede Muchas gracias
(29/06/2017, 03:45 AM)LeanPPP escribió: [quote='Federicomb' pid='165720' dateline='1498716029']
Esta porción de código la saque de un plugin de Kiske, solo que acá eliminé lo que no necesitarás según tus requerimientos.
Código PHP: stock entitySetAim(const iEnt, const Float:vecEntOrigin[3], const Float:vecTargetOrigin[3]) { static Float:vC[3]; static Float:vD[3]; xs_vec_sub(vecTargetOrigin, vecEntOrigin, vC); vector_to_angle(vC, vD); xs_vec_normalize(vC, vC);
entity_set_int(iEnt, EV_INT_fixangle, 1); entity_set_vector(iEnt, EV_VEC_angles, vD); entity_set_vector(iEnt, EV_VEC_v_angle, vD); entity_set_int(iEnt, EV_INT_fixangle, 1); }
USO:
Obtienes el origin de la entidad a la que quieres que apunte.
Obtienes el origin del player.
Código PHP: new Float:vecOrigin[3]; new Float:vecTargetOrigin[3];
entity_get_vector(id, EV_VEC_origin, vecOrigin); // id = id del jugador entity_get_vector(entity, EV_VEC_origin, vecTargetOrigin); // entity = el id de la entidad
entitySetAim(id, vecOrigin, vecTargetOrigin);
En el caso que ya tengas el origin a donde apuntar, saltea el paso de obtener el origin de la entidad.
Cualquier cosa pregunta.
Sabes que sos un groso? crei que iba a ser imposible pero si se puede Muchas gracias
|