GetAxis
How do I use Get Axis
Below are practical examples compiled from projects for learning and reference purposes
Featured Snippets
File name: JumpAndRunMovement.cs
Copy
68 void UpdateMovement()
69 {
70 Vector2 movementVelocity = m_Body.velocity;
71
72 if( Input.GetAxisRaw( "Horizontal" ) > 0.5f )
73 {
74 movementVelocity.x = Speed;
75
76 }
77 else if( Input.GetAxisRaw( "Horizontal" ) < -0.5f )
78 {
79 movementVelocity.x = -Speed;
80 }
81 else
82 {
83 movementVelocity.x = 0;
84 }
85
86 m_Body.velocity = movementVelocity;
87 }
File name: PickupController.cs
Copy
308 void UpdateSmoothedMovementDirection()
309 {
310 Transform cameraTransform = Camera.main.transform;
311 bool grounded = IsGrounded();
312
313 // Forward vector relative to the camera along the x-z plane
314 Vector3 forward = cameraTransform.TransformDirection(Vector3.forward);
315 forward.y = 0;
316 forward = forward.normalized;
317
318 // Right vector relative to the camera
319 // Always orthogonal to the forward vector
320 Vector3 right = new Vector3(forward.z, 0, -forward.x);
321
322 float v = Input.GetAxisRaw("Vertical");
323 float h = Input.GetAxisRaw("Horizontal");
324
325 // Are we moving backwards or looking backwards
326 if (v < -0.2f)
327 movingBack = true;
328 else
329 movingBack = false;
330
331 bool wasMoving = isMoving;
332 isMoving = Mathf.Abs(h) > 0.1f || Mathf.Abs(v) > 0.1f;
333
334 // Target direction relative to the camera
335 Vector3 targetDirection = h * right + v * forward;
336 // Debug.Log("targetDirection " + targetDirection);
337
338 // Grounded controls
339 if (grounded)
340 {
341 // Lock camera for short period when transitioning moving & standing still
342 lockCameraTimer += Time.deltaTime;
343 if (isMoving != wasMoving)
344 lockCameraTimer = 0.0f;
345
346 // We store speed and direction seperately,
347 // so that when the character stands still we still have a valid forward direction
348 // moveDirection is always normalized, and we only update it if there is user input.
349 if (targetDirection != Vector3.zero)
350 {
351 // If we are really slow, just snap to the target direction
352 if (moveSpeed < walkSpeed * 0.9f && grounded)
353 {
354 moveDirection = targetDirection.normalized;
355 }
356 // Otherwise smoothly turn towards it
357 else
358 {
359 moveDirection = Vector3.RotateTowards(moveDirection, targetDirection, rotateSpeed * Mathf.Deg2Rad * Time.deltaTime, 1000);
360
361 moveDirection = moveDirection.normalized;
362 }
363 }
364
365 // Smooth the speed based on the current target direction
366 float curSmooth = speedSmoothing * Time.deltaTime;
367
368 // Choose target speed
369 //* We want to support analog input but make sure you cant walk faster diagonally than just forward or sideways
370 float targetSpeed = Mathf.Min(targetDirection.magnitude, 1.0f);
371
372 _characterState = PickupCharacterState.Idle;
373
374 // Pick speed modifier
375 if ((Input.GetKey(KeyCode.LeftShift) | Input.GetKey(KeyCode.RightShift)) && isMoving)
376 {
377 targetSpeed *= runSpeed;
378 _characterState = PickupCharacterState.Running;
379 }
380 else if (Time.time - trotAfterSeconds > walkTimeStart)
381 {
382 targetSpeed *= trotSpeed;
383 _characterState = PickupCharacterState.Trotting;
384 }
385 else if (isMoving)
386 {
387 targetSpeed *= walkSpeed;
388 _characterState = PickupCharacterState.Walking;
389 }
390
391 moveSpeed = Mathf.Lerp(moveSpeed, targetSpeed, curSmooth);
392
393 // Reset walk time start when we slow down
394 if (moveSpeed < walkSpeed * 0.3f)
395 walkTimeStart = Time.time;
396 }
397 // In air controls
398 else
399 {
400 // Lock camera while in air
401 if (jumping)
402 lockCameraTimer = 0.0f;
403
404 if (isMoving)
405 inAirVelocity += targetDirection.normalized * Time.deltaTime * inAirControlAcceleration;
406 }
407 }
File name: RPGCamera.cs
Copy
38 void UpdateDistance()
39 {
40 m_Distance = Mathf.Clamp( m_Distance - Input.GetAxis( "Mouse ScrollWheel" ) * ScrollModifier, MinimumDistance, MaximumDistance );
41 }
File name: RPGCamera.cs
Copy
58 void UpdateRotation()
59 {
60 if( Input.GetMouseButton( 0 ) == true || Input.GetMouseButton( 1 ) == true )
61 {
62 transform.Rotate( 0, Input.GetAxis( "Mouse X" ) * TurnModifier, 0 );
63 }
64
65 if( Input.GetMouseButton( 1 ) == true && Target != null )
66 {
67 Target.rotation = Quaternion.Euler( 0, transform.rotation.eulerAngles.y, 0 );
68 }
69 }
File name: IELdemo.cs
Copy
46 public void Update()
47 {
48 if (PhotonNetwork.isMasterClient)
49 {
50 //Only control the cubes if MC
51 float movement = Input.GetAxis("Horizontal") * Time.deltaTime * 15;
52 foreach (Transform tran in cubes)
53 {
54 tran.position += new Vector3(movement, 0, 0);
55 }
56 }
57 }
File name: ThirdPersonController.cs
Copy
131 void UpdateSmoothedMovementDirection()
132 {
133 Transform cameraTransform = Camera.main.transform;
134 bool grounded = IsGrounded();
135
136 // Forward vector relative to the camera along the x-z plane
137 Vector3 forward = cameraTransform.TransformDirection(Vector3.forward);
138 forward.y = 0;
139 forward = forward.normalized;
140
141 // Right vector relative to the camera
142 // Always orthogonal to the forward vector
143 Vector3 right = new Vector3(forward.z, 0, -forward.x);
144
145 float v = Input.GetAxisRaw("Vertical");
146 float h = Input.GetAxisRaw("Horizontal");
147
148 // Are we moving backwards or looking backwards
149 if (v < -0.2f)
150 movingBack = true;
151 else
152 movingBack = false;
153
154 bool wasMoving = isMoving;
155 isMoving = Mathf.Abs(h) > 0.1f || Mathf.Abs(v) > 0.1f;
156
157 // Target direction relative to the camera
158 Vector3 targetDirection = h * right + v * forward;
159
160 // Grounded controls
161 if (grounded)
162 {
163 // Lock camera for short period when transitioning moving & standing still
164 lockCameraTimer += Time.deltaTime;
165 if (isMoving != wasMoving)
166 lockCameraTimer = 0.0f;
167
168 // We store speed and direction seperately,
169 // so that when the character stands still we still have a valid forward direction
170 // moveDirection is always normalized, and we only update it if there is user input.
171 if (targetDirection != Vector3.zero)
172 {
173 // If we are really slow, just snap to the target direction
174 if (moveSpeed < walkSpeed * 0.9f && grounded)
175 {
176 moveDirection = targetDirection.normalized;
177 }
178 // Otherwise smoothly turn towards it
179 else
180 {
181 moveDirection = Vector3.RotateTowards(moveDirection, targetDirection, rotateSpeed * Mathf.Deg2Rad * Time.deltaTime, 1000);
182
183 moveDirection = moveDirection.normalized;
184 }
185 }
186
187 // Smooth the speed based on the current target direction
188 float curSmooth = speedSmoothing * Time.deltaTime;
189
190 // Choose target speed
191 //* We want to support analog input but make sure you cant walk faster diagonally than just forward or sideways
192 float targetSpeed = Mathf.Min(targetDirection.magnitude, 1.0f);
193
194 _characterState = CharacterState.Idle;
195
196 // Pick speed modifier
197 if (Input.GetKey(KeyCode.LeftShift) | Input.GetKey(KeyCode.RightShift))
198 {
199 targetSpeed *= runSpeed;
200 _characterState = CharacterState.Running;
201 }
202 else if (Time.time - trotAfterSeconds > walkTimeStart)
203 {
204 targetSpeed *= trotSpeed;
205 _characterState = CharacterState.Trotting;
206 }
207 else
208 {
209 targetSpeed *= walkSpeed;
210 _characterState = CharacterState.Walking;
211 }
212
213 moveSpeed = Mathf.Lerp(moveSpeed, targetSpeed, curSmooth);
214
215 // Reset walk time start when we slow down
216 if (moveSpeed < walkSpeed * 0.3f)
217 walkTimeStart = Time.time;
218 }
219 // In air controls
220 else
221 {
222 // Lock camera while in air
223 if (jumping)
224 lockCameraTimer = 0.0f;
225
226 if (isMoving)
227 inAirVelocity += targetDirection.normalized * Time.deltaTime * inAirControlAcceleration;
228 }
229
230
231
232 }
File name: ThirdPersonController.cs
Copy
456 public bool IsMoving()
457 {
458 return Mathf.Abs(Input.GetAxisRaw("Vertical")) + Mathf.Abs(Input.GetAxisRaw("Horizontal")) > 0.5f;
459 }
File name: IdleRunJump.cs
Copy
33 void Update ()
34 {
35 if( m_PhotonView.isMine == false && PhotonNetwork.connected == true )
36 {
37 return;
38 }
39
40 if (animator)
41 {
42 AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0);
43
44 if (stateInfo.IsName("Base Layer.Run"))
45 {
46 if (Input.GetButton("Fire1")) animator.SetBool("Jump", true);
47 }
48 else
49 {
50 animator.SetBool("Jump", false);
51 }
52
53 if(Input.GetButtonDown("Fire2") && animator.layerCount >= 2)
54 {
55 animator.SetBool("Hi", !animator.GetBool("Hi"));
56 }
57
58
59 float h = Input.GetAxis("Horizontal");
60 float v = Input.GetAxis("Vertical");
61
62 if( v < 0 )
63 {
64 v = 0;
65 }
66
67 animator.SetFloat( "Speed", h*h+v*v );
68 animator.SetFloat( "Direction", h, DirectionDampTime, Time.deltaTime );
69
70 float direction = animator.GetFloat( "Direction" );
71
72 float targetSpeedModifier = Mathf.Abs( v );
73
74 if( Mathf.Abs( direction ) > 0.2f )
75 {
76 targetSpeedModifier = TurnSpeedModifier;
77 }
78
79 m_SpeedModifier = Mathf.MoveTowards( m_SpeedModifier, targetSpeedModifier, Time.deltaTime * 25f );
80
81 Vector3 speed = transform.forward * SynchronizedMaxSpeed * m_SpeedModifier;
82 float turnSpeed = direction * SynchronizedTurnSpeed;
83
84 /*float moveDistance = Vector3.Distance( transform.position, m_LastPosition ) / Time.deltaTime;
85
86 if( moveDistance < 4f && turnSpeed == 0f )
87 {
88 speed = transform.forward * moveDistance;
89 }*/
90
91 //Debug.Log( moveDistance );
92 //Debug.Log( speed + " - " + speed.magnitude + " - " + speedModifier + " - " + h + " - " + v );
93
94 m_TransformView.SetSynchronizedValues( speed, turnSpeed );
95
96 //m_LastPosition = transform.position;
97 }
98 }
File name: InputManager.cs
Copy
39 void Update() {
40 mouseAxis.x = Input.GetAxis("Mouse X");
41 mouseAxis.y = Input.GetAxis("Mouse Y");
42
43 if (InputEvent == null) return;
44
45 if (!GameManager.Instance.IsReady) return;
46
47 HighlightTile();
48
49 if (Input.GetMouseButtonUp(0)) {
50 if (GameManager.Instance.GameState.IsWaiting) {
51 UnHighlightTile();
52 InputEvent(InputActionType.GRAB_PIECE);
53 } else if (GameManager.Instance.GameState.IsHolding) {
54 InputEvent(InputActionType.PLACE_PIECE);
55 }
56 }
57
58 if (Input.GetMouseButtonUp(1)) {
59 if (GameManager.Instance.GameState.IsHolding) {
60 InputEvent(InputActionType.CANCEL_PIECE);
61 }
62 }
63
64 if (Input.GetAxis("Mouse ScrollWheel") > 0) {
65 InputEvent(InputActionType.ZOOM_IN);
66 }
67
68 if (Input.GetAxis("Mouse ScrollWheel") < 0) {
69 InputEvent(InputActionType.ZOOM_OUT);
70 }
71
72 if (Input.GetMouseButtonDown(2)) {
73 InputEvent(InputActionType.ROTATE);
74 } else if (Input.GetMouseButtonUp(2)) {
75 InputEvent(InputActionType.STOP_ROTATE);
76 }
77 }
File name: PlayerCtrl.cs
Copy
37 void Update () {
38 isGrounded = Physics2D.OverlapBox(new Vector2(feet.position.x, feet.position.y), new Vector2(boxWidth, boxHeight), 360.0f, whatIsGround);
39
40 float playerSpeed = Input.GetAxisRaw("Horizontal"); // value will be 1, -1 or 0
41
42 playerSpeed *= speedBoost;
43
44 if (playerSpeed != 0)
45 MovePlayer(playerSpeed);
46 else
47 StopMoving();
48
49 if (Input.GetButtonDown("Jump"))
50 Jump();
51
52 if (Input.GetButtonDown("Fire1"))
53 {
54 FireBullets();
55 }
56
57 ShowFalling();
58
59 if (leftPressed)
60 MovePlayer(-speedBoost);
61
62 if (rightPressed)
63 MovePlayer(speedBoost);
64 }
GetAxis 290 lượt xem
Gõ tìm kiếm nhanh...