Unity3d每日API积累

本文详细介绍了如何在Unity中使用Rigidbody组件控制第一人称射击(FPS)游戏的角色移动与旋转。通过设置freezeRotation属性禁用刚体旋转,并利用Input.GetAxis获取玩家输入,实现平滑的移动与视角调整。此外,还介绍了如何限制旋转角度和移动速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Rigidbody body = GetComponent<Rigidbody>();

body.freezeRotation = true;//禁止刚体旋转,FPSInput.cs


bool Input.GetAxis("Mouse Y") //鼠标往前后推,MouseLook.cs

bool Input.GetAxis("Mouse X")//鼠标往左右移动,MouseLook.cs

bool Input.GetAxis("Horizontal")//WS ↕   FPSInput.cs

bool Input.GetAxis("Vertical")     //AD ↔  FPSInput.cs

bool Input.GetKeyDown(KeyCode.X)//输入X就xxx FPSInput.cs


float _rotationX=Mathf.Clamp(_rotationX, minhead, maxhead);//限制范围【minhead,maxhead】

MouseLook.cs


 move = Vector3.ClampMagnitude(move, speed)//限制向量长度 FPSInput.cs


transform.Rotate(0, Input.GetAxis("Mouse X")*speedH, 0)//增量旋转 MouseLook.cs

transform.localEulerAngles=new Vector3( _rotationX, _rotationY,0);//设置旋转 MouseLook.cs

transform.localEulerAngles.y//获取当前的y轴旋转角度

move = transform.TransformDirection(move);//本地转全局变量


CharacterController _charController = GetComponent<CharacterController>();

_charController.Move(//Vector3 move* Time.deltaTime);//增量移动

_charController.isGrounded


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值