Third Person Shooter map, and my unit is able to move prefectly fine if he is traveling at any angle between 0 and 90 degrees, where 0 is east, while 90 is north. He is able to face any angle outside of 0-90, but once I make him move forward, he instantly faces 0 degrees, making movement almost imossible.
Camera Assignment (Doubt this has any effect on the problem):
Camera Loop (Doubt this too, but might be affecting facing angle of unit):
And My Looping Trigger For Whenever My Unit is Ordered to Move Forward:
And if you want to test the whole camera system and see what exactly I mean you can download the map below. Any beneficial feedback would be greatly appreciated. Thanks in advance.
Camera Assignment (Doubt this has any effect on the problem):
-
Camera Assignment
-
Events
-
Game - Map initialization
-
-
Local Variables
-
A = 0 <Integer>
-
-
Conditions
-
Actions
-
Variable - Set Camera Object[1] = Camera 1
-
Variable - Set Camera Object[2] = Camera 2
-
Variable - Set Camera Object[3] = Camera 3
-
Variable - Set Camera Object[4] = Camera 4
-
Variable - Set Camera Object[5] = Camera 5
-
Variable - Set Camera Object[6] = Camera 6
-
Variable - Set Camera Object[7] = Camera 7
-
Variable - Set Camera Object[8] = Camera 8
-
Variable - Set Camera Object[9] = Camera 9
-
Variable - Set Camera Object[10] = Camera10
-
UI - Set screen mode to Fullscreen for (All players) over Default seconds
-
Visibility - Disable Fog Of War visibility
-
Visibility - Disable Black Mask visibility
-
Variable - Set Zombie Defender[1] = Marine [129.76, 92.68]
-
General - For each integer A from 1 to 10 with increment 1, do (Actions)
-
Actions
-
Camera - Set Camera Object[A] target to ((Position of Zombie Defender[A]) offset by 0.75 height)
-
Camera - Set Camera Object[A] Distance to 1.8
-
Camera - Apply Camera Object[A] for player A over 0.5 seconds with Existing Velocity% initial velocity, 0% deceleration, and Include Target
-
Camera - Pan the camera for player A to ((Position of Zombie Defender[A]) offset by 0.75 height) over 0.1 seconds with Existing Velocity% initial velocity, 1% deceleration, and Do Not use smart panning
-
Camera - Set camera mouse Pitch rotation speed to 0.5 for player A
-
Camera - Set camera mouse Yaw rotation speed to 0.5 for player A
-
-
-
UI - Disable Smart Click for (All players)
-
Trigger - Turn Camera Loop On
-
-
Show Camera Loop
Camera Loop
Events
Timer - Every 0.01 seconds of Game Time
Local Variables
A = 0 <Integer>
Conditions
Actions
General - For each integer A from 1 to 10 with increment 1, do (Actions)
Actions
General - If (Conditions) then do (Actions) else do (Actions)
If
Forward[A] == false
Backward[A] == false
Leftward[A] == false
Rightward[A] == false
Then
Animation - Play Stand animation for (Actor for Zombie Defender[A]) as Default, using No Options options and Default Time blend time
Camera - Turn camera mouse rotation On for player A
Camera - Lock camera mouse relative mode On for player A
Camera - Set Camera Object[A] Distance to 1.8
Else
UI - Hide the mouse cursor for (All players).
Camera - Set Camera Object[A] Rotation to (Facing of Zombie Defender[A])
Camera - Set Camera Object[A] target to ((Position of Zombie Defender[A]) offset by 0.75 height)
Camera - Apply Camera Object[A] for player A over 0.1 seconds with Existing Velocity% initial velocity, 0% deceleration, and Include Target
Camera - Pan the camera for player A to (Position of Zombie Defender[A]) over 0.1 seconds with Existing Velocity% initial velocity, 0% deceleration, and Do use smart panning
Unit - Make Zombie Defender[A] face (Current camera yaw of player A) over 0.0 seconds
Variable - Set FacingAngle[A] = (Facing of Zombie Defender[A])
UI - Disable Smart Click for (All players)
Show 'Forward Loop'
Forward
Events
Timer - Every 0.01 seconds of Game Time
Local Variables
Run Speed = 0.0 <Real>
A = 0 <Integer>
Movement Point = No Point <Point[10]>
Conditions
Actions
General - For each integer A from 1 to 10 with increment 1, do (Actions)
Actions
General - If (Conditions) then do (Actions) else do (Actions)
If
Forward[A] == true
Then
General - If (Conditions) then do (Actions) else do (Actions)
If
(((Position of Zombie Defender[A]) offset by 0.075 towards (Facing of Zombie Defender[A]) degrees) is passable) == false
Then
Else
General - If (Conditions) then do (Actions) else do (Actions)
If
Running[A] == true
Then
Variable - Set Run Speed = 0.145
Else
Variable - Set Run Speed = 0.075
Variable - Set Movement Point[A] = ((Position of Zombie Defender[A]) offset by Run Speed towards FacingAngle[A] degrees)
Unit - Move Zombie Defender[A] instantly to Movement Point[A] (Blend)
Else