• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Camera/Unit 360 Spin??

Status
Not open for further replies.
Level 4
Joined
Oct 18, 2007
Messages
57
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 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
Camera Loop (Doubt this too, but might be affecting facing angle of unit):

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)
And My Looping Trigger For Whenever My Unit is Ordered to Move Forward:

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
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.
 

Attachments

  • Zerg_Invasion.SC2Map
    241.8 KB · Views: 65
Status
Not open for further replies.
Top