23 Babylonjs入門進階 使用凹凸紋理,透明度紋理和平鋪

凹凸紋理

凹凸貼圖是一種模擬渲染去面試的凹凸和凹痕的技術。這些是通過從圖像穿件發現貼圖來實現的。可以在網上查找相關生成方法。
在這裏插入圖片描述 在這裏插入圖片描述
來自圖像的原始圖像法線貼圖
凹凸貼圖可以與顏色一起使用; 原始圖像或下圖中的其他圖像。在這裏插入圖片描述

創建凹凸貼圖示例

只需要將凹凸貼圖創建一個凹凸紋理設置給材質的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;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章