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