1 |
- {"ast":null,"code":"import { Vector2, Vector3, TmpVectors, Vector4 } from \"../Maths/math.vector.js\";\nimport { Color4 } from \"../Maths/math.color.js\";\nimport { Clamp } from \"../Maths/math.scalar.functions.js\";\n/**\n * A particle represents one of the element emitted by a particle system.\n * This is mainly define by its coordinates, direction, velocity and age.\n */\nexport class Particle {\n /**\n * Creates a new instance Particle\n * @param particleSystem the particle system the particle belongs to\n */\n constructor(\n /**\n * The particle system the particle belongs to.\n */\n particleSystem) {\n this.particleSystem = particleSystem;\n /**\n * The world position of the particle in the scene.\n */\n this.position = Vector3.Zero();\n /**\n * The world direction of the particle in the scene.\n */\n this.direction = Vector3.Zero();\n /**\n * The color of the particle.\n */\n this.color = new Color4(0, 0, 0, 0);\n /**\n * The color change of the particle per step.\n */\n this.colorStep = new Color4(0, 0, 0, 0);\n /**\n * Defines how long will the life of the particle be.\n */\n this.lifeTime = 1.0;\n /**\n * The current age of the particle.\n */\n this.age = 0;\n /**\n * The current size of the particle.\n */\n this.size = 0;\n /**\n * The current scale of the particle.\n */\n this.scale = new Vector2(1, 1);\n /**\n * The current angle of the particle.\n */\n this.angle = 0;\n /**\n * Defines how fast is the angle changing.\n */\n this.angularSpeed = 0;\n /**\n * Defines the cell index used by the particle to be rendered from a sprite.\n */\n this.cellIndex = 0;\n /** @internal */\n this._attachedSubEmitters = null;\n /** @internal */\n this._currentColor1 = new Color4(0, 0, 0, 0);\n /** @internal */\n this._currentColor2 = new Color4(0, 0, 0, 0);\n /** @internal */\n this._currentSize1 = 0;\n /** @internal */\n this._currentSize2 = 0;\n /** @internal */\n this._currentAngularSpeed1 = 0;\n /** @internal */\n this._currentAngularSpeed2 = 0;\n /** @internal */\n this._currentVelocity1 = 0;\n /** @internal */\n this._currentVelocity2 = 0;\n /** @internal */\n this._currentLimitVelocity1 = 0;\n /** @internal */\n this._currentLimitVelocity2 = 0;\n /** @internal */\n this._currentDrag1 = 0;\n /** @internal */\n this._currentDrag2 = 0;\n this.id = Particle._Count++;\n if (!this.particleSystem.isAnimationSheetEnabled) {\n return;\n }\n this._updateCellInfoFromSystem();\n }\n _updateCellInfoFromSystem() {\n this.cellIndex = this.particleSystem.startSpriteCellID;\n }\n /**\n * Defines how the sprite cell index is updated for the particle\n */\n updateCellIndex() {\n let offsetAge = this.age;\n let changeSpeed = this.particleSystem.spriteCellChangeSpeed;\n if (this.particleSystem.spriteRandomStartCell) {\n if (this._randomCellOffset === undefined) {\n this._randomCellOffset = Math.random() * this.lifeTime;\n }\n if (changeSpeed === 0) {\n // Special case when speed = 0 meaning we want to stay on initial cell\n changeSpeed = 1;\n offsetAge = this._randomCellOffset;\n } else {\n offsetAge += this._randomCellOffset;\n }\n }\n const dist = this._initialEndSpriteCellID - this._initialStartSpriteCellID + 1;\n let ratio;\n if (this._initialSpriteCellLoop) {\n ratio = Clamp(offsetAge * changeSpeed % this.lifeTime / this.lifeTime);\n } else {\n ratio = Clamp(offsetAge * changeSpeed / this.lifeTime);\n }\n this.cellIndex = this._initialStartSpriteCellID + ratio * dist | 0;\n }\n /**\n * @internal\n */\n _inheritParticleInfoToSubEmitter(subEmitter) {\n if (subEmitter.particleSystem.emitter.position) {\n const emitterMesh = subEmitter.particleSystem.emitter;\n emitterMesh.position.copyFrom(this.position);\n if (subEmitter.inheritDirection) {\n const temp = TmpVectors.Vector3[0];\n this.direction.normalizeToRef(temp);\n emitterMesh.setDirection(temp, 0, Math.PI / 2);\n }\n } else {\n const emitterPosition = subEmitter.particleSystem.emitter;\n emitterPosition.copyFrom(this.position);\n }\n // Set inheritedVelocityOffset to be used when new particles are created\n this.direction.scaleToRef(subEmitter.inheritedVelocityAmount / 2, TmpVectors.Vector3[0]);\n subEmitter.particleSystem._inheritedVelocityOffset.copyFrom(TmpVectors.Vector3[0]);\n }\n /** @internal */\n _inheritParticleInfoToSubEmitters() {\n if (this._attachedSubEmitters && this._attachedSubEmitters.length > 0) {\n this._attachedSubEmitters.forEach(subEmitter => {\n this._inheritParticleInfoToSubEmitter(subEmitter);\n });\n }\n }\n /** @internal */\n _reset() {\n this.age = 0;\n this.id = Particle._Count++;\n this._currentColorGradient = null;\n this._currentSizeGradient = null;\n this._currentAngularSpeedGradient = null;\n this._currentVelocityGradient = null;\n this._currentLimitVelocityGradient = null;\n this._currentDragGradient = null;\n this.cellIndex = this.particleSystem.startSpriteCellID;\n this._randomCellOffset = undefined;\n }\n /**\n * Copy the properties of particle to another one.\n * @param other the particle to copy the information to.\n */\n copyTo(other) {\n other.position.copyFrom(this.position);\n if (this._initialDirection) {\n if (other._initialDirection) {\n other._initialDirection.copyFrom(this._initialDirection);\n } else {\n other._initialDirection = this._initialDirection.clone();\n }\n } else {\n other._initialDirection = null;\n }\n other.direction.copyFrom(this.direction);\n if (this._localPosition) {\n if (other._localPosition) {\n other._localPosition.copyFrom(this._localPosition);\n } else {\n other._localPosition = this._localPosition.clone();\n }\n }\n other.color.copyFrom(this.color);\n other.colorStep.copyFrom(this.colorStep);\n other.lifeTime = this.lifeTime;\n other.age = this.age;\n other._randomCellOffset = this._randomCellOffset;\n other.size = this.size;\n other.scale.copyFrom(this.scale);\n other.angle = this.angle;\n other.angularSpeed = this.angularSpeed;\n other.particleSystem = this.particleSystem;\n other.cellIndex = this.cellIndex;\n other.id = this.id;\n other._attachedSubEmitters = this._attachedSubEmitters;\n if (this._currentColorGradient) {\n other._currentColorGradient = this._currentColorGradient;\n other._currentColor1.copyFrom(this._currentColor1);\n other._currentColor2.copyFrom(this._currentColor2);\n }\n if (this._currentSizeGradient) {\n other._currentSizeGradient = this._currentSizeGradient;\n other._currentSize1 = this._currentSize1;\n other._currentSize2 = this._currentSize2;\n }\n if (this._currentAngularSpeedGradient) {\n other._currentAngularSpeedGradient = this._currentAngularSpeedGradient;\n other._currentAngularSpeed1 = this._currentAngularSpeed1;\n other._currentAngularSpeed2 = this._currentAngularSpeed2;\n }\n if (this._currentVelocityGradient) {\n other._currentVelocityGradient = this._currentVelocityGradient;\n other._currentVelocity1 = this._currentVelocity1;\n other._currentVelocity2 = this._currentVelocity2;\n }\n if (this._currentLimitVelocityGradient) {\n other._currentLimitVelocityGradient = this._currentLimitVelocityGradient;\n other._currentLimitVelocity1 = this._currentLimitVelocity1;\n other._currentLimitVelocity2 = this._currentLimitVelocity2;\n }\n if (this._currentDragGradient) {\n other._currentDragGradient = this._currentDragGradient;\n other._currentDrag1 = this._currentDrag1;\n other._currentDrag2 = this._currentDrag2;\n }\n if (this.particleSystem.isAnimationSheetEnabled) {\n other._initialStartSpriteCellID = this._initialStartSpriteCellID;\n other._initialEndSpriteCellID = this._initialEndSpriteCellID;\n other._initialSpriteCellLoop = this._initialSpriteCellLoop;\n }\n if (this.particleSystem.useRampGradients) {\n if (other.remapData && this.remapData) {\n other.remapData.copyFrom(this.remapData);\n } else {\n other.remapData = new Vector4(0, 0, 0, 0);\n }\n }\n if (this._randomNoiseCoordinates1) {\n if (other._randomNoiseCoordinates1) {\n other._randomNoiseCoordinates1.copyFrom(this._randomNoiseCoordinates1);\n other._randomNoiseCoordinates2.copyFrom(this._randomNoiseCoordinates2);\n } else {\n other._randomNoiseCoordinates1 = this._randomNoiseCoordinates1.clone();\n other._randomNoiseCoordinates2 = this._randomNoiseCoordinates2.clone();\n }\n }\n }\n}\nParticle._Count = 0;","map":{"version":3,"names":["Vector2","Vector3","TmpVectors","Vector4","Color4","Clamp","Particle","constructor","particleSystem","position","Zero","direction","color","colorStep","lifeTime","age","size","scale","angle","angularSpeed","cellIndex","_attachedSubEmitters","_currentColor1","_currentColor2","_currentSize1","_currentSize2","_currentAngularSpeed1","_currentAngularSpeed2","_currentVelocity1","_currentVelocity2","_currentLimitVelocity1","_currentLimitVelocity2","_currentDrag1","_currentDrag2","id","_Count","isAnimationSheetEnabled","_updateCellInfoFromSystem","startSpriteCellID","updateCellIndex","offsetAge","changeSpeed","spriteCellChangeSpeed","spriteRandomStartCell","_randomCellOffset","undefined","Math","random","dist","_initialEndSpriteCellID","_initialStartSpriteCellID","ratio","_initialSpriteCellLoop","_inheritParticleInfoToSubEmitter","subEmitter","emitter","emitterMesh","copyFrom","inheritDirection","temp","normalizeToRef","setDirection","PI","emitterPosition","scaleToRef","inheritedVelocityAmount","_inheritedVelocityOffset","_inheritParticleInfoToSubEmitters","length","forEach","_reset","_currentColorGradient","_currentSizeGradient","_currentAngularSpeedGradient","_currentVelocityGradient","_currentLimitVelocityGradient","_currentDragGradient","copyTo","other","_initialDirection","clone","_localPosition","useRampGradients","remapData","_randomNoiseCoordinates1","_randomNoiseCoordinates2"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Particles/particle.js"],"sourcesContent":["import { Vector2, Vector3, TmpVectors, Vector4 } from \"../Maths/math.vector.js\";\nimport { Color4 } from \"../Maths/math.color.js\";\nimport { Clamp } from \"../Maths/math.scalar.functions.js\";\n/**\n * A particle represents one of the element emitted by a particle system.\n * This is mainly define by its coordinates, direction, velocity and age.\n */\nexport class Particle {\n /**\n * Creates a new instance Particle\n * @param particleSystem the particle system the particle belongs to\n */\n constructor(\n /**\n * The particle system the particle belongs to.\n */\n particleSystem) {\n this.particleSystem = particleSystem;\n /**\n * The world position of the particle in the scene.\n */\n this.position = Vector3.Zero();\n /**\n * The world direction of the particle in the scene.\n */\n this.direction = Vector3.Zero();\n /**\n * The color of the particle.\n */\n this.color = new Color4(0, 0, 0, 0);\n /**\n * The color change of the particle per step.\n */\n this.colorStep = new Color4(0, 0, 0, 0);\n /**\n * Defines how long will the life of the particle be.\n */\n this.lifeTime = 1.0;\n /**\n * The current age of the particle.\n */\n this.age = 0;\n /**\n * The current size of the particle.\n */\n this.size = 0;\n /**\n * The current scale of the particle.\n */\n this.scale = new Vector2(1, 1);\n /**\n * The current angle of the particle.\n */\n this.angle = 0;\n /**\n * Defines how fast is the angle changing.\n */\n this.angularSpeed = 0;\n /**\n * Defines the cell index used by the particle to be rendered from a sprite.\n */\n this.cellIndex = 0;\n /** @internal */\n this._attachedSubEmitters = null;\n /** @internal */\n this._currentColor1 = new Color4(0, 0, 0, 0);\n /** @internal */\n this._currentColor2 = new Color4(0, 0, 0, 0);\n /** @internal */\n this._currentSize1 = 0;\n /** @internal */\n this._currentSize2 = 0;\n /** @internal */\n this._currentAngularSpeed1 = 0;\n /** @internal */\n this._currentAngularSpeed2 = 0;\n /** @internal */\n this._currentVelocity1 = 0;\n /** @internal */\n this._currentVelocity2 = 0;\n /** @internal */\n this._currentLimitVelocity1 = 0;\n /** @internal */\n this._currentLimitVelocity2 = 0;\n /** @internal */\n this._currentDrag1 = 0;\n /** @internal */\n this._currentDrag2 = 0;\n this.id = Particle._Count++;\n if (!this.particleSystem.isAnimationSheetEnabled) {\n return;\n }\n this._updateCellInfoFromSystem();\n }\n _updateCellInfoFromSystem() {\n this.cellIndex = this.particleSystem.startSpriteCellID;\n }\n /**\n * Defines how the sprite cell index is updated for the particle\n */\n updateCellIndex() {\n let offsetAge = this.age;\n let changeSpeed = this.particleSystem.spriteCellChangeSpeed;\n if (this.particleSystem.spriteRandomStartCell) {\n if (this._randomCellOffset === undefined) {\n this._randomCellOffset = Math.random() * this.lifeTime;\n }\n if (changeSpeed === 0) {\n // Special case when speed = 0 meaning we want to stay on initial cell\n changeSpeed = 1;\n offsetAge = this._randomCellOffset;\n }\n else {\n offsetAge += this._randomCellOffset;\n }\n }\n const dist = this._initialEndSpriteCellID - this._initialStartSpriteCellID + 1;\n let ratio;\n if (this._initialSpriteCellLoop) {\n ratio = Clamp(((offsetAge * changeSpeed) % this.lifeTime) / this.lifeTime);\n }\n else {\n ratio = Clamp((offsetAge * changeSpeed) / this.lifeTime);\n }\n this.cellIndex = (this._initialStartSpriteCellID + ratio * dist) | 0;\n }\n /**\n * @internal\n */\n _inheritParticleInfoToSubEmitter(subEmitter) {\n if (subEmitter.particleSystem.emitter.position) {\n const emitterMesh = subEmitter.particleSystem.emitter;\n emitterMesh.position.copyFrom(this.position);\n if (subEmitter.inheritDirection) {\n const temp = TmpVectors.Vector3[0];\n this.direction.normalizeToRef(temp);\n emitterMesh.setDirection(temp, 0, Math.PI / 2);\n }\n }\n else {\n const emitterPosition = subEmitter.particleSystem.emitter;\n emitterPosition.copyFrom(this.position);\n }\n // Set inheritedVelocityOffset to be used when new particles are created\n this.direction.scaleToRef(subEmitter.inheritedVelocityAmount / 2, TmpVectors.Vector3[0]);\n subEmitter.particleSystem._inheritedVelocityOffset.copyFrom(TmpVectors.Vector3[0]);\n }\n /** @internal */\n _inheritParticleInfoToSubEmitters() {\n if (this._attachedSubEmitters && this._attachedSubEmitters.length > 0) {\n this._attachedSubEmitters.forEach((subEmitter) => {\n this._inheritParticleInfoToSubEmitter(subEmitter);\n });\n }\n }\n /** @internal */\n _reset() {\n this.age = 0;\n this.id = Particle._Count++;\n this._currentColorGradient = null;\n this._currentSizeGradient = null;\n this._currentAngularSpeedGradient = null;\n this._currentVelocityGradient = null;\n this._currentLimitVelocityGradient = null;\n this._currentDragGradient = null;\n this.cellIndex = this.particleSystem.startSpriteCellID;\n this._randomCellOffset = undefined;\n }\n /**\n * Copy the properties of particle to another one.\n * @param other the particle to copy the information to.\n */\n copyTo(other) {\n other.position.copyFrom(this.position);\n if (this._initialDirection) {\n if (other._initialDirection) {\n other._initialDirection.copyFrom(this._initialDirection);\n }\n else {\n other._initialDirection = this._initialDirection.clone();\n }\n }\n else {\n other._initialDirection = null;\n }\n other.direction.copyFrom(this.direction);\n if (this._localPosition) {\n if (other._localPosition) {\n other._localPosition.copyFrom(this._localPosition);\n }\n else {\n other._localPosition = this._localPosition.clone();\n }\n }\n other.color.copyFrom(this.color);\n other.colorStep.copyFrom(this.colorStep);\n other.lifeTime = this.lifeTime;\n other.age = this.age;\n other._randomCellOffset = this._randomCellOffset;\n other.size = this.size;\n other.scale.copyFrom(this.scale);\n other.angle = this.angle;\n other.angularSpeed = this.angularSpeed;\n other.particleSystem = this.particleSystem;\n other.cellIndex = this.cellIndex;\n other.id = this.id;\n other._attachedSubEmitters = this._attachedSubEmitters;\n if (this._currentColorGradient) {\n other._currentColorGradient = this._currentColorGradient;\n other._currentColor1.copyFrom(this._currentColor1);\n other._currentColor2.copyFrom(this._currentColor2);\n }\n if (this._currentSizeGradient) {\n other._currentSizeGradient = this._currentSizeGradient;\n other._currentSize1 = this._currentSize1;\n other._currentSize2 = this._currentSize2;\n }\n if (this._currentAngularSpeedGradient) {\n other._currentAngularSpeedGradient = this._currentAngularSpeedGradient;\n other._currentAngularSpeed1 = this._currentAngularSpeed1;\n other._currentAngularSpeed2 = this._currentAngularSpeed2;\n }\n if (this._currentVelocityGradient) {\n other._currentVelocityGradient = this._currentVelocityGradient;\n other._currentVelocity1 = this._currentVelocity1;\n other._currentVelocity2 = this._currentVelocity2;\n }\n if (this._currentLimitVelocityGradient) {\n other._currentLimitVelocityGradient = this._currentLimitVelocityGradient;\n other._currentLimitVelocity1 = this._currentLimitVelocity1;\n other._currentLimitVelocity2 = this._currentLimitVelocity2;\n }\n if (this._currentDragGradient) {\n other._currentDragGradient = this._currentDragGradient;\n other._currentDrag1 = this._currentDrag1;\n other._currentDrag2 = this._currentDrag2;\n }\n if (this.particleSystem.isAnimationSheetEnabled) {\n other._initialStartSpriteCellID = this._initialStartSpriteCellID;\n other._initialEndSpriteCellID = this._initialEndSpriteCellID;\n other._initialSpriteCellLoop = this._initialSpriteCellLoop;\n }\n if (this.particleSystem.useRampGradients) {\n if (other.remapData && this.remapData) {\n other.remapData.copyFrom(this.remapData);\n }\n else {\n other.remapData = new Vector4(0, 0, 0, 0);\n }\n }\n if (this._randomNoiseCoordinates1) {\n if (other._randomNoiseCoordinates1) {\n other._randomNoiseCoordinates1.copyFrom(this._randomNoiseCoordinates1);\n other._randomNoiseCoordinates2.copyFrom(this._randomNoiseCoordinates2);\n }\n else {\n other._randomNoiseCoordinates1 = this._randomNoiseCoordinates1.clone();\n other._randomNoiseCoordinates2 = this._randomNoiseCoordinates2.clone();\n }\n }\n }\n}\nParticle._Count = 0;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|