【100个Cocos实例】东皇太一的技能环绕效果


点击上方亿元程序员+关注和★星标

东皇太一鸡
引言
Cocos中物体围绕物体做圆周运动。
不管是2D还是3D游戏,旋转是游戏中常见的操作之一,它可以用来改变游戏对象的方向、角度或者位置,从而创造出更加生动和有趣的游戏体验。
本文将介绍一下如何实现王者荣耀中东皇太一的技能环绕效果。
本文源码和源工程在文末获取,小伙伴们自行前往。
1.旋转的基本概念
在游戏中,旋转是指围绕某个中心点或轴心旋转游戏对象。
旋转通常包括两个重要的概念:角度(Rotation)和轴(Axis)。角度决定了旋转的幅度,而轴定义了旋转的方向。

游戏录屏,王者荣耀中的东皇太一
话不多说,一起来做个实例。
2.物体环绕物体
接下来我们一步一步来实现王者荣耀中东皇太一的技能环绕效果。
1.环境
引擎版本:Cocos Creator 3.8.1
编程语言:TypeScript
2.资源准备
首先给小鸡的中心加一个target节点,作为被环绕的中心。
你太美
然后创建一个CubeCreator生成器和一个Cube预制挂载。
都是为了效果
CubeCreator生成器挂载CubeCreator脚本。
脚本在下面
Cube预制挂载RotateAroundObject脚本。
还在下面
3.CubeCreator
首先定义CubeCreator组件,生成用于演示用的可被拾取的砖块。
宝物掉落啦
首先通过预制创建4x4个cube,并且通过材质球material.setProperty('mainColor')去修改他们的颜色,颜色随机,加到cubes数组进行管理。
七彩斑斓的黑
然后监听一下键盘事件,简单用空格键将砖块打出去。
哒哒哒
4.RotateAroundObject

旋转跳跃我闭着眼
首先定义一个RotateAroundObject组件,声明一些物体环绕物体需要的一些基本属性,包括
环绕目标object
公转半径orbitRadius
公转速度rotationSpeedT
倾角inclination
其中倾角通过随机Math.random()产生,形成不同的环绕方向。
RotateAroundObject
然后update中实现一下物体物体环绕效果。其中需要用到数学知识球坐标系以及球坐标转换。
游戏开发中的数学
获取目标的世界坐标,通过球坐标公式计算出并更新设置实际坐标。
球坐标公式
每帧增加角度,实现动态效果。
动起来
拾取效果,当小鸡和砖块的距离小于0.5时,进行拾取并环绕。

我的我的都是我的
距离公式。
游戏开发中的数学2
当按下空格键时,把砖块打出去。
帮你把砖块打出去
首先设置砖块的朝向和小鸡一致。
然后简单添加一个RigidBody组件用于运动。
设置rigidBody.useGravity = false取消重力。
最后通过rigidBody.applyForce产生动力。

全打完了
5.结果演示

biubiubiu
结语
在哪里可以看到如此清晰的思路,快跟上我的节奏!关注我,和我一起了解游戏行业最新动态,学习游戏开发技巧。
我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助, 也希望通过您能帮助到大家。
AD:笔者线上的小游戏《贪吃蛇掌机经典》《重力迷宫球》《填色之旅》大家可以自行点击搜索体验。
实不相瞒,想要个赞和在看!请把该文章分享给你觉得有需要的其他小伙伴。谢谢!
推荐专栏:
你知道王者荣耀是怎么实现技能范围指示器的吗?
8年主程手把手打造Cocos独立游戏开发框架
和8年游戏主程一起学习设计模式
从零开始开发贪吃蛇小游戏到上线系列
本文源码和源工程可通过发送私信RotationDemo获取
点击下方绿色按钮+关注
到顶部