600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Unity第三人称上帝视角控制

Unity第三人称上帝视角控制

时间:2018-07-03 18:36:09

相关推荐

Unity第三人称上帝视角控制

通过wasd或上下左右键控制位移,鼠标控制视角旋转。

public class PlayerMovement : MonoBehaviour {public float moveSpeed = 5f;Vector3 movement;Rigidbody playerRigidbody;int floorMask;float camRayLength = 100f;void Start () {playerRigidbody = GetComponent<Rigidbody>();floorMask = LayerMask.GetMask("Floor");}void Update () {float h = Input.GetAxisRaw("Horizontal");float v = Input.GetAxisRaw("Vertical");Move(h, v);Turning();}void Move(float h,float v){movement.Set(h, 0f, v);movement = movement.normalized * moveSpeed * Time.deltaTime;playerRigidbody.MovePosition(transform.position + movement);}void Turning(){Ray camRay = Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit floorHit;if(Physics.Raycast(camRay,out floorHit, camRayLength, floorMask)){Vector3 playerToMouse = floorHit.point - transform.position;playerToMouse.y = 0f;Quaternion newRotation = Quaternion.LookRotation(playerToMouse);playerRigidbody.MoveRotation(newRotation);}}

注:将地面Layer设为Floor。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。