using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; public class Player : MonoBehaviour { public float speed; float hAxis; float vAxis; bool wDown; bool iDown; bool jDown; bool isJump; Vector3 moveVec; Rigidbody rigid; Animator anim; GameObject nearObject; void Awake() { rigid = GetComponent(); anim = GetComponentInChildren(); } void Update() { GetInput(); Move(); Turn(); Jump(); } void GetInput() { hAxis = Input.GetAxisRaw("Horizontal"); vAxis = Input.GetAxisRaw("Vertical"); wDown = Input.GetButton("Walk"); jDown = Input.GetButtonDown("Jump"); } void Move() { moveVec = new Vector3(hAxis, 0, vAxis).normalized; if (wDown) transform.position += moveVec * speed * 2f * Time.deltaTime; else transform.position += moveVec * speed * Time.deltaTime; anim.SetBool("isRun", moveVec != Vector3.zero); anim.SetBool("isWalk", wDown); } void Turn() { transform.LookAt(transform.position + moveVec); } void Jump() { if (jDown && !isJump) { rigid.AddForce(Vector3.up * 15, ForceMode.Impulse); anim.SetBool("isJump", true); anim.SetTrigger("doJump"); isJump = true; } } void OnCollisionEnter(Collision collision) { if(collision.gameObject.tag == "Floor") { anim.SetBool("isJump", false); isJump = false; } } void OnTriggerStay(Collider other) { if (other.tag == "Weapon") nearObject = other.gameObject; Debug.Log(nearObject.name); } void OnTriggerExit(Collider other) { if (other.tag == "Weapon") nearObject = null; } }