Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class TP_Motor : MonoBehaviour
- {
- public static TP_Motor Instance;
- public float MoveSpeed = 10f;
- public Vector3 MoveVector { get; set; }
- void Awake()
- {
- Instance = this;
- }
- void UpdateMotor()
- {
- ProcessMotion();
- SnapAlignCharacterWithCamera();
- }
- void ProcessMotion()
- {
- // transform MoveVector to world space
- MoveVector = transform.TransformDirection(MoveVector);
- // Normalize movevector if magnitude is greater than 1
- if (MoveSpeed.magnitude > 1)
- MoveVector = Vector3.Normalize(MoveVector);
- // Multiply MoveVector by MoveSpeed
- MoveVector *= MoveSpeed;
- // multiply MoveVector by Deltatime
- MoveVector *= Time.deltaTime;
- // Move the Character in World Space
- TP_Controller.characterController.Move(MoveVector);
- }
- void SnapAlignCharacterWithCamera()
- {
- if (MoveVector.x !=0 || MoveVector.z !=0)
- {
- transform.rotation = Quaternion.Euler(transform.eulerAngles.x,
- camera.mainCamera.transform.eulerAngles.y,
- transform.eulerAngles.z);
- }
- }
- }
Add Comment
Please, Sign In to add comment