babylon.js的材料颜色
四种光
1:自发光
2:环境光
3:散射光
4:镜面光
光的优先级的表现
自发光覆盖其它任何选项。
环境光覆盖除自发光以外的任何选项。
散射光、镜面光可以同时存在。
其实所有光都是叠加表现的,这里说的“覆盖”指的都是白光的情况。
光的设置
自发光只需设置材料的自发光选项。
环境光需要开启场景的环境光选项,同时设置材料的环境光选项,缺一不可。
散射光需要设置光源,同时设置材料的散射选项,二者共同决定物体颜色。
镜面光需要设置光源,同时设置材料的镜面选项,二者共同决定镜面颜色。
设置相关选项的代码
自发光
material.emissiveColor = new BABYLON.Color3(1, 1, 1);
环境光
scene.ambientColor = new BABYLON.Color3(1, 1, 1);
material.ambientColor = new BABYLON.Color3(1, 1, 1);
散射光
light.diffuse = new BABYLON.Color3(1, 1, 1);
material.diffuseColor = new BABYLON.Color3(1, 1, 1);
镜面光
light.specular = new BABYLON.Color3(1, 1, 1);
material.specularColor = new BABYLON.Color3(0, 0, 0);
吐槽
同一个光源,需要分别设置散射光、镜面光,二者可以是不同的颜色,比如,一盏绿灯照射在白色物体上,可以产生粉色的镜面反射。
呜,我不能理解,这种情况在现实中是怎样的存在。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
