- Home /
Question by
Jimminer123 · Nov 21, 2017 at 08:11 PM ·
animationmovementplayer
How can I add Animation to this player movement script? or do I have to create a totally new one?
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Animations;
public class PlayerMove : MonoBehaviour {
public float moveSpeed;
private Rigidbody myRigidBody;
private Vector3 moveInput;
private Vector3 moveVelocity;
public GunController theGun;
private Camera mainCamera;
public bool useController;
static Animator anim;
// Use this for initialization NOT FOR ACTUAL SCRIPT
void Start()
{
myRigidBody = GetComponent<Rigidbody>();
mainCamera = FindObjectOfType<Camera>();
anim = GetComponent<Animator>();
}
// Update is called once per framee
void Update()
{
moveInput = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical"));
moveVelocity = moveInput * moveSpeed;
//Rotate with Mouse
if (!useController)
{
Ray cameraRay = mainCamera.ScreenPointToRay(Input.mousePosition);
Plane groundPlane = new Plane(Vector3.up, Vector3.zero);
float rayLength;
if (groundPlane.Raycast(cameraRay, out rayLength))
{
Vector3 pointToLook = cameraRay.GetPoint(rayLength);
Debug.DrawLine(cameraRay.origin, pointToLook, Color.blue);
transform.LookAt(new Vector3(pointToLook.x, transform.position.y, pointToLook.z));
}
if (Input.GetMouseButtonDown(0))
theGun.isFiring = true;
if (Input.GetMouseButtonUp(0))
theGun.isFiring = false;
}
//Rotate with Controller
if (useController)
{
Vector3 playerDirection = Vector3.right * Input.GetAxisRaw("RHorizontal") + Vector3.forward * -Input.GetAxisRaw("RVertical");
if (playerDirection.sqrMagnitude > 0.0f)
{
transform.rotation = Quaternion.LookRotation(playerDirection, Vector3.up);
}
if (Input.GetKeyDown(KeyCode.Joystick1Button5))
theGun.isFiring = true;
if (Input.GetKeyUp(KeyCode.Joystick1Button5))
theGun.isFiring = false;
}
}
void FixedUpdate()
{
myRigidBody.velocity = moveVelocity;
}
}
Comment