Babylongjs-纹理

添加纹理:

接上一章,房子的雏形完成了。我们需要给房子添加一个标准材质:

const material = new BABYLON.StandardMaterial("name", scene);

接下来我们让地板变成绿色的草地:

//创建了一个标准材质,由于只有一个场景,我们可以删除该参数并让它默认为当前场景。

const groundMat = new BABYLON.StandardMaterial("groundMat");

//让材质变成绿色

groundMat.diffuseColor = new BABYLON.Color3(0, 1, 0);

//将这个材质赋值给地板

ground.material = groundMat; 

对于颜色,Babylon封装了一些颜色,可以直接使用:

new BABYLON.Color3.Red();

new BABYLON.Color3.Green();

new BABYLON.Color3.Blue();

new BABYLON.Color3.Black();

new BABYLON.Color3.White();

new BABYLON.Color3.Purple();

new BABYLON.Color3.Magenta();

new BABYLON.Color3.Yellow();

new BABYLON.Color3.Gray(),

new BABYLON.Color3.Teal();

然后,我们需要设置房子的房顶和房子的墙的纹理:

const roofMat = new BABYLON.StandardMaterial("roofMat");

roofMat.diffuseTexture = new BABYLON.Texture("https://assets.babylonjs.com/environments/roof.jpg", scene);

const boxMat = new BABYLON.StandardMaterial("boxMat");

boxMat.diffuseTexture = new BABYLON.Texture("https://www.babylonjs-playground.com/textures/floor.png");

这里出现的BABYLON.Texture(url ,scene)

参数1 : 纹理的相对或者绝对路径

参数2 : 添加的场景, 默认是当前场景

最后给材质赋值:

roof.material = roofMat;

box.material = boxMat;

房子会呈现如下的样子:

Babylongjs-纹理

 

没有门窗的石墙对于房子来说并不是一个有趣的外观。此外,当您仔细观察时,您会发现每一边都使用相同的图像,并且在某些边上进行了旋转。

上一篇:3dmax模型带材质导出obj格式文件的方法与步骤


下一篇:11.5 贪心算法(常用算法)——【Java数据结构与算法】