Skip to content
This repository has been archived by the owner on Aug 7, 2024. It is now read-only.

Commit

Permalink
refactor: opt code (#792)
Browse files Browse the repository at this point in the history
  • Loading branch information
GuoLei1990 authored Sep 14, 2023
1 parent 842cc4b commit 40af42f
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 61 deletions.
24 changes: 12 additions & 12 deletions playground/benchmark-particle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,9 +124,9 @@ function createFireParticle(engine: Engine, texture: Texture2D): Entity {
main.startSize.constantMax = 0.9;
main.startSize.mode = ParticleCurveMode.TwoConstants;

main.startRotation.constantMin = 0;
main.startRotation.constantMax = 360;
main.startRotation.mode = ParticleCurveMode.TwoConstants;
main.startRotationZ.constantMin = 0;
main.startRotationZ.constantMax = 360;
main.startRotationZ.mode = ParticleCurveMode.TwoConstants;

main.simulationSpace = ParticleSimulationSpace.World;

Expand Down Expand Up @@ -197,9 +197,9 @@ function createFireGlowParticle(fireEntity: Entity, texture: Texture2D): void {

main.startSize.constant = 1.2;

main.startRotation.constantMin = 0;
main.startRotation.constantMax = 360;
main.startRotation.mode = ParticleCurveMode.TwoConstants;
main.startRotationZ.constantMin = 0;
main.startRotationZ.constantMax = 360;
main.startRotationZ.mode = ParticleCurveMode.TwoConstants;

main.startColor.constant = new Color(
255 / 255,
Expand Down Expand Up @@ -274,9 +274,9 @@ function createFireSmokeParticle(fireEntity: Entity, texture: Texture2D): void {

main.startSize.constant = 1.2;

main.startRotation.constantMin = 0;
main.startRotation.constantMax = 360;
main.startRotation.mode = ParticleCurveMode.TwoConstants;
main.startRotationZ.constantMin = 0;
main.startRotationZ.constantMax = 360;
main.startRotationZ.mode = ParticleCurveMode.TwoConstants;

main.startColor.constant = new Color(
255 / 255,
Expand Down Expand Up @@ -371,9 +371,9 @@ function createFireEmbersParticle(
main.startSize.constantMax = 0.2;
main.startSize.mode = ParticleCurveMode.TwoConstants;

main.startRotation.constantMin = 0;
main.startRotation.constantMax = 360;
main.startRotation.mode = ParticleCurveMode.TwoConstants;
main.startRotationZ.constantMin = 0;
main.startRotationZ.constantMax = 360;
main.startRotationZ.mode = ParticleCurveMode.TwoConstants;

main.gravityModifier.constant = -0.15;

Expand Down
24 changes: 12 additions & 12 deletions playground/particle-dream.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,9 @@ function createDebrisParticle(engine: Engine, texture: Texture2D): Entity {
main.startSize.constantMax = 1;
main.startSize.mode = ParticleCurveMode.TwoConstants;

main.startRotation.constantMin = 0;
main.startRotation.constantMax = 360;
main.startRotation.mode = ParticleCurveMode.TwoConstants;
main.startRotationZ.constantMin = 0;
main.startRotationZ.constantMax = 360;
main.startRotationZ.mode = ParticleCurveMode.TwoConstants;

main.startColor.constantMin.set(255 / 255, 255 / 255, 255 / 255, 1.0);
main.startColor.constantMax.set(13 / 255, 255 / 255, 0 / 255, 1.0);
Expand Down Expand Up @@ -171,9 +171,9 @@ function createGlowParticle(fireEntity: Entity, texture: Texture2D): void {
main.startSize.constantMax = 9;
main.startSize.mode = ParticleCurveMode.TwoConstants;

main.startRotation.constantMin = 0;
main.startRotation.constantMax = 360;
main.startRotation.mode = ParticleCurveMode.TwoConstants;
main.startRotationZ.constantMin = 0;
main.startRotationZ.constantMax = 360;
main.startRotationZ.mode = ParticleCurveMode.TwoConstants;

main.startColor.constantMin = new Color(
0 / 255,
Expand Down Expand Up @@ -242,9 +242,9 @@ function createSparksParticle(fireEntity: Entity, texture: Texture2D): void {
main.startSize.constantMax = 0.2;
main.startSize.mode = ParticleCurveMode.TwoConstants;

main.startRotation.constantMin = 0;
main.startRotation.constantMax = 360;
main.startRotation.mode = ParticleCurveMode.TwoConstants;
main.startRotationZ.constantMin = 0;
main.startRotationZ.constantMax = 360;
main.startRotationZ.mode = ParticleCurveMode.TwoConstants;

main.startColor.constant = new Color(
37 / 255,
Expand Down Expand Up @@ -316,9 +316,9 @@ function createHighlightsParticle(
main.startSize.constantMax = 7;
main.startSize.mode = ParticleCurveMode.TwoConstants;

main.startRotation.constantMin = 0;
main.startRotation.constantMax = 360;
main.startRotation.mode = ParticleCurveMode.TwoConstants;
main.startRotationZ.constantMin = 0;
main.startRotationZ.constantMax = 360;
main.startRotationZ.mode = ParticleCurveMode.TwoConstants;

main.startColor.constantMin.set(105 / 255, 198 / 255, 255 / 255, 64 / 255);
main.startColor.constantMax.set(13 / 255, 255 / 255, 0 / 255, 32 / 255);
Expand Down
78 changes: 41 additions & 37 deletions playground/particle-fire.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import {
Texture2D,
Vector2,
Vector3,
WebGLEngine
WebGLEngine,
} from "@galacean/engine";

// Create engine
Expand Down Expand Up @@ -103,21 +103,22 @@ function createFireParticle(engine: Engine, texture: Texture2D): Entity {
} = generator;

// Main module
main.startLifetime.constantMin = 0.2;
main.startLifetime.constantMax = 0.8;
main.startLifetime.mode = ParticleCurveMode.TwoConstants;
const { startLifetime, startSpeed, startSize, startRotationZ } = this.main;
startLifetime.constantMin = 0.2;
startLifetime.constantMax = 0.8;
startLifetime.mode = ParticleCurveMode.TwoConstants;

main.startSpeed.constantMin = 0.4;
main.startSpeed.constantMax = 1.6;
main.startSpeed.mode = ParticleCurveMode.TwoConstants;
startSpeed.constantMin = 0.4;
startSpeed.constantMax = 1.6;
startSpeed.mode = ParticleCurveMode.TwoConstants;

main.startSize.constantMin = 0.6;
main.startSize.constantMax = 0.9;
main.startSize.mode = ParticleCurveMode.TwoConstants;
startSize.constantMin = 0.6;
startSize.constantMax = 0.9;
startSize.mode = ParticleCurveMode.TwoConstants;

main.startRotation.constantMin = 0;
main.startRotation.constantMax = 360;
main.startRotation.mode = ParticleCurveMode.TwoConstants;
startRotationZ.constantMin = 0;
startRotationZ.constantMax = 360;
startRotationZ.mode = ParticleCurveMode.TwoConstants;

main.simulationSpace = ParticleSimulationSpace.World;

Expand Down Expand Up @@ -181,19 +182,20 @@ function createFireGlowParticle(fireEntity: Entity, texture: Texture2D): void {
const { main, emission, sizeOverLifetime, colorOverLifetime } = generator;

// Main module
main.startLifetime.constantMin = 0.2;
main.startLifetime.constantMax = 0.6;
main.startLifetime.mode = ParticleCurveMode.TwoConstants;
const { startLifetime, startSpeed, startRotationZ } = this.main;
startLifetime.constantMin = 0.2;
startLifetime.constantMax = 0.6;
startLifetime.mode = ParticleCurveMode.TwoConstants;

main.startSpeed.constantMin = 0.0;
main.startSpeed.constantMax = 1.4;
main.startSpeed.mode = ParticleCurveMode.TwoConstants;
startSpeed.constantMin = 0.0;
startSpeed.constantMax = 1.4;
startSpeed.mode = ParticleCurveMode.TwoConstants;

main.startSize.constant = 1.2;

main.startRotation.constantMin = 0;
main.startRotation.constantMax = 360;
main.startRotation.mode = ParticleCurveMode.TwoConstants;
startRotationZ.constantMin = 0;
startRotationZ.constantMax = 360;
startRotationZ.mode = ParticleCurveMode.TwoConstants;

main.startColor.constant = new Color(
255 / 255,
Expand Down Expand Up @@ -260,17 +262,18 @@ function createFireSmokeParticle(fireEntity: Entity, texture: Texture2D): void {
} = generator;

// Main module
main.startLifetime.constantMin = 1;
main.startLifetime.constantMax = 1.2;
main.startLifetime.mode = ParticleCurveMode.TwoConstants;
const { startLifetime, startRotationZ } = this.main;
startLifetime.constantMin = 1;
startLifetime.constantMax = 1.2;
startLifetime.mode = ParticleCurveMode.TwoConstants;

main.startSpeed.constant = 1.5;

main.startSize.constant = 1.2;

main.startRotation.constantMin = 0;
main.startRotation.constantMax = 360;
main.startRotation.mode = ParticleCurveMode.TwoConstants;
startRotationZ.constantMin = 0;
startRotationZ.constantMax = 360;
startRotationZ.mode = ParticleCurveMode.TwoConstants;

main.startColor.constant = new Color(
255 / 255,
Expand Down Expand Up @@ -353,21 +356,22 @@ function createFireEmbersParticle(
} = generator;

// Main module
const { startLifetime, startSize, startRotationZ } = this.main;
main.duration = 3;

main.startLifetime.constantMin = 1;
main.startLifetime.constantMax = 1.5;
main.startLifetime.mode = ParticleCurveMode.TwoConstants;
startLifetime.constantMin = 1;
startLifetime.constantMax = 1.5;
startLifetime.mode = ParticleCurveMode.TwoConstants;

main.startSpeed.constant = 0.4;

main.startSize.constantMin = 0.05;
main.startSize.constantMax = 0.2;
main.startSize.mode = ParticleCurveMode.TwoConstants;
startSize.constantMin = 0.05;
startSize.constantMax = 0.2;
startSize.mode = ParticleCurveMode.TwoConstants;

main.startRotation.constantMin = 0;
main.startRotation.constantMax = 360;
main.startRotation.mode = ParticleCurveMode.TwoConstants;
startRotationZ.constantMin = 0;
startRotationZ.constantMax = 360;
startRotationZ.mode = ParticleCurveMode.TwoConstants;

main.gravityModifier.constant = -0.15;

Expand Down

0 comments on commit 40af42f

Please sign in to comment.