Babylonjs学习笔记 设置skybox(天空盒)
代码:
const skybox = MeshBuilder.CreateBox("skybox", {size: 1000.0}, scene); //创建了一个巨大的box,能囊括相机的运动范围
const skyboxmat = new StandardMaterial("skybox", scene); //创建材质
skyboxmat.backFaceCulling = false; //关闭背面剔除
skyboxmat.reflectionTexture = new CubeTexture("./skybox/sb", scene); //材质使用立方体贴图
skyboxmat.reflectionTexture.coordinatesMode = Texture.SKYBOX_MODE; //设置坐标模型,不过为什么要设置?暂时还不知道
skyboxmat.diffuseColor = new Color3(0, 0, 0); //漫反射颜色
skyboxmat.specularColor = new Color3(0, 0, 0); //镜面反射颜色
skybox.material = skyboxmat; //将材质赋予box
skyboxmat.reflectionTexture = new CubeTexture("./skybox/sb", scene);用其他天空盒只要修改路径就行了,默认初始路径为public文件夹。路径指向包含六张JPG(PNG不行)格式的图片。官方文档Skyboxes | Babylon.js Documentation (babylonjs.com)。
ps. 推荐一个网站,可以将全景图片转换为立方体贴图🥰,注意选JPG格式:tech🥰brood.com/tool🥰?p=cube🥰map