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
-
Actions
- UI - Disable Smart Click for (All players)
- Trigger - Turn Camera Loop On
-
Events
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