3d模型移动转向求助

在做一个打高尔夫的游戏,用的一个3D模型的小车来回收球,
小车在向球行驶的时候需要转向等操作,
不太清楚小车边转向边移动怎么做起来比较平滑,求助!希望各位大大愿意提供一下思路

目前是跑直线,同时渐变调整角度

upup

mask

upup…

之前的unity项目中有类似需求,所以从百度上找了一个比较靠谱的代码,如果我的理解没问题的话,这个代码可以帮助到你,因为是unity的c#代码,并且cocos3D我没怎么研究过,所以代码转换的问题就交给楼主了,希望能够帮助到你。

这段代码就是物体边走边朝着目标方向缓慢旋转并且移动

    // 保存原始角度
    raw_rotation = this.transform.rotation;


    // 获得并保存目标角度   

    this.transform.LookAt(Player.transform.position);

    Quaternion lookat_rotation = this.transform.rotation;

    // 恢复到原来的角度  

    this.transform.rotation = raw_rotation;

    // 计算出需要的旋转角度   

    float rotate_angle = Quaternion.Angle(raw_rotation, lookat_rotation);

    // 获得lerp速度  

    float lerp_speed = 60 / rotate_angle;

    float lerp_tm = 0.0f;

    lerp_tm += Time.deltaTime * lerp_speed;

    this.transform.rotation = Quaternion.Lerp(raw_rotation, lookat_rotation, lerp_tm);


    this.gameObject.transform.Translate(new Vector3(0, 0, 1 * Time.deltaTime));

抱歉这么久才看到,我后面也是找了一个寻向算法做的:grin: