使用HDR环境(用于PBR)
介绍
如您之前所见, 强烈建议您设置环境纹理的方法是通过HDR就绪文件(DDS或ENV),该文件包含带有预过滤的MipMap的多维数据集纹理。
scene.createDefaultEnvironment();
这将从asset.babylonjs.com加载文件environmentSpecular.env。
要加载自定义HDR纹理,只需设置scene.environmentTexture:
var hdrTexture = new BABYLON.CubeTexture.CreateFromPrefilteredData("textures/environment.dds", scene);
hdrTexture.gammaSpace = false;
scene.environmentTexture = hdrTexture;
下面将详细介绍创建此类文件的两种受支持的方式。第一个依赖于名为IBL Baker的开源框架,而第二个则基于名为Lys的专有软件来创建更高的分辨率结果。
请注意,如果需要,可以旋转您的environmentTexture:
var hdrRotation = 10; // in degrees
hdrTexture.setReflectionTextureMatrix(
BABYLON.Matrix.RotationY(
BABYLON.Tools.ToRadians(hdrRotation)
)
);
从IBL Baker创建dds环境文件
克隆存储库后,您将可以转到/bin64文件夹并启动IBLBaker.exe。
现在使用Load envir