当前位置 : 主页 > 编程语言 > 其它开发 >

抛射体运动在游戏开发中的实践

来源:互联网 收集:自由互联 发布时间:2022-05-15
一起推导抛射体运动的各种公式,并在游戏中应用这些公式,实现各种有趣的功能。 前言 Hi,我是陈皮皮。 概述主线任务 本文的主线任务(核心主题)是「 抛射体运动(Projectile Mot
一起推导抛射体运动的各种公式,并在游戏中应用这些公式,实现各种有趣的功能。 前言

Hi,我是陈皮皮。

概述 主线任务

本文的主线任务(核心主题)是「抛射体运动(Projectile Motion)」。

抛射体运动常常出现在我们的日常生活中,例如篮球运动员投篮后篮球在空中的运动。

在各种电子游戏中也可以看到抛射体运动的身影,例如《坦克世界》中坦克射击后炮弹在空中的运动。

如你所见,本文的标题是《抛射体运动在游戏开发中的实践》,我们将一起推导抛射体运动的各种公式,并在游戏中应用这些公式,实现各种有趣的功能。

支线任务

除了主线任务,本文还包括一些支线任务:

  • 3D 游戏中的对象交互与射线投射
  • 三维空间中矢量的点乘与叉乘(线性代数)
  • 三维空间中矢量在平面上的投影计算
  • 三维空间中矢量的有向角计算
  • 实时预绘制炮弹的运动轨迹
成果 效果展示

先给大家看下我们要实现的效果。

在线预览:https://app.chenpipi.cn/cocos-case-projectile/

动图:

固定角度和速度

固定角度

固定速度

不固定角度和速度

示例项目

与本文一同出现的示例项目「炮弹投射(Projectile)」为开源项目。

为了避免文章又臭又长,项目中的一些功能特性没有在文章中介绍,同时我会对项目代码进行整合再插入文内,所以实际的项目结构与代码和文章中出现的会有些许差异。

下载源码:

  • Gitee 仓库:https://gitee.com/ifaswind/cocos-case-projectile
  • GitHub 仓库:https://github.com/ifaswind/cocos-case-projectile
  • Cocos 商店:https://store.cocos.com/app/detail/3680

本项目使用的游戏引擎为 Cocos Creator 3.4.2。

正文 场景搭建

先来一段轻松愉快的搭积木体验。

环境

快速搭建一个简单的场景,放置一些五颜六色且高矮不一的障碍物(或者说是平台)。

记得给这些东西都加上合适的碰撞器(Collider),这样我们才能够通过射线和它们进行交互。

儿童乐园

上一篇:Java基础之浅谈集合
下一篇:没有了
网友评论