Fly - Форум Игроделов
Вт, 07 Май 2024, 10:24 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNREAL ENGINE и UDK » ОБЩИЕ ВОПРОСЫ » Fly
Fly
darkpharmДата: Пн, 03 Июн 2013, 18:37 | Сообщение # 1
Нет аватара
 
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
Нужно, чтобы персонаж все время летел вперед, с управлением: вверх-вниз, влево-вправо.
В стейте PlayerFlying по умолчанию такой код
Код

  function PlayerMove(float DeltaTime)  
{  
          local vector X,Y,Z;  
             
    GetAxes(Rotation,X,Y,Z);  
            
    Pawn.Acceleration = PlayerInput.aForward*X + PlayerInput.aStrafe*Y + PlayerInput.aUp*vect(0,0,1);  
      
    Pawn.Acceleration = Pawn.AccelRate * Normal(Pawn.Acceleration);  
      
      
    if ( bCheatFlying && (Pawn.Acceleration == vect(0,0,0)) )  
    {  
     Pawn.Velocity = vect(0,0,0);  
       
           }   
            
    // Update rotation.  
    UpdateRotation( DeltaTime );  
       
    if ( Role < ROLE_Authority ) // then save this move and replicate it  
     ReplicateMove(DeltaTime, Pawn.Acceleration, DCLICK_None, rot(0,0,0));  
    else  
     ProcessMove(DeltaTime, Pawn.Acceleration, DCLICK_None, rot(0,0,0));  
   }  

Подскажите, пожалуйста, как лучше задать постоянное движение в forward направлении?
Как сделать движения strafe и up более резкими без потери скорости в forward направлении?
 
СообщениеНужно, чтобы персонаж все время летел вперед, с управлением: вверх-вниз, влево-вправо.
В стейте PlayerFlying по умолчанию такой код
Код

  function PlayerMove(float DeltaTime)  
{  
          local vector X,Y,Z;  
             
    GetAxes(Rotation,X,Y,Z);  
            
    Pawn.Acceleration = PlayerInput.aForward*X + PlayerInput.aStrafe*Y + PlayerInput.aUp*vect(0,0,1);  
      
    Pawn.Acceleration = Pawn.AccelRate * Normal(Pawn.Acceleration);  
      
      
    if ( bCheatFlying && (Pawn.Acceleration == vect(0,0,0)) )  
    {  
     Pawn.Velocity = vect(0,0,0);  
       
           }   
            
    // Update rotation.  
    UpdateRotation( DeltaTime );  
       
    if ( Role < ROLE_Authority ) // then save this move and replicate it  
     ReplicateMove(DeltaTime, Pawn.Acceleration, DCLICK_None, rot(0,0,0));  
    else  
     ProcessMove(DeltaTime, Pawn.Acceleration, DCLICK_None, rot(0,0,0));  
   }  

Подскажите, пожалуйста, как лучше задать постоянное движение в forward направлении?
Как сделать движения strafe и up более резкими без потери скорости в forward направлении?

Автор - darkpharm
Дата добавления - 03 Июн 2013 в 18:37
STARSДата: Пт, 07 Июн 2013, 11:52 | Сообщение # 2
Нет аватара
 
Сообщений: 112
Награды: 2
Репутация: 21
Статус: Offline
Не проще ли в самой игре через консоль вызвать команду Fly?
Летишь туда, куда показывает прицел. Кнопками WASD двигаешься вперед-назад-лево-право, а мышкой "рулишь" куда надо.
Чтобы опять начать бегать, вызываем через консоль команду Walk
 
СообщениеНе проще ли в самой игре через консоль вызвать команду Fly?
Летишь туда, куда показывает прицел. Кнопками WASD двигаешься вперед-назад-лево-право, а мышкой "рулишь" куда надо.
Чтобы опять начать бегать, вызываем через консоль команду Walk

Автор - STARS
Дата добавления - 07 Июн 2013 в 11:52
Форум Игроделов » UNREAL ENGINE и UDK » ОБЩИЕ ВОПРОСЫ » Fly
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024