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

切换天空盒

第一步先把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?.();
        });
    }
}
相关推荐
da_vinci_x4 天前
Substance 3D 材质流:AI 快速生成与程序化精修
人工智能·游戏·3d·材质·设计师·技术美术·游戏美术
da_vinci_x6 天前
Painter AI 材质 x 智能遮罩:告别“风格化”手K地狱
人工智能·aigc·材质·设计师·技术美术·工作流·游戏美术
CG_MAGIC6 天前
3ds Max材质高清参数设置:10分钟提升渲染真实感
3d·vr·3dmax·材质·vray·渲云渲染
云卓SKYDROID8 天前
无人机探测器技术要点解析
人工智能·无人机·材质·高科技·云卓科技
我救我自己9 天前
UE5.6 玻璃材质——Lumen
ue5·材质
DvLee102410 天前
UnityGLTF 材质创建与赋值流程
unity·材质
njsgcs10 天前
tekla python 获取所有材质信息 截面类型
材质
小喵要摸鱼12 天前
衣服面料材质宝典
材质
zhangzhangkeji15 天前
UE5 材质-17:水材质系列一 ,panner 平移节点,
ue5·材质
患得患失94915 天前
【threejs】材质共享导致的典型问题
材质·threejs