使用反转法线材质球,实现切换天空盒相同的功能,优点:包体变小

切换天空盒

第一步先把SKY 天空球资源导入到工程里,

第二步:天空球文件下的SKY预制件拖入到场景里

第三步 选着SKY材质球,拖入自己的全景图片(图片分辨率不能超过5000*5000,否则手机无法显示)

如果并没有效果,看看图片的设置

还没有效果的话,重新烘焙场景,这样就能正常显示了

javascript 复制代码
const { regClass, property } = Laya;
import MeshRenderer = Laya.MeshRenderer;
import Material = Laya.Material;
@regClass()
export class Script extends Laya.Script {
    //declare owner : Laya.Sprite3D;
    //declare owner : Laya.Sprite;


    public scene3D: Laya.Scene3D;

    @property({ type: Laya.Button })
    public button: Laya.Button;

    switch: boolean = false;
    sky: MeshRenderer;
    public onStart() {
        console.log("Script Start");
        this.scene3D = Laya.stage.getChildAt(0) as Laya.Scene3D

        let sky = this.scene3D.getChildByName("SKY");
        if (sky) {
            this.sky = sky.getChildAt(0).getComponent(MeshRenderer)
        }
        else {
            console.log("没有找到SKY");
        }
        this.button.on(Laya.Event.CLICK, this, () => {
            this.switch = !this.switch;
            this.SwitchSkyBoxMaterial(this.switch ? "resources/1.lmat" : "resources/2.lmat", () => { });
        });
    }

    public SwitchSkyBoxMaterial(skyBoxPath: string, action: () => void) {
        //程序化天空盒
        Laya.loader.load(skyBoxPath).then((mat: Material) => {
            this.sky.material = mat;
            action?.();
        });
    }
}
相关推荐
航Hang*8 天前
Kurt-Blender零基础教程:第3章:材质篇——第3节:给模型上材质
笔记·blender·材质
航Hang*8 天前
Kurt-Blender零基础教程:第3章:材质篇——第2节:凹凸感和置换形变;混合材质节点和NodeWrangler的五大用法;简单的UV纹理绘制
笔记·blender·材质·建模·uv
云卓SKYDROID9 天前
无人机航电系统散热技术要点
人工智能·无人机·材质·高科技·云卓科技
机器人行业研究员10 天前
六维力传感器材质选择:影响性能与精度的关键因素
材质
航Hang*10 天前
Kurt-Blender零基础教程:第3章:材质篇——第1节:材质基础~原理化BSDF,添加有纹理材质与用蒙版做纹理叠加
笔记·blender·材质·建模
云卓SKYDROID11 天前
无人机无线电测距模块技术要点与难点
无人机·材质·遥控器·高科技·云卓科技
da_vinci_x11 天前
游戏UI告别“贴图”时代:用Adobe XD构建“活”的设计系统
游戏·ui·材质·贴图·游戏策划·游戏美术·pbr
患得患失94911 天前
【ThreeJs】【材质Material】核心材质参数解析手册
材质
fcm1911 天前
blender之材质设置连续样式
blender·材质
绀目澄清12 天前
Unity 游戏引擎中 HDRP(高清渲染管线) 的材质着色器选择列表
unity·游戏引擎·材质