Prechádzať zdrojové kódy

Merge branch 'master' of https://github.com/BabylonJS/Babylon.js

sebavan 4 rokov pred
rodič
commit
9a92e036be

+ 1 - 0
dist/preview release/what's new.md

@@ -81,6 +81,7 @@
 - Fix lens flares not working in right handed system ([Popov72](https://github.com/Popov72))
 - Fix canvas not resized correctly in a multi-canvas scenario ([Popov72](https://github.com/Popov72))
 - Fix NaN values returned by `GetAngleBetweenVectors` when vectors are the same or directly opposite ([Popov72](https://github.com/Popov72))
+- Fix 404 occurring on some pictures in some cases when using particle systems ([Popov72](https://github.com/Popov72))
 
 ## Breaking changes
 

+ 1 - 0
src/Particles/baseParticleSystem.ts

@@ -190,6 +190,7 @@ export class BaseParticleSystem {
      */
     public preventAutoStart: boolean = false;
 
+    protected _rootUrl = "";
     private _noiseTexture: Nullable<ProceduralTexture>;
 
     /**

+ 2 - 1
src/Particles/gpuParticleSystem.ts

@@ -1707,7 +1707,7 @@ export class GPUParticleSystem extends BaseParticleSystem implements IDisposable
      */
     public clone(name: string, newEmitter: any): GPUParticleSystem {
         let serialization = this.serialize();
-        var result = GPUParticleSystem.Parse(serialization, this._scene || this._engine, "");
+        var result = GPUParticleSystem.Parse(serialization, this._scene || this._engine, this._rootUrl);
         var custom = { ...this._customEffect };
         result.name = name;
         result._customEffect = custom;
@@ -1749,6 +1749,7 @@ export class GPUParticleSystem extends BaseParticleSystem implements IDisposable
     public static Parse(parsedParticleSystem: any, sceneOrEngine: Scene | ThinEngine, rootUrl: string, doNotStart = false): GPUParticleSystem {
         var name = parsedParticleSystem.name;
         var particleSystem = new GPUParticleSystem(name, { capacity: parsedParticleSystem.capacity, randomTextureSize: parsedParticleSystem.randomTextureSize }, sceneOrEngine);
+        particleSystem._rootUrl = rootUrl;
 
         if (parsedParticleSystem.activeParticleCount) {
             particleSystem.activeParticleCount = parsedParticleSystem.activeParticleCount;

+ 2 - 1
src/Particles/particleSystem.ts

@@ -2130,7 +2130,7 @@ export class ParticleSystem extends BaseParticleSystem implements IDisposable, I
         }
 
         let serialization = this.serialize();
-        var result = ParticleSystem.Parse(serialization, this._scene || this._engine, "");
+        var result = ParticleSystem.Parse(serialization, this._scene || this._engine, this._rootUrl);
         result.name = name;
         result.customShader = program;
         result._customEffect = custom;
@@ -2768,6 +2768,7 @@ export class ParticleSystem extends BaseParticleSystem implements IDisposable, I
         }
         var particleSystem = new ParticleSystem(name, parsedParticleSystem.capacity, sceneOrEngine, custom, parsedParticleSystem.isAnimationSheetEnabled);
         particleSystem.customShader = program;
+        particleSystem._rootUrl = rootUrl;
 
         if (parsedParticleSystem.id) {
             particleSystem.id = parsedParticleSystem.id;