ソースを参照

Effect.effect returns the overriden effect existing, else _materialEffect

Popov72 5 年 前
コミット
d2960d7c8c

+ 1 - 1
src/Materials/PBR/pbrBaseMaterial.ts

@@ -1618,7 +1618,7 @@ export abstract class PBRBaseMaterial extends PushMaterial {
             return;
         }
 
-        var effect = subMesh._effectOverride ?? subMesh.effect;
+        var effect = subMesh.effect;
 
         if (!effect) {
             return;

+ 1 - 1
src/Materials/shaderMaterial.ts

@@ -655,7 +655,7 @@ export class ShaderMaterial extends Material {
      * @param subMesh defines the submesh to bind the material to
      */
     public bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void {
-        this.bind(world, mesh, subMesh._effectOverride ?? this._effect);
+        this.bind(world, mesh, subMesh._effectOverride);
     }
 
     /**

+ 1 - 1
src/Materials/standardMaterial.ts

@@ -1299,7 +1299,7 @@ export class StandardMaterial extends PushMaterial {
             return;
         }
 
-        var effect = subMesh._effectOverride ?? subMesh.effect;
+        var effect = subMesh.effect;
         if (!effect) {
             return;
         }

+ 1 - 1
src/Meshes/subMesh.ts

@@ -48,7 +48,7 @@ export class BaseSubMesh {
      * Gets associated effect
      */
     public get effect(): Nullable<Effect> {
-        return this._materialEffect;
+        return this._effectOverride ?? this._materialEffect;
     }
 
     /**