在做一个打高尔夫的游戏,用的一个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));
抱歉这么久才看到,我后面也是找了一个寻向算法做的