前言
最近开始做3D项目了,用了一段时间CocosCreator3.4.1版本,记录一些简单的功能实现
-
点击地图玩家移动
-
摄像机跟随
-
地面uv无限滚动
准备工作
新建一个3D工程,用cocos官方的soldier模型作为我们的玩家角色,找一张图片作为地面贴图,注意图片尺寸一定要是2的n次幂,并且,红框属性调成repeat,这样才可以实现uv滚动.
有了地面贴图,再新建一个材质文件,并把贴图拖入
在场景创建一个Plane,拖入材质,将主摄像机镜头调到合适的角度,前期场景工作就完成了。
实现
1.点击地图玩家移动
通常游戏角色的移动都是固定的几种控制方式,比如虚拟摇杆移动,点击地面移动,本篇来实现点击地面移动。
「点击地面移动的过程中 有几个关键点:」
-
点击屏幕,检测到地面的目标位置
-
获取玩家角度,改变朝向
-
玩家匀速移动
具体实现方式:
点击屏幕触发事件,根据触摸点从摄像机发射一条射线,射线检测到地面(地面需要添加碰撞器)之后,返回我们需要的具体数据:
const outRay = new geometry.Ray();
this.mainCamera.screenPointToRay(e.getLocation().x, e.getLocation().y, outRay);</