不需要编写代码,通过简单的拖拽和配置,就可以使你在手机上控制摄像机旋转和操作角色。
以上效果就 麒麟子
最近在 Cocos Store 分享的 KylinsEasyController
组件源码,它包含以下主要特性:
虚拟摇杆
键盘、鼠标事件处理
角色控制器(移动、跳跃、动画切换、场景碰撞处理等)
摄像机(第三人称摄像机、漫游摄像机)
下面我们就来看看 EasyController 虚拟摇杆的具体使用方法。
一、 添加虚拟摇杆
将 EasyController 目录下的 ui_joystick_panel 预制体拖动到 Canvas 节点;
左下角绿色区域为移动区域,当在此区域点击时,会出现移动控制器,控制角色移动,当用户按下 W、A、S、D 键时,和移动控制器效果一样;
紫色区域为摄像机控制区域,当在此区域点击并移动时,可以操作摄像机旋转,当双指按住并移动时,可以调节摄像机观察距离;
当按下空格键时,可以触发角色的跳跃功能。
二、添加角色控制器
将 EasyController 目录下的 CharacterController 拖动给自己的角色;
如果角色要参与物理碰撞,请确保角色拥有碰撞器(Collider)组件和刚体(RigidBody)组件;
如果角色需要播放动画,请确保角色拥有动画组件;
角色控制器相关参数:
velocity 向前移动速率
jumpVelocity 起跳时的向上速度
maxJumpTimes 最大跳跃次数,0 表示不能跳,1 表示只能跳一次,N 表示可以连续跳N次。
idleAnimationClip 待机动画
moveAnimationClip 移动动画
jumpBeginAnimationClip 跳跃开始动画
jumpLoopAnimationClip 跳跃循环动画
jumpLandAnimationClip 跳跃落地动画
三、第三人称摄像机控制器
将 ThirdPersionCamera 组件挂到需要控制的摄像机节点上,一般为 Main Camera 主摄像机;
ThirdPersionCamera 相关参数:
target 需要跟随的目标,一般是角色节点;
lookAtOffset 跟随目标点的偏移
zoomSensitivity 缩放灵敏度
lenMin 最小观察距离
lenMax 最大观察距离
len 默认观察距离
rotateVHSeparately 水平和竖直方向是否单独旋转,开启后,同一时间只会进行水平或者竖直旋转。
tweenTime 缓动时间 单位:秒
四、编程指南
当用户操作虚拟摇杆时,会派发对应的事件,事件由 director.getScene() 派发;
事件列表:
EasyControllerEvent.MOVEMENT 移动
EasyControllerEvent.MOVEMENT_STOP 停止移动
EasyControllerEvent.CAMERA_ROTATE 摄像机旋转
EasyControllerEvent.CAMERA_ZOOM 摄像机缩放
EasyControllerEvent.JUMP 跳
你可以在自己的脚本中,使用 director.getScene().on 监听相应事件。
五、源码下载
打开 Cocos Dashboard 在商城中搜索 KylinsEasyController 可免费下载完整源码!
资源链接:(阅读原文直达)
https://store.cocos.com/app/detail/4207在线体验:
https://download.cocos.com/Cocos/CocosStore/ManualUp/Demo/easy_controller_v1/index.html
往期精彩
微信小游戏构建发布指南!5分钟视频教程
羊了个羊3D版,还原度最佳游戏!支持微信
Creator编辑器入门指南PDF,免费送!
提升Store产品曝光率,图标很重要!
微信小游戏超4M怎么办?小游戏包体优化方案