vector - 如何计算3d球体的速度顶点 - 爆炸(粒子系统中)

标签 vector particle-system

我正在制作一个 3D 粒子系统,我想知道如何制作爆炸。我的函数将指定将产生爆炸效果的粒子数量。它将看起来像一个不断增长的球体。我的问题是:如何计算每个粒子的速度 Vector3 ?

最佳答案

如果您想确保没有任何聚集或偏差,则需要生成 uniform spherical distribution点(如链接所示,很直观但有些不平凡)。

要创建相关动画,请想象一个以原点为中心、半径 = 1 的球体。如果您随后选择点的均匀球形分布,则可以设置向量 = 点 - 原点。如果您随后将该矢量平移到爆炸点,则会得到指向爆炸的矢量的均匀分布。

现在,将这些向量乘以时间 * 爆炸速度,您就得到了大部分动画。请记住,视频游戏需要比现实生活慢的速度。观看一些 Mybusters 视频,了解超音速冲击波的示例 - 在电视上很漂亮,但在成名时就不那么有趣了。

关于vector - 如何计算3d球体的速度顶点 - 爆炸(粒子系统中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18920500/

相关文章:

c++ - 基类 'class std::vector<...>' 有一个非虚析构函数

c++ - 将结构与消息一起发送,累积消息并重新发送给 Veins 中的邻居

unity-game-engine - Unity3D 粒子系统粒子不跟随旋转

javascript - Three.js - 更改 THREE.ParticleSystem 对象中的粒子位置

java - 当 Vector 位于包含类中时,使用 Vector 的 addAll( ) 函数时出现问题

c++ - 使用 vector 和 fstream 的代码中出现段错误 11? C++

javascript - JS - 将二维向量变成曲线?

iphone - 使用 CCTextureCache 设置粒子的纹理

c# - Unity 5.5 废弃的粒子系统代码

c# - 如果我每次创建粒子时都强制重新初始化每个粒子,我是否应该为粒子使用池