roavatar-renderer 1.5.7 → 1.5.8
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/dist/index.js +160 -69
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -30676,7 +30676,7 @@ class Instance {
|
|
|
30676
30676
|
}
|
|
30677
30677
|
if (FLAGS.SEARCH_FOR_STRING) {
|
|
30678
30678
|
if (property.typeID === DataType.String || property.typeID === DataType.Bytecode || property.typeID === DataType.SharedString) {
|
|
30679
|
-
if (value.toLowerCase().includes(FLAGS.SEARCH_FOR_STRING)) {
|
|
30679
|
+
if (value && value.toLowerCase().includes(FLAGS.SEARCH_FOR_STRING)) {
|
|
30680
30680
|
log(true, this.GetFullName());
|
|
30681
30681
|
log(true, value);
|
|
30682
30682
|
}
|
|
@@ -31402,7 +31402,7 @@ class RBX {
|
|
|
31402
31402
|
case "Content": {
|
|
31403
31403
|
const property = new Property();
|
|
31404
31404
|
property.name = propertyNode.getAttribute("name") || "null";
|
|
31405
|
-
property.typeID = DataType.
|
|
31405
|
+
property.typeID = DataType.Content;
|
|
31406
31406
|
instance.addProperty(property);
|
|
31407
31407
|
const childElement = propertyNode.querySelector(":scope > *");
|
|
31408
31408
|
if (childElement) {
|
|
@@ -31427,7 +31427,7 @@ class RBX {
|
|
|
31427
31427
|
case "bool": {
|
|
31428
31428
|
const property = new Property();
|
|
31429
31429
|
property.name = propertyNode.getAttribute("name") || "null";
|
|
31430
|
-
property.typeID = DataType.
|
|
31430
|
+
property.typeID = DataType.Bool;
|
|
31431
31431
|
instance.addProperty(property);
|
|
31432
31432
|
instance.setProperty(property.name, propertyNode.textContent.toLowerCase() === "true");
|
|
31433
31433
|
break;
|
|
@@ -31581,7 +31581,7 @@ class RBX {
|
|
|
31581
31581
|
case "NumberSequence": {
|
|
31582
31582
|
const property = new Property();
|
|
31583
31583
|
property.name = propertyNode.getAttribute("name") || "null";
|
|
31584
|
-
property.typeID = DataType.
|
|
31584
|
+
property.typeID = DataType.NumberSequence;
|
|
31585
31585
|
const values = propertyNode.textContent.split(" ");
|
|
31586
31586
|
const numberSequence = new NumberSequence();
|
|
31587
31587
|
for (let i = 0; i < Math.floor(values.length / 3); i++) {
|
|
@@ -31598,7 +31598,7 @@ class RBX {
|
|
|
31598
31598
|
case "ColorSequence": {
|
|
31599
31599
|
const property = new Property();
|
|
31600
31600
|
property.name = propertyNode.getAttribute("name") || "null";
|
|
31601
|
-
property.typeID = DataType.
|
|
31601
|
+
property.typeID = DataType.ColorSequence;
|
|
31602
31602
|
const values = propertyNode.textContent.split(" ");
|
|
31603
31603
|
const colorSequence = new ColorSequence();
|
|
31604
31604
|
for (let i = 0; i < Math.floor(values.length / 5); i++) {
|
|
@@ -32274,8 +32274,8 @@ const AssetTypes = [
|
|
|
32274
32274
|
"Audio",
|
|
32275
32275
|
"Mesh",
|
|
32276
32276
|
"Lua",
|
|
32277
|
-
"",
|
|
32278
|
-
"",
|
|
32277
|
+
"HTML",
|
|
32278
|
+
"Text",
|
|
32279
32279
|
"Hat",
|
|
32280
32280
|
"Place",
|
|
32281
32281
|
"Model",
|
|
@@ -32284,30 +32284,30 @@ const AssetTypes = [
|
|
|
32284
32284
|
"Decal",
|
|
32285
32285
|
"",
|
|
32286
32286
|
"",
|
|
32287
|
-
"",
|
|
32287
|
+
"Avatar",
|
|
32288
32288
|
"Head",
|
|
32289
32289
|
"Face",
|
|
32290
32290
|
"Gear",
|
|
32291
32291
|
"",
|
|
32292
32292
|
"Badge",
|
|
32293
|
-
"",
|
|
32293
|
+
"GroupEmblem",
|
|
32294
32294
|
"",
|
|
32295
32295
|
"Animation",
|
|
32296
|
-
"",
|
|
32297
|
-
"",
|
|
32296
|
+
"Arms",
|
|
32297
|
+
"Legs",
|
|
32298
32298
|
"Torso",
|
|
32299
32299
|
"RightArm",
|
|
32300
32300
|
"LeftArm",
|
|
32301
32301
|
"LeftLeg",
|
|
32302
32302
|
"RightLeg",
|
|
32303
32303
|
"Package",
|
|
32304
|
-
"",
|
|
32304
|
+
"YouTubeVideo",
|
|
32305
32305
|
"GamePass",
|
|
32306
|
+
"App",
|
|
32306
32307
|
"",
|
|
32307
|
-
"",
|
|
32308
|
-
"",
|
|
32308
|
+
"Code",
|
|
32309
32309
|
"Plugin",
|
|
32310
|
-
"",
|
|
32310
|
+
"SolidModel",
|
|
32311
32311
|
"MeshPart",
|
|
32312
32312
|
"HairAccessory",
|
|
32313
32313
|
"FaceAccessory",
|
|
@@ -32325,13 +32325,13 @@ const AssetTypes = [
|
|
|
32325
32325
|
"SwimAnimation",
|
|
32326
32326
|
"WalkAnimation",
|
|
32327
32327
|
"PoseAnimation",
|
|
32328
|
-
"EarAccessory",
|
|
32329
|
-
"EyeAccessory",
|
|
32330
32328
|
"",
|
|
32331
32329
|
"",
|
|
32330
|
+
"LocalizationTableManifest",
|
|
32331
|
+
"LocalizationTableTranslation",
|
|
32332
32332
|
"EmoteAnimation",
|
|
32333
32333
|
"Video",
|
|
32334
|
-
"",
|
|
32334
|
+
"TexturePack",
|
|
32335
32335
|
"TShirtAccessory",
|
|
32336
32336
|
"ShirtAccessory",
|
|
32337
32337
|
"PantsAccessory",
|
|
@@ -32342,24 +32342,26 @@ const AssetTypes = [
|
|
|
32342
32342
|
"RightShoeAccessory",
|
|
32343
32343
|
"DressSkirtAccessory",
|
|
32344
32344
|
"FontFamily",
|
|
32345
|
-
"",
|
|
32346
|
-
"",
|
|
32345
|
+
"FontFace",
|
|
32346
|
+
"MeshHiddenSurfaceRemoval",
|
|
32347
32347
|
"EyebrowAccessory",
|
|
32348
32348
|
"EyelashAccessory",
|
|
32349
32349
|
"MoodAnimation",
|
|
32350
32350
|
"DynamicHead",
|
|
32351
32351
|
//79
|
|
32352
|
-
"",
|
|
32353
|
-
"",
|
|
32354
|
-
"",
|
|
32355
|
-
"",
|
|
32356
|
-
"",
|
|
32357
|
-
"",
|
|
32358
|
-
"",
|
|
32359
|
-
"",
|
|
32352
|
+
"CodeSnippet",
|
|
32353
|
+
"AdsVideo",
|
|
32354
|
+
"OtaUpdate",
|
|
32355
|
+
"Screenshot",
|
|
32356
|
+
"RuntimePropertySet",
|
|
32357
|
+
"StorePreviewVideo",
|
|
32358
|
+
"GamePreviewVideo",
|
|
32359
|
+
"CreatorExperienceConfig",
|
|
32360
32360
|
"FaceMakeup",
|
|
32361
32361
|
"LipMakeup",
|
|
32362
|
-
"EyeMakeup"
|
|
32362
|
+
"EyeMakeup",
|
|
32363
|
+
"VoxelFragment",
|
|
32364
|
+
"AvatarBackground"
|
|
32363
32365
|
];
|
|
32364
32366
|
const WearableAssetTypes = [
|
|
32365
32367
|
"TShirt",
|
|
@@ -43762,14 +43764,19 @@ class _TextureComposer {
|
|
|
43762
43764
|
}
|
|
43763
43765
|
}
|
|
43764
43766
|
const TextureComposer = new _TextureComposer(1, 1);
|
|
43765
|
-
const vertexShader$5 =
|
|
43767
|
+
const vertexShader$5 = (
|
|
43768
|
+
/*glsl*/
|
|
43769
|
+
`
|
|
43766
43770
|
varying vec2 vUv;
|
|
43767
43771
|
void main() {
|
|
43768
43772
|
vUv = uv;
|
|
43769
43773
|
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
43770
43774
|
}
|
|
43771
|
-
|
|
43772
|
-
|
|
43775
|
+
`
|
|
43776
|
+
);
|
|
43777
|
+
const fragmentShader$5 = (
|
|
43778
|
+
/*glsl*/
|
|
43779
|
+
`
|
|
43773
43780
|
uniform sampler2D uTexture;
|
|
43774
43781
|
varying vec2 vUv;
|
|
43775
43782
|
void main() {
|
|
@@ -43777,7 +43784,8 @@ void main() {
|
|
|
43777
43784
|
vec4 texColor = texture2D(uTexture, vUv);
|
|
43778
43785
|
gl_FragColor = texColor;
|
|
43779
43786
|
}
|
|
43780
|
-
|
|
43787
|
+
`
|
|
43788
|
+
);
|
|
43781
43789
|
const Shader_TextureComposer_Flat = new ShaderMaterial({
|
|
43782
43790
|
uniforms: {
|
|
43783
43791
|
uTexture: { value: void 0 }
|
|
@@ -43787,7 +43795,9 @@ const Shader_TextureComposer_Flat = new ShaderMaterial({
|
|
|
43787
43795
|
depthWrite: false,
|
|
43788
43796
|
transparent: true
|
|
43789
43797
|
});
|
|
43790
|
-
const vertexShader$4 =
|
|
43798
|
+
const vertexShader$4 = (
|
|
43799
|
+
/*glsl*/
|
|
43800
|
+
`
|
|
43791
43801
|
uniform vec2 uOffset;
|
|
43792
43802
|
uniform vec2 uSize;
|
|
43793
43803
|
varying vec2 vUv;
|
|
@@ -43796,8 +43806,11 @@ void main() {
|
|
|
43796
43806
|
vec2 mapUv = vec2(uv.x * uSize.x + uOffset.x, uv.y * uSize.y + uOffset.y);
|
|
43797
43807
|
gl_Position = vec4(mapUv.x * 2.0 - 1.0, mapUv.y * 2.0 - 1.0, 0.0, 1.0);
|
|
43798
43808
|
}
|
|
43799
|
-
|
|
43800
|
-
|
|
43809
|
+
`
|
|
43810
|
+
);
|
|
43811
|
+
const fragmentShader$4 = (
|
|
43812
|
+
/*glsl*/
|
|
43813
|
+
`
|
|
43801
43814
|
uniform sampler2D uTexture;
|
|
43802
43815
|
varying vec2 vUv;
|
|
43803
43816
|
void main() {
|
|
@@ -43805,7 +43818,8 @@ void main() {
|
|
|
43805
43818
|
vec4 texColor = texture2D(uTexture, vUv);
|
|
43806
43819
|
gl_FragColor = texColor;
|
|
43807
43820
|
}
|
|
43808
|
-
|
|
43821
|
+
`
|
|
43822
|
+
);
|
|
43809
43823
|
const Shader_TextureComposer_FullscreenQuad = new ShaderMaterial({
|
|
43810
43824
|
uniforms: {
|
|
43811
43825
|
uTexture: { value: void 0 },
|
|
@@ -43817,17 +43831,23 @@ const Shader_TextureComposer_FullscreenQuad = new ShaderMaterial({
|
|
|
43817
43831
|
depthWrite: false,
|
|
43818
43832
|
transparent: true
|
|
43819
43833
|
});
|
|
43820
|
-
const vertexShader$3 =
|
|
43834
|
+
const vertexShader$3 = (
|
|
43835
|
+
/*glsl*/
|
|
43836
|
+
`
|
|
43821
43837
|
void main() {
|
|
43822
43838
|
gl_Position = vec4(uv.x * 2.0 - 1.0, uv.y * 2.0 - 1.0, 0.0, 1.0);
|
|
43823
43839
|
}
|
|
43824
|
-
|
|
43825
|
-
|
|
43840
|
+
`
|
|
43841
|
+
);
|
|
43842
|
+
const fragmentShader$3 = (
|
|
43843
|
+
/*glsl*/
|
|
43844
|
+
`
|
|
43826
43845
|
uniform vec3 uColor;
|
|
43827
43846
|
void main() {
|
|
43828
43847
|
gl_FragColor = vec4(uColor, 1.0);
|
|
43829
43848
|
}
|
|
43830
|
-
|
|
43849
|
+
`
|
|
43850
|
+
);
|
|
43831
43851
|
const Shader_TextureComposer_FullscreenQuad_Color = new ShaderMaterial({
|
|
43832
43852
|
uniforms: {
|
|
43833
43853
|
uColor: { value: new Color(0, 0, 0) }
|
|
@@ -43837,17 +43857,23 @@ const Shader_TextureComposer_FullscreenQuad_Color = new ShaderMaterial({
|
|
|
43837
43857
|
depthWrite: false,
|
|
43838
43858
|
transparent: true
|
|
43839
43859
|
});
|
|
43840
|
-
const vertexShader$2 =
|
|
43860
|
+
const vertexShader$2 = (
|
|
43861
|
+
/*glsl*/
|
|
43862
|
+
`
|
|
43841
43863
|
void main() {
|
|
43842
43864
|
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
43843
43865
|
}
|
|
43844
|
-
|
|
43845
|
-
|
|
43866
|
+
`
|
|
43867
|
+
);
|
|
43868
|
+
const fragmentShader$2 = (
|
|
43869
|
+
/*glsl*/
|
|
43870
|
+
`
|
|
43846
43871
|
uniform vec3 uColor;
|
|
43847
43872
|
void main() {
|
|
43848
43873
|
gl_FragColor = vec4(uColor, 1.0);
|
|
43849
43874
|
}
|
|
43850
|
-
|
|
43875
|
+
`
|
|
43876
|
+
);
|
|
43851
43877
|
const Shader_TextureComposer_Flat_Color = new ShaderMaterial({
|
|
43852
43878
|
uniforms: {
|
|
43853
43879
|
uColor: { value: new Color(0, 0, 0) }
|
|
@@ -43857,7 +43883,9 @@ const Shader_TextureComposer_Flat_Color = new ShaderMaterial({
|
|
|
43857
43883
|
depthWrite: false,
|
|
43858
43884
|
transparent: true
|
|
43859
43885
|
});
|
|
43860
|
-
const vertexShader$1 =
|
|
43886
|
+
const vertexShader$1 = (
|
|
43887
|
+
/*glsl*/
|
|
43888
|
+
`
|
|
43861
43889
|
uniform mat4 uTextureProjMat;
|
|
43862
43890
|
|
|
43863
43891
|
varying vec2 vUv;
|
|
@@ -43870,8 +43898,11 @@ void main() {
|
|
|
43870
43898
|
vNormal = normalize(normalMatrix * normal);
|
|
43871
43899
|
gl_Position = vec4(uv.x * 2.0 - 1.0, uv.y * 2.0 - 1.0, 0.0, 1.0);
|
|
43872
43900
|
}
|
|
43873
|
-
|
|
43874
|
-
|
|
43901
|
+
`
|
|
43902
|
+
);
|
|
43903
|
+
const fragmentShader$1 = (
|
|
43904
|
+
/*glsl*/
|
|
43905
|
+
`
|
|
43875
43906
|
uniform sampler2D uTexture;
|
|
43876
43907
|
uniform vec3 uDecalNormal;
|
|
43877
43908
|
|
|
@@ -43897,7 +43928,8 @@ void main() {
|
|
|
43897
43928
|
vec4 texColor = texture2D(uTexture, vTextureProjCoord);
|
|
43898
43929
|
gl_FragColor = texColor;
|
|
43899
43930
|
}
|
|
43900
|
-
|
|
43931
|
+
`
|
|
43932
|
+
);
|
|
43901
43933
|
const Shader_TextureComposer_Decal = new ShaderMaterial({
|
|
43902
43934
|
uniforms: {
|
|
43903
43935
|
uTexture: { value: void 0 },
|
|
@@ -43909,7 +43941,9 @@ const Shader_TextureComposer_Decal = new ShaderMaterial({
|
|
|
43909
43941
|
depthWrite: false,
|
|
43910
43942
|
transparent: true
|
|
43911
43943
|
});
|
|
43912
|
-
const vertexShader =
|
|
43944
|
+
const vertexShader = (
|
|
43945
|
+
/*glsl*/
|
|
43946
|
+
`
|
|
43913
43947
|
uniform vec2 uOffset;
|
|
43914
43948
|
uniform vec2 uSize;
|
|
43915
43949
|
varying vec2 vUv;
|
|
@@ -43918,10 +43952,22 @@ void main() {
|
|
|
43918
43952
|
vec2 mapUv = vec2(uv.x * uSize.x + uOffset.x, uv.y * uSize.y + uOffset.y);
|
|
43919
43953
|
gl_Position = vec4(mapUv.x * 2.0 - 1.0, mapUv.y * 2.0 - 1.0, 0.0, 1.0);
|
|
43920
43954
|
}
|
|
43921
|
-
|
|
43922
|
-
|
|
43955
|
+
`
|
|
43956
|
+
);
|
|
43957
|
+
const fragmentShader = (
|
|
43958
|
+
/*glsl*/
|
|
43959
|
+
`
|
|
43923
43960
|
uniform sampler2D uTexture;
|
|
43924
43961
|
varying vec2 vUv;
|
|
43962
|
+
|
|
43963
|
+
vec3 sRGBToLinear(vec3 color) {
|
|
43964
|
+
return mix(
|
|
43965
|
+
color / 12.92,
|
|
43966
|
+
pow((color + 0.055) / 1.055, vec3(2.4)),
|
|
43967
|
+
step(0.04045, color)
|
|
43968
|
+
);
|
|
43969
|
+
}
|
|
43970
|
+
|
|
43925
43971
|
void main() {
|
|
43926
43972
|
//sample the original render texture result
|
|
43927
43973
|
vec4 texColor = texture2D(uTexture, vUv);
|
|
@@ -43931,9 +43977,10 @@ void main() {
|
|
|
43931
43977
|
}
|
|
43932
43978
|
|
|
43933
43979
|
//convert to linear
|
|
43934
|
-
gl_FragColor = vec4(
|
|
43980
|
+
gl_FragColor = vec4(sRGBToLinear(texColor.rgb), texColor.a);
|
|
43935
43981
|
}
|
|
43936
|
-
|
|
43982
|
+
`
|
|
43983
|
+
);
|
|
43937
43984
|
const Shader_TextureComposer_Gamma = new ShaderMaterial({
|
|
43938
43985
|
uniforms: {
|
|
43939
43986
|
uTexture: { value: void 0 },
|
|
@@ -49381,7 +49428,9 @@ const __vite_glob_0_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.def
|
|
|
49381
49428
|
__proto__: null,
|
|
49382
49429
|
AttachmentDesc
|
|
49383
49430
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
49384
|
-
const particle_vertexShader =
|
|
49431
|
+
const particle_vertexShader = (
|
|
49432
|
+
/*glsl*/
|
|
49433
|
+
`
|
|
49385
49434
|
attribute vec3 instanceColor;
|
|
49386
49435
|
attribute vec3 instanceSeedTime;
|
|
49387
49436
|
attribute float instanceOpacity;
|
|
@@ -49406,13 +49455,18 @@ void main() {
|
|
|
49406
49455
|
|
|
49407
49456
|
vec4 modelViewPosition = modelViewMatrix * instanceMatrix * vec4(position, 1.0);
|
|
49408
49457
|
|
|
49458
|
+
//offset position toward camera
|
|
49409
49459
|
vec3 viewDir = normalize(modelViewPosition.xyz);
|
|
49410
49460
|
modelViewPosition.xyz += viewDir * -uZOffset;
|
|
49411
49461
|
|
|
49412
49462
|
gl_Position = projectionMatrix * modelViewPosition;
|
|
49413
49463
|
}
|
|
49414
|
-
|
|
49415
|
-
|
|
49464
|
+
`
|
|
49465
|
+
);
|
|
49466
|
+
const particle_fragmentShader = (
|
|
49467
|
+
/*glsl*/
|
|
49468
|
+
`
|
|
49469
|
+
//artibutes
|
|
49416
49470
|
varying vec2 vUv;
|
|
49417
49471
|
varying vec3 vInstanceColor;
|
|
49418
49472
|
varying float vInstanceOpacity;
|
|
@@ -49420,12 +49474,25 @@ varying vec3 vInstanceSeedTime;
|
|
|
49420
49474
|
varying vec2 vFlipbookUv0;
|
|
49421
49475
|
varying vec2 vFlipbookUv1;
|
|
49422
49476
|
|
|
49477
|
+
//textures
|
|
49423
49478
|
uniform sampler2D uColorMap;
|
|
49424
49479
|
uniform sampler2D uAlphaMap;
|
|
49425
49480
|
uniform sampler2D uMap;
|
|
49481
|
+
|
|
49482
|
+
//uniforms
|
|
49483
|
+
uniform float uLightInfluence;
|
|
49426
49484
|
uniform float uOpacity;
|
|
49427
49485
|
uniform vec2 uFlipbookSize;
|
|
49428
49486
|
|
|
49487
|
+
//light uniforms
|
|
49488
|
+
struct DirectionalLight {
|
|
49489
|
+
vec3 direction;
|
|
49490
|
+
vec3 color;
|
|
49491
|
+
};
|
|
49492
|
+
uniform DirectionalLight directionalLights[NUM_DIR_LIGHTS];
|
|
49493
|
+
|
|
49494
|
+
uniform vec3 ambientLightColor;
|
|
49495
|
+
|
|
49429
49496
|
void main() {
|
|
49430
49497
|
float seed = vInstanceSeedTime.x;
|
|
49431
49498
|
float time = vInstanceSeedTime.y;
|
|
@@ -49453,12 +49520,25 @@ void main() {
|
|
|
49453
49520
|
vec4 finalColor = opacityColor;
|
|
49454
49521
|
finalColor.rgb = mix(opacityColor.rgb, opacityColor.rgb * colorTex.rgb, colorTex.a);
|
|
49455
49522
|
|
|
49523
|
+
// Apply lighting
|
|
49524
|
+
vec3 light = ambientLightColor;
|
|
49525
|
+
#if NUM_DIR_LIGHTS > 0
|
|
49526
|
+
for (int i = 0; i < NUM_DIR_LIGHTS; i++) {
|
|
49527
|
+
light += directionalLights[i].color;
|
|
49528
|
+
}
|
|
49529
|
+
#endif
|
|
49530
|
+
|
|
49531
|
+
finalColor = vec4(mix(finalColor.rgb, finalColor.rgb * light, uLightInfluence), finalColor.a);
|
|
49532
|
+
|
|
49456
49533
|
gl_FragColor = finalColor;
|
|
49457
49534
|
}
|
|
49458
|
-
|
|
49535
|
+
`
|
|
49536
|
+
);
|
|
49459
49537
|
const particle_fragmentShader_additive = particle_fragmentShader.replace(
|
|
49460
49538
|
"//#ADDITIVE_INSERT",
|
|
49461
|
-
|
|
49539
|
+
/*glsl*/
|
|
49540
|
+
`
|
|
49541
|
+
if (opacityColor.r + opacityColor.g + opacityColor.b <= 0.05) {
|
|
49462
49542
|
discard;
|
|
49463
49543
|
}`
|
|
49464
49544
|
);
|
|
@@ -49624,6 +49704,7 @@ class EmitterDesc extends DisposableDesc {
|
|
|
49624
49704
|
shapeInOut = 0;
|
|
49625
49705
|
opacity = 1;
|
|
49626
49706
|
lightEmission = 1;
|
|
49707
|
+
lightInfluence = 0;
|
|
49627
49708
|
blending = AdditiveBlending;
|
|
49628
49709
|
color = new ColorSequence();
|
|
49629
49710
|
size = new NumberSequence();
|
|
@@ -49660,7 +49741,7 @@ class EmitterDesc extends DisposableDesc {
|
|
|
49660
49741
|
return this.texture === other.texture && this.alphaTexture === other.alphaTexture && this.colorTexture === other.colorTexture && this.rate === other.rate;
|
|
49661
49742
|
}
|
|
49662
49743
|
isSame(other) {
|
|
49663
|
-
return !this.needsRegeneration(other) && this.lockedToPart === other.lockedToPart && this.lifetime.isSame(other.lifetime) && this.spreadAngle.isSame(other.spreadAngle) && this.speed.isSame(other.speed) && this.rotation.isSame(other.rotation) && this.rotationSpeed.isSame(other.rotationSpeed) && this.localAcceleration.isSame(other.localAcceleration) && this.acceleration.isSame(other.acceleration) && this.drag === other.drag && this.timeScale === other.timeScale && this.orientation === other.orientation && this.zOffset === other.zOffset && this.offset.isSame(other.offset) && this.shapeInOut === other.shapeInOut && this.opacity === other.opacity && this.lightEmission === other.lightEmission && this.blending === other.blending && this.color.isSame(other.color) && this.size.isSame(other.size) && this.squash.isSame(other.squash) && this.transparency.isSame(other.transparency) && this.normalizeSizeKeypointTime === other.normalizeSizeKeypointTime && this.flipbookLayout === other.flipbookLayout && this.flipbookBlendFrames === other.flipbookBlendFrames && this.flipbookFramerate.isSame(other.flipbookFramerate) && this.flipbookMode === other.flipbookMode && this.flipbookSizeX === other.flipbookSizeX && this.flipbookSizeY === other.flipbookSizeY && this.flipbookStartRandom === other.flipbookStartRandom;
|
|
49744
|
+
return !this.needsRegeneration(other) && this.lockedToPart === other.lockedToPart && this.lifetime.isSame(other.lifetime) && this.spreadAngle.isSame(other.spreadAngle) && this.speed.isSame(other.speed) && this.rotation.isSame(other.rotation) && this.rotationSpeed.isSame(other.rotationSpeed) && this.localAcceleration.isSame(other.localAcceleration) && this.acceleration.isSame(other.acceleration) && this.drag === other.drag && this.timeScale === other.timeScale && this.orientation === other.orientation && this.zOffset === other.zOffset && this.offset.isSame(other.offset) && this.shapeInOut === other.shapeInOut && this.opacity === other.opacity && this.lightEmission === other.lightEmission && this.lightInfluence === other.lightInfluence && this.blending === other.blending && this.color.isSame(other.color) && this.size.isSame(other.size) && this.squash.isSame(other.squash) && this.transparency.isSame(other.transparency) && this.normalizeSizeKeypointTime === other.normalizeSizeKeypointTime && this.flipbookLayout === other.flipbookLayout && this.flipbookBlendFrames === other.flipbookBlendFrames && this.flipbookFramerate.isSame(other.flipbookFramerate) && this.flipbookMode === other.flipbookMode && this.flipbookSizeX === other.flipbookSizeX && this.flipbookSizeY === other.flipbookSizeY && this.flipbookStartRandom === other.flipbookStartRandom;
|
|
49664
49745
|
}
|
|
49665
49746
|
fromEmitterDesc(other) {
|
|
49666
49747
|
this.lockedToPart = other.lockedToPart;
|
|
@@ -49680,6 +49761,7 @@ class EmitterDesc extends DisposableDesc {
|
|
|
49680
49761
|
this.shapeInOut = other.shapeInOut;
|
|
49681
49762
|
this.opacity = other.opacity;
|
|
49682
49763
|
this.lightEmission = other.lightEmission;
|
|
49764
|
+
this.lightInfluence = other.lightInfluence;
|
|
49683
49765
|
this.blending = other.blending;
|
|
49684
49766
|
this.color = other.color.clone();
|
|
49685
49767
|
this.size = other.size.clone();
|
|
@@ -49777,16 +49859,21 @@ class EmitterDesc extends DisposableDesc {
|
|
|
49777
49859
|
side: DoubleSide,
|
|
49778
49860
|
blending: this.blending,
|
|
49779
49861
|
opacity: this.opacity,
|
|
49862
|
+
lights: true,
|
|
49780
49863
|
vertexShader: particle_vertexShader,
|
|
49781
49864
|
fragmentShader: this.blending === AdditiveBlending ? particle_fragmentShader_additive : particle_fragmentShader,
|
|
49782
|
-
uniforms:
|
|
49783
|
-
|
|
49784
|
-
|
|
49785
|
-
|
|
49786
|
-
|
|
49787
|
-
|
|
49788
|
-
|
|
49789
|
-
|
|
49865
|
+
uniforms: UniformsUtils.merge([
|
|
49866
|
+
UniformsLib.lights,
|
|
49867
|
+
{
|
|
49868
|
+
uMap: { value: mapToUse },
|
|
49869
|
+
uAlphaMap: { value: alphaMapToUse },
|
|
49870
|
+
uColorMap: { value: colorMapToUse },
|
|
49871
|
+
uLightInfluence: { value: this.lightInfluence },
|
|
49872
|
+
uOpacity: { value: this.opacity },
|
|
49873
|
+
uZOffset: { value: this.zOffset },
|
|
49874
|
+
uFlipbookSize: { value: new Vector2$1(1 / flipbookSizeX, 1 / flipbookSizeY) }
|
|
49875
|
+
}
|
|
49876
|
+
])
|
|
49790
49877
|
});
|
|
49791
49878
|
this.resultMaterial = material;
|
|
49792
49879
|
this.result = new InstancedMesh(geometry, material, this.maxCount);
|
|
@@ -49879,7 +49966,9 @@ class EmitterDesc extends DisposableDesc {
|
|
|
49879
49966
|
if (this.resultMaterial) {
|
|
49880
49967
|
this.resultMaterial.uniforms.uOpacity.value = this.opacity;
|
|
49881
49968
|
this.resultMaterial.uniforms.uZOffset.value = this.zOffset;
|
|
49969
|
+
this.resultMaterial.uniforms.uLightInfluence.value = this.lightInfluence;
|
|
49882
49970
|
this.resultMaterial.uniforms.uFlipbookSize.value.set(1 / flipbookSizeX, 1 / flipbookSizeY);
|
|
49971
|
+
this.resultMaterial.needsUpdate = true;
|
|
49883
49972
|
}
|
|
49884
49973
|
for (let i = 0; i < this.result.count; i++) {
|
|
49885
49974
|
const particle = this.particles[i];
|
|
@@ -50061,6 +50150,7 @@ class EmitterGroupDesc extends RenderDesc {
|
|
|
50061
50150
|
if (child.HasProperty("Transparency")) emitterDesc.transparency = child.Prop("Transparency");
|
|
50062
50151
|
if (child.HasProperty("LightEmission")) emitterDesc.lightEmission = child.Prop("LightEmission");
|
|
50063
50152
|
emitterDesc.blending = emitterDesc.lightEmission === 0 ? NormalBlending : AdditiveBlending;
|
|
50153
|
+
if (child.HasProperty("LightInfluence")) emitterDesc.lightInfluence = child.Prop("LightInfluence");
|
|
50064
50154
|
if (child.HasProperty("ZOffset")) emitterDesc.zOffset = child.Prop("ZOffset");
|
|
50065
50155
|
if (child.HasProperty("Orientation")) emitterDesc.orientation = child.Prop("Orientation");
|
|
50066
50156
|
if (child.HasProperty("LockedToPart")) emitterDesc.lockedToPart = child.Prop("LockedToPart");
|
|
@@ -50179,7 +50269,8 @@ class EmitterGroupDesc extends RenderDesc {
|
|
|
50179
50269
|
lifetime: new NumberRange(5, 5),
|
|
50180
50270
|
timeScale,
|
|
50181
50271
|
color: ColorSequence.fromColor(color),
|
|
50182
|
-
blending: NormalBlending
|
|
50272
|
+
blending: NormalBlending,
|
|
50273
|
+
lightInfluence: 1
|
|
50183
50274
|
}));
|
|
50184
50275
|
}
|
|
50185
50276
|
dispose(renderer, scene) {
|