Threejs官例解析,粒子系统(二)

这个是粒子系统的核心处理代码,主要的代码在GPUParticleSystem.js中,调用代码请参考:粒子(1)

这个脚本里主要有两个类:GPUParticleSystem 和 GPUParticleContainer
在这里插入图片描述

THREE.Object3D.apply( this, arguments );

每个函数都包含两个非继承而来的方法:call()方法和apply()方法, 这里使用apply改变 Object3D 默认构造函数里面的this,使其指向GPUParticleSystem,帮助 GPUParticleSystem实例生成一些存在于 Object3D 构造函数里的变量。

结合下方的:

THREE.GPUParticleSystem.prototype = Object.create( THREE.Object3D.prototype );
THREE.GPUParticleSystem.prototype.constructor = THREE.GPUParticleSystem;

可以继承 Object3D 里各式各样的函数们。

剩下的代码都是,options里面有参数传来就用options里的,没有就用默认的。

接下来的部分,在GPUParticleShader里面定义了两个shader的处理过程。

在这里插入图片描述
uniform</

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值