Babylon.js 第25章 物理渲染

这篇博客详细介绍了PBR(基于物理的渲染)材质的两种表现方式——金属粗糙度和镜面光泽度。通过 BABYLON.js 的示例代码,解释了如何设置基础颜色、金属度、粗糙度、环境纹理等参数,以及如何使用金属粗糙度纹理和镜面光泽度纹理来控制材质的视觉效果。
摘要由CSDN通过智能技术生成

PBR金属材料

  • baseColor / baseTexture:基础颜色根据金属度的值有两种不同的解释。当材料是金属时,基色是在法向入射 (F0) 下测得的特定反射率值。对于非金属,基色表示材料反射的漫反射颜色。
  • metal:指定材质的金属标量值。也可用于缩放金属纹理的金属度值。
  • roughness:指定材质的粗糙度标量值。也可用于缩放金属纹理的粗糙度值。
  • metalRoughnessTexture:同时包含 B 通道中的金属值和 G 通道中的粗糙度值的纹理,以保持更好的精度。环境光遮挡也可以保存在 R 通道中。
  • environmentTexture:环境纹理
    let pbr=new BABYLON.PBRMetallicRoughnessMaterial('pbr',scene)
    pbr.baseColor=new BABYLON.Color3.Green()
    pbr.metallic=1
    pbr.roughness=0.6
    pbr.diffuseColor = new BABYLON.Color3(1.0, 0.766, 0.336);
    pbr.specularColor = new BABYLON.Color3(1.0, 0.766, 0.336);
    pbr.metallicRoughnessTexture = new BABYLON.Texture("../img/4.png", scene);
    pbr.specularGlossinessTexture = new BABYLON.Texture("../img/5.png", scene);
    
    pbr.environmentTexture=BABYLON.CubeTexture.CreateFromPrefilteredData(
        '../img/sun.dds',
        scene
    )
    sphere.material=pbr

 PBR镜面光泽度

  • diffuseColor/diffuseTexture:指定材质的漫反射颜色。
  • specularColor:指定材质的镜面反射颜色。这表明材料的反射性(无反射)。
  • glossiness:指定材质的光泽度。这表明“反射有多尖锐”。
  • specularGlossinessTexture:指定每像素材质的镜面反射颜色 RGB 和光泽度 A。
  • environmentTexture:环境纹理
var pbr = new BABYLON.PBRSpecularGlossinessMaterial("pbr", scene);
pbr.diffuseColor = new BABYLON.Color3(1.0, 0.766, 0.336);
pbr.specularColor = new BABYLON.Color3(1.0, 0.766, 0.336);
pbr.glossiness = 0.4;
pbr.environmentTexture = BABYLON.CubeTexture.CreateFromPrefilteredData(
  "/textures/environment.dds",
  scene
);

 可以使用 specularGlossinessTexture(如 metalRoughnessTexture 纹理)来提供对镜面反射和光泽度的更多控制:

pbr.diffuseColor = new BABYLON.Color3(1.0, 0.766, 0.336);
pbr.specularColor = new BABYLON.Color3(1.0, 1.0, 1.0);
pbr.glossiness = 1.0;
pbr.environmentTexture = BABYLON.CubeTexture.CreateFromPrefilteredData(
  "/textures/environment.dds",
  scene
);
pbr.specularGlossinessTexture = new BABYLON.Texture("/textures/sg.png", scene);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值