laya 天空盒
//清除標記,使用天空(必須設置,否則無法顯示天空)
this.camera.clearFlag = Laya.BaseCamera.CLEARFLAG_SKY;
在資源文件夾下手工創建如下
SkyBox.lmat
{
?? ?"version":"LAYAMATERIAL:02",
?? ?"props":{
? ? ? ? "type":"Laya.SkyBoxMaterial",
? ? ? ? "exposure":1,
? ? ? ? "rotation":0,
? ? ? ? "vectors":[
? ? ? ? ? ? {
? ? ? ? ? ? ? ? "name":"tintColor",
? ? ? ? ? ? ? ? "value":[
? ? ? ? ? ? ? ? ? ? 0.5,
? ? ? ? ? ? ? ? ? ? 0.5,
? ? ? ? ? ? ? ? ? ? 0.5,
? ? ? ? ? ? ? ? ? ? 0.5
? ? ? ? ? ? ? ? ]
? ? ? ? ? ? }
? ? ? ? ],
? ? ? ? "textures":[
? ? ? ? ? ? {
? ? ? ? ? ? ? ? "name":"textureCube",
? ? ? ? ? ? ? ? "path":"SkyBox.ltc"
? ? ? ? ? ? }
? ? ? ? ]
?
? ? }
}
SkyBox.ltc
{
? ? "front": "Sunny.front.jpg",
? ? "back": "Sunny.back.jpg",
? ? "left": "Sunny.left.jpg",
? ? "right": "Sunny.right.jpg",
? ? "up": "Sunny.up.jpg",
? ? "down": "Sunny.down.jpg",
? ? "size":512
}
把6張天空盒圖片名稱改成對應的,放在同一個文件夾下
var resource = [
? ? ? ? ? ? "res/LayaScene_GameScene/Conventional/Main Camera.lh",
? ? ? ? ? ? "res/LayaScene_GameScene/Conventional/skyBox/SkyBox.lmat"
? ? ? ? ] ?
? ? ? ? Laya.loader.create(resource, Laya.Handler.create(this, this.onPreLoadFinish));
批量加載,在加載成功的回調方法內
?var mat = Laya.Loader.getRes("res/LayaScene_GameScene/Conventional/skyBox/SkyBox.lmat")
? ? ? ? var skyRenderer = camera.skyRenderer;
? ? //創建天空盒的mesh
? ? skyRenderer.mesh = Laya.SkyBox.instance;
? ? //設置天空盒材質
? ? skyRenderer.material = mat;
總結
- 上一篇: linux c编译 utf-8,在Lin
- 下一篇: mysql8.0密码重置