【问题标题】:tweening particles in buffergeometry缓冲几何中的补间粒子
【发布时间】:2015-02-16 18:53:23
【问题描述】:

本题涉及以下问题:

Three.js - Buffer geometry particles, need to animate random groups of particles in system

How to quickly update a large BufferGeometry?

我正在开始一个新项目,该项目将随时在场景中包含数以万计的粒子。这个概念是,会有看起来像星系的粒子簇散布在整个场景中。有时我需要为星系及其数千个粒子设置动画。我可以在几何图形仍在缓冲区中时执行此操作吗?

我正在使用使用THREE.BufferGeometry 构造的PointCloud,每个顶点的位置使用Float32Array( numParticles * 3 ) 设置。

过去,我一直使用tween.js 来为场景中移动的对象设置动画。是否可以提取补间所需的点,转换为vector3,重新定位它们,并在每个更新循环中渲染?

【问题讨论】:

    标签: three.js buffer tween particles buffer-geometry


    【解决方案1】:

    如果您想为数以万计的粒子设置动画,请在 GPU 上执行模拟,并在顶点着色器中置换粒子的位置。你可以用谷歌搜索的流行词是“GPGPU”。

    您有很多选择:逻辑可以完全在着色器中,和/或您可以将更新的控制统一传递给着色器,和/或您可以将属性传递给着色器。

    这里是一个 three.js 示例:http://threejs.org/examples/webgl_gpgpu_birds.html

    这是一个使用粒子的例子:http://www.neveroccurs.com/lab/three.js/gpu_particles/?particles=256

    three.js r.69

    【讨论】:

    • 一如既往地感谢您对我的three.js问题的指导。我会做一些研究,如果适用,用确切的解决方案更新我的帖子。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 2019-07-07
    • 1970-01-01
    • 2014-06-29
    • 2021-11-16
    • 2023-03-31
    • 1970-01-01
    相关资源
    最近更新 更多