如何

背景材料


背景材料

介绍

由于场景中并非总是需要完全照明的材料。我们正在引入一种新的不发光且快速的材料,以帮助解决您使用标准或PBR材料可能遇到的限制。

背景材料完全没有照明,但是仍然可以接收阴影或接受图像处理信息。这使其最适合用作天窗或地面材料。

background

扩散

漫反射部分仅用于为网格赋予颜色。

backgroundMaterial.diffuseTexture = new BABYLON.Texture("textures/grass.jpg", scene);

您可以在此处看到 实时版本 -


暗影

该材料即使没有光照也能够接收阴影。\ o /这实际上是其优势之一,使其对地面确实具有吸引力。如果你想暗淡阴影的量,你也可以使用专用的属性:

backgroundMaterial.shadowLevel = 0.4;

您可以在此处看到 实时版本 -


不透明度

您可能想制作一个透明的地面,如果漫反射纹理包含一些透明度信息,它们将被材质使用。

backgroundMaterial.diffuseTexture.hasAlpha = true;

您可以在此处看到实时版本 -


不透明菲涅耳

此外,默认情况下,地上会消失,因为你的眼睛接近与它保持一致。这可以防止一个严酷的切场景导航。可以通过以下方式禁用它:

backgroundMaterial.opacityFresnel = false;

您可以在此处看到 实时版本 -


反射

未照明的材料非常适合创建天空盒。您可以像使用标准材质一样设置反射纹理:

backgroundMaterial.reflectionTexture = new BABYLON.CubeTexture("textures/TropicalSunnyDay", scene);
backgroundMaterial.reflectionTexture.coordinatesMode = BABYLON.Texture.SKYBOX_MODE;

您可以在此处看到实时版本 -


镜子

由于可以将反射与标准材料进行比较,因此使用反射镜的方式也相同。

var mirror = new BABYLON.MirrorTexture("mirror", 512, scene);
mirror.mirrorPlane = new BABYLON.Plane(0, -1, 0, 0);
mirror.renderList.push(sphere);

backgroundMaterial.reflectionTexture = mirror;

您可以在此处看到实时版本 -


反射菲涅耳

由于我们可以同时使用反射和漫反射,因此反射菲涅尔可以帮助您更加沉浸在体验中:

var backgroundMaterial = new BABYLON.BackgroundMaterial("backgroundMaterial", scene);
backgroundMaterial.diffuseTexture = new BABYLON.Texture("https://assets.babylonjs.com/environments/backgroundGround.png", scene);
backgroundMaterial.diffuseTexture.hasAlpha = true;
backgroundMaterial.opacityFresnel = false;
backgroundMaterial.shadowLevel = 0.4;

var mirror = new BABYLON.MirrorTexture("mirror", 512, scene);
mirror.mirrorPlane = new BABYLON.Plane(0, -1, 0, 0);
mirror.renderList.push(sphere);
backgroundMaterial.reflectionTexture = mirror;
backgroundMaterial.reflectionFresnel = true;
backgroundMaterial.reflectionStandardFresnelWeight = 0.8;

ground.material = backgroundMaterial;

您可以在此处看到实时版本 -


杂项和颜色

由于我们不时需要的只是颜色,因此您可以将纹理用作灰度信息以与颜色混合。

backgroundMaterial.useRGBColor = false;
backgroundMaterial.primaryColor = BABYLON.Color3.Magenta();

您可以在此处看到 实时版本 -


环境

更进一步,您可以查看环境文档 ,在其中可以找到有关如何通过天空盒和地面加快场景设置的信息。