利用人物控制器实现物体移动碰撞以及视角的转动

本文介绍了如何在Unity3D中利用CharacterController组件控制物体移动和处理碰撞,同时详细讲解了如何通过鼠标操作实现视角的转动,包括水平和垂直旋转。在移动物体时,需要注意解决人物控制器与刚体组件的冲突,并模拟重力效果。视角转动部分,通过枚举定义旋转轴并根据鼠标输入调整摄像机的角度。
摘要由CSDN通过智能技术生成

    先给你需要移动的物体添加组建CharacterContorller//人物控制器,接着在代码中先获取人物控制器组建

private CharacterController chara;

void Start () {
        chara=GetComponent<CharacterController>();
    }

然后在Update方法中,定义水平和竖直坐标轴   float Z = Input.GetAxis("Vertical") * 0.1f;   float X = Input.GetAxis("Horizontal") * 0.1f;

创建三维坐标Vector3,把X与Z传到Vector3中  Vector3 v3 = new Vector3(X,0,Z);  设置物体斜角移动是的方向 v3 = Vector3.ClampMagnitude(v3,0.1f);
  并且将本地坐标转换为世界坐标轴   v3 = transform.TransformDirection(v3);

最后利用定义好的人物控制器对象获取编写好的三维坐标执行移动  chara.Move (v3);

因为人物控制器与刚体间有冲突,所以当你添加了人物控制器,刚体组建则会无效,这时刚体组建中的重力效果就无法运用,我们需要模拟重力来代替刚体组建中的重力效果;

chara.SimpleMove (v3);//模拟重力 ;

人物的跳跃:判断当你按下空格键的时候,你获得一个向上的力,然后执行三维坐标的移动  if(Input.GetKey(KeyCode.Space)){ v3.y = 1.0f;chara.Move (v3);}

将移动物体的 Is Trigger 和其他物体的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值