@needle-tools/engine 2.40.0-pre → 2.41.0-pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/needle-engine.d.ts +269 -123
- package/dist/needle-engine.js +389 -389
- package/dist/needle-engine.js.map +4 -4
- package/dist/needle-engine.min.js +41 -41
- package/dist/needle-engine.min.js.map +4 -4
- package/lib/engine/engine_gizmos.d.ts +1 -0
- package/lib/engine/engine_gizmos.js +16 -4
- package/lib/engine/engine_gizmos.js.map +1 -1
- package/lib/engine/engine_math.d.ts +9 -6
- package/lib/engine/engine_math.js +9 -0
- package/lib/engine/engine_math.js.map +1 -1
- package/lib/engine/engine_physics.js +14 -6
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/engine_serialization_core.js +2 -0
- package/lib/engine/engine_serialization_core.js.map +1 -1
- package/lib/engine/engine_utils.d.ts +1 -0
- package/lib/engine/engine_utils.js +3 -0
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine-components/AnimationCurve.js +20 -5
- package/lib/engine-components/AnimationCurve.js.map +1 -1
- package/lib/engine-components/Light.d.ts +2 -0
- package/lib/engine-components/Light.js +33 -9
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/ParticleSystem.d.ts +15 -26
- package/lib/engine-components/ParticleSystem.js +251 -184
- package/lib/engine-components/ParticleSystem.js.map +1 -1
- package/lib/engine-components/ParticleSystemModules.d.ts +208 -63
- package/lib/engine-components/ParticleSystemModules.js +640 -153
- package/lib/engine-components/ParticleSystemModules.js.map +1 -1
- package/lib/engine-components/WebXR.js +8 -3
- package/lib/engine-components/WebXR.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +6 -0
- package/lib/engine-components/codegen/components.js +6 -0
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/package.json +3 -1
- package/src/engine/codegen/register_types.js +24 -0
- package/src/engine/engine_gizmos.ts +19 -4
- package/src/engine/engine_math.ts +19 -6
- package/src/engine/engine_physics.ts +17 -7
- package/src/engine/engine_serialization_core.ts +1 -0
- package/src/engine/engine_utils.ts +5 -0
- package/src/engine-components/AnimationCurve.ts +25 -11
- package/src/engine-components/Light.ts +39 -8
- package/src/engine-components/ParticleSystem.ts +314 -194
- package/src/engine-components/ParticleSystemModules.ts +537 -154
- package/src/engine-components/WebXR.ts +11 -8
- package/src/engine-components/codegen/components.ts +6 -0
- package/src/engine/dist/engine_physics.js +0 -739
- package/src/engine/dist/engine_setup.js +0 -777
- package/src/engine-components/dist/CharacterController.js +0 -123
- package/src/engine-components/dist/RigidBody.js +0 -458
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,13 @@ All notable changes to this package will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
5
5
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [2.41.0-pre] - 2022-11-07
|
|
8
|
+
- Add: start adding particle systems support again
|
|
9
|
+
- Change: update dependency version to needle gltf-transform-extensions package
|
|
10
|
+
- Change: light set to soft shadows now changes renderer shadow mode to ``VSMShadowMap`` (can be disabled by setting ``Light.allowChangingShadowMapType`` to false)
|
|
11
|
+
- Fix: WebXR creating AR button when called from script in awake
|
|
12
|
+
- Fix: ``AnimationCurve.evaluate``
|
|
13
|
+
|
|
7
14
|
## [2.40.0-pre] - 2022-11-05
|
|
8
15
|
- Add support for deleting all room state by calling ``context.connection.sendDeleteRemoteStateAll()`` (requires backend to update ``@needle-tools/needle-tiny-networking-ws`` to ``^1.1.0-pre``)
|
|
9
16
|
- Add Hinge joint
|
package/dist/needle-engine.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
declare module "engine/engine_math" {
|
|
2
2
|
class MathHelper {
|
|
3
3
|
random(): number;
|
|
4
|
-
clamp(value:
|
|
5
|
-
clamp01(value:
|
|
6
|
-
lerp(value1:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
clamp(value: number, min: number, max: number): number;
|
|
5
|
+
clamp01(value: number): number;
|
|
6
|
+
lerp(value1: number, value2: number, amount: number): number;
|
|
7
|
+
remap(value: number, min1: number, max1: number, min2: number, max2: number): number;
|
|
8
|
+
moveTowards(value1: number, value2: number, amount: number): number;
|
|
9
|
+
toDegrees(radians: number): number;
|
|
10
|
+
toRadians(degrees: number): number;
|
|
11
|
+
gammaToLinear(gamma: number): number;
|
|
12
|
+
linearToGamma(linear: number): number;
|
|
10
13
|
}
|
|
11
14
|
const Mathf: MathHelper;
|
|
12
15
|
export { Mathf };
|
|
@@ -261,6 +264,7 @@ declare module "engine/engine_utils" {
|
|
|
261
264
|
revoke(): void;
|
|
262
265
|
dispose(): void;
|
|
263
266
|
}
|
|
267
|
+
export function isMobileDevice(): boolean;
|
|
264
268
|
}
|
|
265
269
|
declare module "engine/extensions/extension_resolver" {
|
|
266
270
|
import { GLTFParser } from "three/examples/jsm/loaders/GLTFLoader";
|
|
@@ -762,6 +766,35 @@ declare module "engine/engine_gameobject" {
|
|
|
762
766
|
export function foreachComponent(instance: THREE.Object3D, cb: (comp: Component) => any, recursive?: boolean): any;
|
|
763
767
|
export function instantiate(instance: GameObject | Object3D | null, opts?: InstantiateOptions | null): GameObject | null;
|
|
764
768
|
}
|
|
769
|
+
declare module "engine/engine_gizmos" {
|
|
770
|
+
import * as THREE from 'three';
|
|
771
|
+
import { ColorRepresentation } from 'three';
|
|
772
|
+
import { Vec3 } from "engine/engine_types";
|
|
773
|
+
export class Gizmos {
|
|
774
|
+
static DrawRay(origin: Vec3, dir: Vec3, color?: ColorRepresentation, duration?: number, depthTest?: boolean): void;
|
|
775
|
+
static DrawDirection(pt: Vec3, direction: Vec3, color?: ColorRepresentation, duration?: number, depthTest?: boolean, lengthFactor?: number): void;
|
|
776
|
+
static DrawLine(pt0: {
|
|
777
|
+
x: number;
|
|
778
|
+
y: number;
|
|
779
|
+
z: number;
|
|
780
|
+
}, pt1: {
|
|
781
|
+
x: number;
|
|
782
|
+
y: number;
|
|
783
|
+
z: number;
|
|
784
|
+
}, color?: ColorRepresentation, duration?: number, depthTest?: boolean): void;
|
|
785
|
+
static DrawWireSphere(center: {
|
|
786
|
+
x: number;
|
|
787
|
+
y: number;
|
|
788
|
+
z: number;
|
|
789
|
+
}, radius: number, color?: ColorRepresentation, duration?: number, depthTest?: boolean): void;
|
|
790
|
+
static DrawSphere(center: {
|
|
791
|
+
x: number;
|
|
792
|
+
y: number;
|
|
793
|
+
z: number;
|
|
794
|
+
}, radius: number, color?: ColorRepresentation, duration?: number, depthTest?: boolean): void;
|
|
795
|
+
}
|
|
796
|
+
export function CreateWireCube(col?: THREE.ColorRepresentation | null): THREE.LineSegments;
|
|
797
|
+
}
|
|
765
798
|
declare module "engine/engine_physics" {
|
|
766
799
|
import { Camera, Intersection, Layers, Mesh, Object3D, Ray, Raycaster, Vector2, Vector3 } from 'three';
|
|
767
800
|
import { Context } from "engine/engine_setup";
|
|
@@ -2434,34 +2467,6 @@ declare module "engine/engine_util_decorator" {
|
|
|
2434
2467
|
/** create accessor callbacks for a field */
|
|
2435
2468
|
export const validate: (set?: setter, get?: getter) => (target: IComponent | any, propertyKey: string, descriptor?: undefined) => void;
|
|
2436
2469
|
}
|
|
2437
|
-
declare module "engine/engine_gizmos" {
|
|
2438
|
-
import * as THREE from 'three';
|
|
2439
|
-
import { ColorRepresentation } from 'three';
|
|
2440
|
-
import { Vec3 } from "engine/engine_types";
|
|
2441
|
-
export class Gizmos {
|
|
2442
|
-
static DrawRay(origin: Vec3, dir: Vec3, color?: ColorRepresentation, duration?: number, depthTest?: boolean): void;
|
|
2443
|
-
static DrawLine(pt0: {
|
|
2444
|
-
x: number;
|
|
2445
|
-
y: number;
|
|
2446
|
-
z: number;
|
|
2447
|
-
}, pt1: {
|
|
2448
|
-
x: number;
|
|
2449
|
-
y: number;
|
|
2450
|
-
z: number;
|
|
2451
|
-
}, color?: ColorRepresentation, duration?: number, depthTest?: boolean): void;
|
|
2452
|
-
static DrawWireSphere(center: {
|
|
2453
|
-
x: number;
|
|
2454
|
-
y: number;
|
|
2455
|
-
z: number;
|
|
2456
|
-
}, radius: number, color?: ColorRepresentation, duration?: number, depthTest?: boolean): void;
|
|
2457
|
-
static DrawSphere(center: {
|
|
2458
|
-
x: number;
|
|
2459
|
-
y: number;
|
|
2460
|
-
z: number;
|
|
2461
|
-
}, radius: number, color?: ColorRepresentation, duration?: number, depthTest?: boolean): void;
|
|
2462
|
-
}
|
|
2463
|
-
export function CreateWireCube(col?: THREE.ColorRepresentation | null): THREE.LineSegments;
|
|
2464
|
-
}
|
|
2465
2470
|
declare module "engine/api" {
|
|
2466
2471
|
export { InstancingUtil } from "engine/engine_instancing";
|
|
2467
2472
|
export * from "engine/engine_gameobject";
|
|
@@ -4088,6 +4093,8 @@ declare module "engine-components/Light" {
|
|
|
4088
4093
|
private onWebXREnded;
|
|
4089
4094
|
createLight(): void;
|
|
4090
4095
|
updateMainLightRoutine(): Generator<undefined, void, unknown>;
|
|
4096
|
+
static allowChangingRendererShadowMapType: boolean;
|
|
4097
|
+
private updateShadowSoftHard;
|
|
4091
4098
|
private setDirectionalLight;
|
|
4092
4099
|
}
|
|
4093
4100
|
}
|
|
@@ -4151,62 +4158,178 @@ declare module "engine-components/OffsetConstraint" {
|
|
|
4151
4158
|
}
|
|
4152
4159
|
declare module "engine-components/ParticleSystemModules" {
|
|
4153
4160
|
import * as THREE from "three";
|
|
4161
|
+
import { Object3D, Vector3 } from "three";
|
|
4162
|
+
import { RGBAColor } from "engine-components/js-extensions/RGBAColor";
|
|
4163
|
+
import { AnimationCurve } from "engine-components/AnimationCurve";
|
|
4164
|
+
import { Vec3 } from "engine/engine_types";
|
|
4165
|
+
type Color4 = {
|
|
4166
|
+
r: number;
|
|
4167
|
+
g: number;
|
|
4168
|
+
b: number;
|
|
4169
|
+
a: number;
|
|
4170
|
+
};
|
|
4171
|
+
type ColorKey = {
|
|
4172
|
+
time: number;
|
|
4173
|
+
color: Color4;
|
|
4174
|
+
};
|
|
4175
|
+
type AlphaKey = {
|
|
4176
|
+
time: number;
|
|
4177
|
+
alpha: number;
|
|
4178
|
+
};
|
|
4179
|
+
export class Gradient {
|
|
4180
|
+
alphaKeys: Array<AlphaKey>;
|
|
4181
|
+
colorKeys: Array<ColorKey>;
|
|
4182
|
+
get duration(): number;
|
|
4183
|
+
evaluate(time: number, target: RGBAColor): RGBAColor;
|
|
4184
|
+
}
|
|
4185
|
+
export enum ParticleSystemCurveMode {
|
|
4186
|
+
Constant = 0,
|
|
4187
|
+
Curve = 1,
|
|
4188
|
+
TwoCurves = 2,
|
|
4189
|
+
TwoConstants = 3
|
|
4190
|
+
}
|
|
4191
|
+
export enum ParticleSystemGradientMode {
|
|
4192
|
+
Color = 0,
|
|
4193
|
+
Gradient = 1,
|
|
4194
|
+
TwoColors = 2,
|
|
4195
|
+
TwoGradients = 3,
|
|
4196
|
+
RandomColor = 4
|
|
4197
|
+
}
|
|
4198
|
+
export enum ParticleSystemSimulationSpace {
|
|
4199
|
+
Local = 0,
|
|
4200
|
+
World = 1,
|
|
4201
|
+
Custom = 2
|
|
4202
|
+
}
|
|
4203
|
+
export enum ParticleSystemShapeType {
|
|
4204
|
+
Sphere = 0,
|
|
4205
|
+
SphereShell = 1,
|
|
4206
|
+
Hemisphere = 2,
|
|
4207
|
+
HemisphereShell = 3,
|
|
4208
|
+
Cone = 4,
|
|
4209
|
+
Box = 5,
|
|
4210
|
+
Mesh = 6,
|
|
4211
|
+
ConeShell = 7,
|
|
4212
|
+
ConeVolume = 8,
|
|
4213
|
+
ConeVolumeShell = 9,
|
|
4214
|
+
Circle = 10,
|
|
4215
|
+
CircleEdge = 11,
|
|
4216
|
+
SingleSidedEdge = 12,
|
|
4217
|
+
MeshRenderer = 13,
|
|
4218
|
+
SkinnedMeshRenderer = 14,
|
|
4219
|
+
BoxShell = 15,
|
|
4220
|
+
BoxEdge = 16,
|
|
4221
|
+
Donut = 17,
|
|
4222
|
+
Rectangle = 18,
|
|
4223
|
+
Sprite = 19,
|
|
4224
|
+
SpriteRenderer = 20
|
|
4225
|
+
}
|
|
4226
|
+
export class MinMaxCurve {
|
|
4227
|
+
mode: ParticleSystemCurveMode;
|
|
4228
|
+
constant: number;
|
|
4229
|
+
constantMin: number;
|
|
4230
|
+
constantMax: number;
|
|
4231
|
+
curve?: AnimationCurve;
|
|
4232
|
+
curveMin?: AnimationCurve;
|
|
4233
|
+
curveMax?: AnimationCurve;
|
|
4234
|
+
curveMultiplier?: number;
|
|
4235
|
+
evaluate(t01: number, lerpFactor?: number): number;
|
|
4236
|
+
}
|
|
4237
|
+
export class MinMaxGradient {
|
|
4238
|
+
mode: ParticleSystemGradientMode;
|
|
4239
|
+
color: RGBAColor;
|
|
4240
|
+
colorMin: RGBAColor;
|
|
4241
|
+
colorMax: RGBAColor;
|
|
4242
|
+
gradient: Gradient;
|
|
4243
|
+
gradientMin: Gradient;
|
|
4244
|
+
gradientMax: Gradient;
|
|
4245
|
+
private _temp;
|
|
4246
|
+
evaluate(t01: number, lerpFactor?: number): RGBAColor;
|
|
4247
|
+
}
|
|
4248
|
+
type ParticleSystemScalingMode = {
|
|
4249
|
+
Hierarchy: number;
|
|
4250
|
+
Local: number;
|
|
4251
|
+
Shape: number;
|
|
4252
|
+
};
|
|
4154
4253
|
export class MainModule {
|
|
4155
|
-
|
|
4254
|
+
cullingMode: number;
|
|
4156
4255
|
duration: number;
|
|
4256
|
+
emitterVelocityMode: number;
|
|
4257
|
+
flipRotation: number;
|
|
4258
|
+
gravityModifier: MinMaxCurve;
|
|
4259
|
+
gravityModifierMultiplier: number;
|
|
4157
4260
|
loop: boolean;
|
|
4261
|
+
maxParticles: number;
|
|
4262
|
+
playOnAwake: boolean;
|
|
4158
4263
|
prewarm: boolean;
|
|
4159
|
-
|
|
4264
|
+
ringBufferLoopRange: {
|
|
4265
|
+
x: number;
|
|
4266
|
+
y: number;
|
|
4267
|
+
};
|
|
4268
|
+
ringBufferMode: boolean;
|
|
4269
|
+
scalingMode: ParticleSystemScalingMode;
|
|
4270
|
+
simulationSpace: ParticleSystemSimulationSpace;
|
|
4271
|
+
simulationSpeed: number;
|
|
4272
|
+
startColor: MinMaxGradient;
|
|
4273
|
+
startDelay: MinMaxCurve;
|
|
4160
4274
|
startDelayMultiplier: number;
|
|
4161
|
-
startLifetime:
|
|
4275
|
+
startLifetime: MinMaxCurve;
|
|
4162
4276
|
startLifetimeMultiplier: number;
|
|
4163
|
-
|
|
4164
|
-
|
|
4277
|
+
startRotation: MinMaxCurve;
|
|
4278
|
+
startRotationMultiplier: number;
|
|
4279
|
+
startRotation3D: boolean;
|
|
4280
|
+
startRotationX: MinMaxCurve;
|
|
4281
|
+
startRotationXMultiplier: number;
|
|
4282
|
+
startRotationY: MinMaxCurve;
|
|
4283
|
+
startRotationYMultiplier: number;
|
|
4284
|
+
startRotationZ: MinMaxCurve;
|
|
4285
|
+
startRotationZMultiplier: number;
|
|
4286
|
+
startSize: MinMaxCurve;
|
|
4165
4287
|
startSize3D: boolean;
|
|
4166
|
-
startSize: undefined;
|
|
4167
4288
|
startSizeMultiplier: number;
|
|
4168
|
-
startSizeX:
|
|
4289
|
+
startSizeX: MinMaxCurve;
|
|
4169
4290
|
startSizeXMultiplier: number;
|
|
4170
|
-
startSizeY:
|
|
4291
|
+
startSizeY: MinMaxCurve;
|
|
4171
4292
|
startSizeYMultiplier: number;
|
|
4172
|
-
startSizeZ:
|
|
4293
|
+
startSizeZ: MinMaxCurve;
|
|
4173
4294
|
startSizeZMultiplier: number;
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
startRotationMultiplier: number;
|
|
4177
|
-
startRotationX: undefined;
|
|
4178
|
-
startRotationXMultiplier: number;
|
|
4179
|
-
startRotationY: undefined;
|
|
4180
|
-
startRotationYMultiplier: number;
|
|
4181
|
-
startRotationZ: undefined;
|
|
4182
|
-
startRotationZMultiplier: number;
|
|
4183
|
-
flipRotation: number;
|
|
4184
|
-
startColor: THREE.Color;
|
|
4185
|
-
startColor1: THREE.Color | undefined;
|
|
4186
|
-
gravityModifier: undefined;
|
|
4187
|
-
gravityModifierMultiplier: number;
|
|
4188
|
-
simulationSpace: number;
|
|
4189
|
-
customSimulationSpace: null;
|
|
4190
|
-
simulationSpeed: number;
|
|
4191
|
-
useUnscaledTime: boolean;
|
|
4192
|
-
scalingMode: number;
|
|
4193
|
-
playOnAwake: boolean;
|
|
4194
|
-
maxParticles: number;
|
|
4195
|
-
emitterVelocityMode: number;
|
|
4295
|
+
startSpeed: MinMaxCurve;
|
|
4296
|
+
startSpeedMultiplier: number;
|
|
4196
4297
|
stopAction: number;
|
|
4197
|
-
|
|
4198
|
-
ringBufferLoopRange: THREE.Vector2;
|
|
4199
|
-
cullingMode: number;
|
|
4298
|
+
useUnscaledTime: boolean;
|
|
4200
4299
|
}
|
|
4201
4300
|
export class EmissionModule {
|
|
4202
4301
|
burstCount: number;
|
|
4203
4302
|
enabled: boolean;
|
|
4204
|
-
|
|
4205
|
-
rateMutliplier: number;
|
|
4206
|
-
rateOverDistance: number;
|
|
4207
|
-
rateOverDistanceMultiplier: number;
|
|
4208
|
-
rateOverTime: number;
|
|
4303
|
+
rateOverTime: MinMaxCurve;
|
|
4209
4304
|
rateOverTimeMultiplier: number;
|
|
4305
|
+
rateOverDistance: MinMaxCurve;
|
|
4306
|
+
rateOverDistanceMultiplier: number;
|
|
4307
|
+
currentParticles: number;
|
|
4308
|
+
maxParticles: number;
|
|
4309
|
+
private _time;
|
|
4310
|
+
private _summed;
|
|
4311
|
+
/** called by nebula */
|
|
4312
|
+
init(): void;
|
|
4313
|
+
/** called by nebula */
|
|
4314
|
+
getValue(deltaTime: number): number;
|
|
4315
|
+
}
|
|
4316
|
+
export class ColorOverLifetimeModule {
|
|
4317
|
+
enabled: boolean;
|
|
4318
|
+
color: MinMaxGradient;
|
|
4319
|
+
}
|
|
4320
|
+
export class SizeOverLifetimeModule {
|
|
4321
|
+
enabled: boolean;
|
|
4322
|
+
separateAxes: boolean;
|
|
4323
|
+
size: MinMaxCurve;
|
|
4324
|
+
sizeMultiplier: number;
|
|
4325
|
+
sizeX: MinMaxCurve;
|
|
4326
|
+
sizeXMultiplier: number;
|
|
4327
|
+
sizeY: MinMaxCurve;
|
|
4328
|
+
sizeYMultiplier: number;
|
|
4329
|
+
sizeZ: MinMaxCurve;
|
|
4330
|
+
sizeZMultiplier: number;
|
|
4331
|
+
private _time;
|
|
4332
|
+
evaluate(t01: number, target: Vec3): Vec3;
|
|
4210
4333
|
}
|
|
4211
4334
|
export class ShapeModule {
|
|
4212
4335
|
shapeType: ParticleSystemShapeType;
|
|
@@ -4215,68 +4338,85 @@ declare module "engine-components/ParticleSystemModules" {
|
|
|
4215
4338
|
angle: number;
|
|
4216
4339
|
arc: number;
|
|
4217
4340
|
arcmode: number;
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
scale: THREE.Vector3;
|
|
4341
|
+
boxThickness: Vector3;
|
|
4342
|
+
position: Vector3;
|
|
4343
|
+
rotation: Vector3;
|
|
4344
|
+
scale: Vector3;
|
|
4223
4345
|
radius: number;
|
|
4346
|
+
radiusThickness: number;
|
|
4224
4347
|
sphericalDirectionAmount: number;
|
|
4348
|
+
private _space?;
|
|
4349
|
+
private readonly _worldSpacePosition;
|
|
4350
|
+
update(_context: Context, simulationSpace: ParticleSystemSimulationSpace, obj: Object3D): void;
|
|
4351
|
+
/** nebula implementations: */
|
|
4352
|
+
/** initializer implementation */
|
|
4353
|
+
private _vector;
|
|
4354
|
+
private _temp;
|
|
4355
|
+
/** called by nebula on initialize */
|
|
4356
|
+
get vector(): THREE.Vector3;
|
|
4357
|
+
/** called by nebula */
|
|
4358
|
+
getPosition(): void;
|
|
4359
|
+
private _dir;
|
|
4360
|
+
getDirection(position: any): Vec3;
|
|
4225
4361
|
}
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
|
|
4237
|
-
|
|
4238
|
-
|
|
4239
|
-
|
|
4240
|
-
|
|
4241
|
-
|
|
4242
|
-
|
|
4243
|
-
|
|
4244
|
-
|
|
4362
|
+
import { Context } from "engine/engine_setup";
|
|
4363
|
+
export class NoiseModule {
|
|
4364
|
+
damping: boolean;
|
|
4365
|
+
enabled: boolean;
|
|
4366
|
+
frequency: number;
|
|
4367
|
+
octaveCount: number;
|
|
4368
|
+
octaveMultiplier: number;
|
|
4369
|
+
octaveScale: number;
|
|
4370
|
+
positionAmount: MinMaxCurve;
|
|
4371
|
+
quality: number;
|
|
4372
|
+
remap: MinMaxCurve;
|
|
4373
|
+
remapEnabled: boolean;
|
|
4374
|
+
remapMultiplier: number;
|
|
4375
|
+
remapX: MinMaxCurve;
|
|
4376
|
+
remapXMultiplier: number;
|
|
4377
|
+
remapY: MinMaxCurve;
|
|
4378
|
+
remapYMultiplier: number;
|
|
4379
|
+
remapZ: MinMaxCurve;
|
|
4380
|
+
remapZMultiplier: number;
|
|
4381
|
+
scrollSpeedMultiplier: number;
|
|
4382
|
+
separateAxes: boolean;
|
|
4383
|
+
strengthMultiplier: number;
|
|
4384
|
+
strengthX: MinMaxCurve;
|
|
4385
|
+
strengthXMultiplier: number;
|
|
4386
|
+
strengthY: MinMaxCurve;
|
|
4387
|
+
strengthYMultiplier: number;
|
|
4388
|
+
strengthZ: MinMaxCurve;
|
|
4389
|
+
strengthZMultiplier: number;
|
|
4390
|
+
private _noise?;
|
|
4391
|
+
private _time;
|
|
4392
|
+
update(context: Context): void;
|
|
4393
|
+
/** nebula implementations: */
|
|
4394
|
+
private _temp;
|
|
4395
|
+
applyNoise(index: number, pos: Vec3, vel: Vec3, deltaTime: number, age: number, life: number): void;
|
|
4245
4396
|
}
|
|
4246
4397
|
}
|
|
4247
4398
|
declare module "engine-components/ParticleSystem" {
|
|
4248
4399
|
import { Behaviour } from "engine-components/Component";
|
|
4249
|
-
import
|
|
4250
|
-
import
|
|
4400
|
+
import { MainModule, EmissionModule, ShapeModule, ColorOverLifetimeModule, SizeOverLifetimeModule, NoiseModule } from "engine-components/ParticleSystemModules";
|
|
4401
|
+
import { SpriteMaterial } from "three";
|
|
4251
4402
|
export class ParticleSystemRenderer extends Behaviour {
|
|
4252
|
-
|
|
4253
|
-
getMesh(_index: number): THREE.Mesh | null;
|
|
4254
|
-
private sharedMaterial?;
|
|
4255
|
-
private mesh?;
|
|
4256
|
-
awake(): void;
|
|
4403
|
+
particleMaterial?: SpriteMaterial;
|
|
4257
4404
|
}
|
|
4258
4405
|
export class ParticleSystem extends Behaviour {
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
|
|
4266
|
-
private
|
|
4267
|
-
private
|
|
4268
|
-
private
|
|
4269
|
-
private activeCount;
|
|
4270
|
-
private shapeRotation;
|
|
4271
|
-
private tempVec3;
|
|
4272
|
-
private tempQuat;
|
|
4406
|
+
colorOverLifetime: ColorOverLifetimeModule;
|
|
4407
|
+
main: MainModule;
|
|
4408
|
+
emission: EmissionModule;
|
|
4409
|
+
sizeOverLifetime: SizeOverLifetimeModule;
|
|
4410
|
+
shape: ShapeModule;
|
|
4411
|
+
noise: NoiseModule;
|
|
4412
|
+
renderer: ParticleSystemRenderer;
|
|
4413
|
+
private _system;
|
|
4414
|
+
private _emitter;
|
|
4415
|
+
private _size;
|
|
4273
4416
|
awake(): void;
|
|
4274
4417
|
onEnable(): void;
|
|
4275
|
-
|
|
4276
|
-
|
|
4277
|
-
private updateOverLifetime;
|
|
4278
|
-
private assignPosition;
|
|
4279
|
-
private assignVelocity;
|
|
4418
|
+
onDisable(): void;
|
|
4419
|
+
onBeforeRender(): void;
|
|
4280
4420
|
}
|
|
4281
4421
|
}
|
|
4282
4422
|
declare module "engine/engine_coroutine" {
|
|
@@ -5556,9 +5696,15 @@ declare module "engine-components/codegen/components" {
|
|
|
5556
5696
|
export { OrbitControls } from "engine-components/OrbitControls";
|
|
5557
5697
|
export { ParticleSystemRenderer } from "engine-components/ParticleSystem";
|
|
5558
5698
|
export { ParticleSystem } from "engine-components/ParticleSystem";
|
|
5699
|
+
export { Gradient } from "engine-components/ParticleSystemModules";
|
|
5700
|
+
export { MinMaxCurve } from "engine-components/ParticleSystemModules";
|
|
5701
|
+
export { MinMaxGradient } from "engine-components/ParticleSystemModules";
|
|
5559
5702
|
export { MainModule } from "engine-components/ParticleSystemModules";
|
|
5560
5703
|
export { EmissionModule } from "engine-components/ParticleSystemModules";
|
|
5704
|
+
export { ColorOverLifetimeModule } from "engine-components/ParticleSystemModules";
|
|
5705
|
+
export { SizeOverLifetimeModule } from "engine-components/ParticleSystemModules";
|
|
5561
5706
|
export { ShapeModule } from "engine-components/ParticleSystemModules";
|
|
5707
|
+
export { NoiseModule } from "engine-components/ParticleSystemModules";
|
|
5562
5708
|
export { PlayerColor } from "engine-components/PlayerColor";
|
|
5563
5709
|
export { ReflectionProbe } from "engine-components/ReflectionProbe";
|
|
5564
5710
|
export { FieldWithDefault } from "engine-components/Renderer";
|