public static Vector3 CalcMovement(float _speed, float _delta, CollChecker _forward, CollChecker _right, CollChecker _back, CollChecker _left) { Vector3 _camForward = Camera.main.transform.forward; _camForward = new Vector3(_camForward.x, 0, _camForward.z).normalized; Vector3 _camRight = Camera.main.transform.right; _camRight = new Vector3(_camRight.x, 0, _camRight.z).normalized; Vector3 _input = new Vector3(); if (Input.GetKey(KeyCode.W) && !_forward.IsBlocked) { _input.z += 1; } if (Input.GetKey(KeyCode.A) && !_left.IsBlocked) { _input.x -= 1; } if (Input.GetKey(KeyCode.S) && !_back.IsBlocked) { _input.z -= 1; } if (Input.GetKey(KeyCode.D) && !_right.IsBlocked) { _input.x += 1; } _camForward *= _input.z; _camRight *= _input.x; return((_camRight + _camForward) * _speed * _delta); }
public PlayerColl(Transform _swivelTrans, CollChecker forward, CollChecker right, CollChecker back, CollChecker left) { _trans = new GameObject().transform; _trans = _swivelTrans; _forward = forward; _right = right; _back = back; _left = left; }