凹凸紋理
凹凸貼圖是一種模擬渲染去面試的凹凸和凹痕的技術。這些是通過從圖像穿件發現貼圖來實現的。可以在網上查找相關生成方法。
來自圖像的原始圖像法線貼圖
凹凸貼圖可以與顏色一起使用; 原始圖像或下圖中的其他圖像。
創建凹凸貼圖示例
只需要將凹凸貼圖創建一個凹凸紋理設置給材質的bumpTexture
即可:
var myMaterial = new BABYLON.StandardMaterial("myMaterial", scene);
myMaterial.bumpTexture = new BABYLON.Texture("凹凸貼圖的路徑", scene);
反轉凸起和凹痕
在材質上使用invertNormalMapX和invertNormalMapY。
var myMaterial = new BABYLON.StandardMaterial("myMaterial", scene);
myMaterial.bumpTexture = new BABYLON.Texture("PATH TO NORMAL MAP", scene);
myMaterial.invertNormalMapX = true;
myMaterial.invertNormalMapY = true
半透明紋理
可以使用具有不同透明度的圖像對材料的不透明度進行分級。具有透明度漸變的以下PNG圖像可以使用opacityTexture應用於材質
使用相同的漸變應用於材質,如下圖所示。
實現透明度設置
將opacityTexture添加到任何現有紋理。
var myMaterial = new BABYLON.StandardMaterial("myMaterial", scene);
myMaterial.opacityTexture = new BABYLON.Texture("透明度紋理的地址", scene);
平鋪
將材質應用於模型時,用於材質的紋理貼圖根據座標定位,座標值不是3d座標軸的xy,而是對應於貼圖上的u和v。
要平鋪圖像,請使用紋理的uScale和/或vScale屬性來設置每個方向上的平鋪數。
myMaterial.diffuseTexture.uScale = 5.0;
myMaterial.diffuseTexture.vScale = 5.0;
偏移
要偏移模型上的紋理,可以使用紋理的uOffset和vOffset屬性來設置每個方向的偏移。
myMaterial.diffuseTexture.uOffset = 1.5;
myMaterial.diffuseTexture.vOffset = 0.5;