WheelCollider模拟摩托

WheelCollider部分可以看回之前的纹章 WheelCollider笔记

模拟摩托车使用2轮的时候摩托车容易侧翻,所以使用靠近的4轮来模拟摩托
预制如下:
在这里插入图片描述

摩托的侧翻会受WheelCollider 影响,WheelCollider越靠近越明显
同步轮子时候,摩托车头也跟随前轮的Y轴偏转。前后轮去前后的wheelCollider中间位置进行定位
可以大致模拟出一个摩托


轮子跟随的部分代码:


  protected override void ModelFollowCollider()
  {

    //wheel x rotate with Wheel Collider
    for (int i = 0; i < wheelColliders.Length / 2; i++)
    {
      Vector3 leftPos;
      Vector3 rightPos;
      Quaternion leftQuat;
      Quaternion rightQuat;

      wheelColliders[i * 2].GetWorldPose(out leftPos, out leftQuat);
      wheelColliders[i * 2 + 1].GetWorldPose(out rightPos, out rightQuat);

      Vector3 euler = wheelTransform[i].transform.localEulerAngles;
      euler.x = (leftQuat.eulerAngles.x + rightQuat.eulerAngles.x) / 2;
      wheelTransform[i].transform.localEulerAngles = euler;
    }

    Vector3 carEuler = this.transform.eulerAngles;
    float yCarAngle = carEuler.y;
    float motoSideMax = 45;
    if (yCarAngle > motoSideMax) yCarAngle = motoSideMax;
    if (yCarAngle < -motoSideMax) yCarAngle = -motoSideMax;

    Vector3 headEuler = motoHead.transform.localEulerAngles;
    headEuler.y = yCarAngle;
    motoHead.transform.localEulerAngles = headEuler;
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值