ifaswind

前言

Hi,我是陈皮皮。

概述

主线任务

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

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

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

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

支线任务

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

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

成果

效果展示

这是我们要实现的效果:

固定角度和速度

固定角度

固定速度

不固定角度和速度

在线预览:https://ifaswind.gitee.io/cocos-case-projectile/

示例项目

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

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

项目仓库:https://gitee.com/ifaswind/cocos-case-projectile

Cocos 商店:https://store.cocos.com/app/detail/3680

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

正文

场景搭建

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

环境

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

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

儿童乐园

相关文章:

  • 2022-12-23
  • 2021-08-22
  • 2021-12-23
  • 2021-06-21
  • 2022-01-13
  • 2021-11-30
  • 2021-12-31
  • 2022-12-23
猜你喜欢
  • 2021-07-19
  • 2021-07-26
  • 2021-09-08
  • 2021-04-20
  • 2021-05-08
  • 2021-10-23
  • 2021-06-09
相关资源
相似解决方案