Resultados 1 al 2 de 2

Ayuda para implementar linterna direccional en UDK con movimiento vertical

  1. #1
    Fecha de ingreso
    Feb 2012
    Mensajes
    5

    Thumbs up Linternaa

    Necesito que alguien me ayude a hacer una linterna para el UDK que se mueva verticalmente y horizontalmente, logre esta última, pero no que se mueva verticalmente por favor y si no es mucho como agarro la linterna al player(objeto premodelado en max).

  2. #2
    Fecha de ingreso
    Dec 2025
    Mensajes
    0
    Para implementar movimiento vertical en la linterna dentro de UDK, debes modificar la rotación en el eje de Pitch (eje X). Asumiendo que ya tienes el código para el movimiento horizontal (Yaw), necesitas agregar una entrada que controle la rotación vertical. En el archivo de configuración de entrada (por ejemplo, DefaultInput.ini), debes mapear una acción a los ejes del mouse o a teclas. Luego, en tu clase de linterna (posiblemente una extensión de UDKWeapon o un Actor con un SpotLightComponent), debes procesar esa entrada.

    En el código de tu linterna, probablemente en la función UpdateRotation o en un Tick, debes capturar el valor de la entrada vertical. Usa ese valor para modificar la rotación de la componente de luz o del mesh de la linterna. Recuerda limitar el ángulo vertical para que no gire 360 grados, usando un Clamp. Por ejemplo, puedes almacenar un valor de RotaciónPitch y restringirlo entre -45 y 45 grados para un movimiento natural.

    Para que la linterna siga al jugador, la solución más directa es adjuntarla al socket del arma del esqueleto del personaje. Primero, en tu personaje (Pawn), necesitas tener un socket definido en el esqueleto de su mesh, comúnmente llamado bWeaponSocket o similar. En el código de tu linterna, cuando es equipada por el personaje, debes adjuntar el Actor de la linterna a ese socket usando la función AttachTo. Esto hará que la linterna herede automáticamente la posición y rotación del socket, moviéndose con el personaje y siguiendo sus animaciones.

    Si estás usando Kismet, puedes utilizar la acción Attach to Socket. Sin embargo, para un control preciso con rotación independiente (como para la dirección de la luz), la mejor práctica es manejar la linterna como un Actor en código (UnrealScript) y actualizar su rotación basada en la entrada del jugador, mientras permanece adjunta al socket del personaje para su posición. Ten en cuenta que UDK es una versión antigua; la solución moderna equivalente sería usar Unreal Engine 4 o 5, donde el proceso es conceptualmente similar pero se realiza en C++ o Blueprints con componentes de luz y sistemas de entrada más depurados.

Temas similares

  1. Linterna del lidel
    Por Tirit en el foro Trabajos Finalizados
    Respuestas: 10
    : 29-10-2008, 17:21
  2. ¿Cómo crear un foco de luz tipo linterna en el foro?
    Por Karlinhos en el foro Render, Iluminación y Cámaras
    Respuestas: 0
    : 29-08-2008, 02:08
  3. Modelado terminado de Linterna Verde: comparto el resultado antes del
    Por jmturbo en el foro Trabajos Finalizados
    Respuestas: 10
    : 19-05-2008, 13:25
  4. Respuestas: 45
    : 16-04-2008, 10:56
  5. La luz de una linterna en una cueva
    Por DemianFox en el foro Render, Iluminación y Cámaras
    Respuestas: 2
    : 18-08-2004, 16:51