jpct-ae---第三人称视角3D场景漫游

本文介绍了如何使用jpct-ae库实现第三人称视角的3D场景漫游。重点在于处理物体旋转、移动时保持视角与物体中心相对静止,以及确保物体按预期方向移动。通过设置物体中心、获取世界坐标和调整camera位置,实现了相机与物体的相对静止。此外,详细阐述了如何使物体沿其轴线移动,避免不规则移动。注意顺序和方法的正确使用是关键。
摘要由CSDN通过智能技术生成

3D模型的载入在前面已经说过了,jpct-ae中的方法非常简单。

这里要说的是第三人称视角的3D场景漫游。第三人称视角是说在3D场景中有一个漫游的物体,这个物体并非我们当前的camera,如果是camara的话,就是第一人称视角了。

以第三人称视角漫游的时候要注意几个问题,或者说实现一下的几个效果。

1、当物体漫游时,我们的视角(即当前camera)也随之移动。

2、当物体旋转时,我们的视角也随之旋转。

3、该物体的center(中心)与视角是相对静止的。

4、3D空间中的物体往往被看做一个点来进行操作,而我们可能希望它是有体积的,并且移动的时候遵循一些规则。例如,这个物体是一辆车,我们总是希望车是从头尾相连的连线的方向移动,或前或后。而不希望它横着移动,那就成漂移了。

为了实现以上几点,我找了很多资料,可是什么也没找到。自己也想了很多算法,可是往往会出现问题。值得注意的一点是要移动物体只有一个Object3D类中的translate方法可以使用,不过很容易是我们的车子横着就走了——我曾经通过角度计算来计算物体移动的X,Y分量,可是效果横不好,用translate移动时会有误差。所以建议大家不要用这个方法。


这里介绍一个我已经实践成功的方法。

其实1、2点较易实现,只要让物体、camera二者先对准一个方向,然后同时旋转、移动即可。

比较难的是3、4点,想要实现相对静止,就要使从物体原点(这里是相对坐标)到camera的向量不变。想要实现它,我们就必须知道这个向量是什么,通过它找到物体相对坐标中的那个点,然后将came

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值