关于unity获取外设的输出:
Input.GetAxis 或Input.GetAxisRaw是 Unity 引擎中的一个方法,用于获取用户输入设备(如键盘、鼠标、游戏手柄等)的模拟值。它通常用于处理平滑的输入,比如移动、旋转和缩放。
[GetAxis 返回一个介于 -1 和 1 之间的浮点数值,表示输入设备的状态。]
[如果需要处理瞬时输入,可以使用 Input.GetAxisRaw,它返回的值是 -1、0 或 1,没有过渡效果]
可视化界面:Edit -> Project Settings -> Input
C#脚本:Input.GetAxis(“轴名称”);
(大部分情况,就只用Horizontal/Vertiacl,Mouse X/MOus Y)
只有18种轴名称
· Horizontal:水平轴,通常映射到键盘的箭头键(左/右)或 A 和 D 键,或游戏手柄的左摇杆。
· Vertical:垂直轴,通常映射到键盘的箭头键(上/下)或 W 和 S 键,或游戏手柄的左摇杆。
· Mouse X:鼠标在 X 轴上的移动。
· Mouse Y:鼠标在 Y 轴上的移动。
· Jump:跳跃按钮,通常映射到键盘的空格键。
· Mouse ScrollWheel:鼠标滚轮的滚动,用于缩放视图或切换武器等。
· Fire1/Fire2:鼠标左/右键。
· Fire3:通常映射到控制器的 X 按钮或键盘的 C 键
· Submit/Cancel:enter/Esc键,提交或确认菜单/退出关闭界面
一,character control
是 Unity 引擎中的一个组件,用于处理角色的移动和碰撞检测
{关于碰撞检测是自动的,rigidbody不能共存}
具体操作:
可视化界面:需要增加组件 <charactor control>
C#脚本:头文件unityEngine
定义移动器变量
Charactorcontrol control;
获取组件为变量赋值
Control = this.GetComponent<CharacterController>();
API:
Move :按给定的运动向量移动角色,并处理所有的碰撞。
{自己定义重力}
SimpleMove:以给定的速度移动角色,并处理所有的碰撞,并自动应用重力。
{simpleMove由于受重力影响,且不能修改重力的值,所以跳跃一般使用Move}
IsGrounded:判断是否在面上
二 Translate
Transform.Translate:在当前位置的基础上移动vector3大小的位移!
(直接移动)
如果每次移动的值小,可以实现平滑位移
三rigidbody.AddForce
// 可以在Start中立即施加力,或者在其他地方如Update中根据条件施加
Rigidbody rb = GetComponent<Rigidbody>();
rb.AddForce(new Vector3(force, 0, 0)); // 在X轴方向上施加力
【tip】使用刚体移动,等在rigibody组件中加约束,这样角色就不受力乱飞
【tip】使用rigibody需要将代码放在fixedupdate里
参数:
力的向量(Vector3)
这是你想要施加的力的方向和大小的表示。
例如,new Vector3(1, 0, 0)表示一个沿X轴正方向、大小为1的力。
力的模式(ForceMode枚举)
ForceMode.Force:这是默认模式。力会持续地影响物体,直到它被其他力或物理效果(如摩擦力)抵消。这通常用于模拟持续的力,如重力或风力。
ForceMode.Impulse:在这个模式下,力被视为一个瞬间的冲量,它会在极短的时间内改变物体的速度。这适用于模拟如子弹撞击或爆炸等瞬间的力。
ForceMode.VelocityChange:这个模式直接将速度变化应用到物体上,而不是作为力。这意味着它不会受到物体质量的影响,因为质量已经在计算速度变化时被考虑过了。这可以用于精确控制物体的速度。
ForceMode.Acceleration:这个模式实际上在Unity的Rigidbody.AddForce()方法中并不直接支持。它更多地是与理论物理相关,但在Unity中,你可以通过调整力的持续时间和大小来模拟加速度效果。
四:ray+translate
使用方式与Transform.Translate相同,但是目标终点是通过射线检测判断!
五:使用动作自带的移动
打开动作的apply motion root
六:自动寻路
使用Nav组件,同时将地图设为static
需要从Asset的商店下载Navgation.AI
标签:鼠标,方式,ForceMode,unity,Input,移动,Mouse,Unity From: https://blog.csdn.net/2201_75540499/article/details/142357508