u3d创一个小车车(wheelcollider)

根据官方手册跟着做一个小车车吧,原链接先放出来:

Create a vehicle with Wheel Colliders - Unity 手册

这里主要是讲一下制作思路然后跟着做之后解决一下出现的问题

官方首先是做了一个不显示的隐形车轮,单独告诉我们wheelcollider的简单用法

 大概是想让我们自己理解下怎么让wheelcollider动起来,然后里面重要的是先序列化了车轴结构:

[System.Serializable]
public class AxleInfo {
    public WheelCollider leftWheel;
    public WheelCollider rightWheel;
    public bool motor; // 此车轮是否连接到电机?
    public bool steering; // 此车轮是否施加转向角?
}

方便调试车轮的时候选择转向轮跟驱动轮

我这里就是整了前驱买菜车,很合理吧?

接着就在fixupdate里面更新,肾么?为什么要在fixupdate里面更新?

物理更新一般都放这里,你也不想你的物理现象出现掉帧或者抽搐的现象吧?

 接着再便利一下所有轮子,让他们做自己该做的事,改转弯转弯,该自己动就自己动:

foreach (AxleInfo axleInfo in axleinfos) {
            if (axleInfo.steering) {
                axleInfo.leftWheel.steerAngle = steering;
                axleInfo.rightWheel.steerAngle = steering;
            }
            if (axleInfo.motor) {
                axleInfo.leftWheel.motorTorque = motor;
                axleInfo.rightWheel.motorTorque = motor;
            }
        }

然后在分配一下轮子(把wheelcollider拖进去【确信】)选择转向轮跟驱动轮,图片在上面。

啊?你要后轮转向?

之后不出意外就可以动了,不动?自己想办法解决一下吧。

 

说不定是转向角度跟驱动力妹调?

然后是关键的东西,我们要看见轮子动起来,官方给了代码,但是没有给操作图,跟着它的意思做先整个方法来同步显示wheelcollider跟车轮模型的情况。

注意它的代码:

Transform visulwheel=wheelCollider.transform.GetChild(0);

聪明的我发现他是获取的wheelcollider组件下的子物体,很显然是模型放在wheelcollider下的是吧?最后证明也没错。

那么我问一下各位,车轮不是圆柱体嘛,那么我四个轮子都整上圆柱,旋转缩放运行之后变成了这样?

聪明的你一定发现我上面的字体颜色了,问题就出现在他们三个之中,没错不运行就不会这样 了

仔细观察一下发现是旋转后的问题,为了让他合乎情理的成为一个轮子,我旋转了z轴,以至于:

wheelCollider.GetWorldPose(out position, out rotation);

        visulwheel.transform.position=position;
        visulwheel.transform.rotation=rotation;

getworldpose:

public void GetWorldPose (out Vector3 pos, out Quaternion quat);

获取车轮的世界空间姿态 - 考虑地面接触、悬架限制、转向角度和旋转角度(以度为单位)。

是的,我旋转了个寂寞

 所以一般来说就不要动模型的旋转了,这里为了测试而已,忍忍缩放个球吧。

接下来又出现问题了:

为啥车轮控制器能旋转但是不能移动? 

 废话不多说,wheelcollider跟缩放球体的collider冲突啦,说不定wheelcollider在球的collider里面疯狂旋转呢。这里有两个方法:

1,改球的collider大小

2,删除球的collider。

ok接下来加大驱动力试试爽吧。顺便把镜头放在车上玩玩,如果你发现:

为啥我的车子很容易侧倾(wheelcollider转弯容易侧倾)

suspension spring 的spring跟damper给他翻倍。

我也是看b站视频看到的,链接放上

Unity3D汽车控制游戏教程_哔哩哔哩_bilibili

进度条在9分钟这样。

这样子官方的教程应该就完成了,里面还有一些细节需要我们自己去解决,具体情况具体分析,不能一味的cp,更需要自己的思考,

OK,祝各位幸福。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值