优化:实体半透明时穿透阳光

pull/1920/head
ChenX 2 years ago
parent eb32933ae4
commit a20f5b7235

@ -222,7 +222,15 @@ export class EntityRef extends Entity
if (Array.isArray(o.material))
o.material = await Promise.all(o.material.map(GenMaterial));
else
{
o.material = await GenMaterial(o.material);
let mtl = o.material as MeshPhysicalMaterial;
if (mtl.transparent)
{
o.castShadow = false;
o.receiveShadow = false;
}
}
gen.GenUV(o);

@ -1627,7 +1627,7 @@ export class ExtrudeSolid extends Entity
let mesh = new Mesh(this.MeshGeometry, this.MeshMaterial);
mesh.castShadow = this.MeshMaterial.opacity === 1;
mesh.receiveShadow = true;
mesh.receiveShadow = mesh.castShadow;
return mesh;
}
@ -1642,8 +1642,9 @@ export class ExtrudeSolid extends Entity
else if (renderType === RenderType.Physical2)
{
let mesh = new Mesh(this.MeshGeometry, this.MeshMaterial);
mesh.castShadow = true;
mesh.receiveShadow = true;
mesh.castShadow = this.MeshMaterial.opacity === 1;
mesh.receiveShadow = mesh.castShadow;
return new Object3D().add(
mesh,
@ -2023,8 +2024,9 @@ export class ExtrudeSolid extends Entity
else if (renderType === RenderType.Physical2)
{
let mesh = new Mesh(this.MeshGeometry, this.MeshMaterial);
mesh.castShadow = true;
mesh.receiveShadow = true;
mesh.castShadow = this.MeshMaterial.opacity === 1;
mesh.receiveShadow = mesh.castShadow;
return obj.add(
mesh,
@ -2053,6 +2055,9 @@ export class ExtrudeSolid extends Entity
{
let mesh = obj as Mesh;
mesh.material = this.MeshMaterial;
mesh.castShadow = this.MeshMaterial.opacity === 1;
mesh.receiveShadow = mesh.castShadow;
}
}

Loading…
Cancel
Save