侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130555 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Laya2.x之Sprite3D更换贴图

2023-01-28 星期六 / 0 评论 / 0 点赞 / 46 阅读 / 1714 字

一: 关键是找到材质对象(laya.d3.core.material.BlinnPhongMaterial)1,Unity数据①, 在scene中的结构(注意我们只获取PlayerModel对象)②,

一: 关键是找到材质对象(laya.d3.core.material.BlinnPhongMaterial)

1,Unity数据
①, 在scene中的结构(注意我们只获取PlayerModel对象)

②,PlayerModel的属性

二:获取PlayerModel

1, Unity数据
①,以预制的方式导出

②, 结构如下

2, 获取PlayerModel

this.prefabPlayer =  (Laya.Loader.getRes(`3d/model/Conventional/model.lh`) as Laya.Sprite3D).getChildAt(0) as Laya.Sprite3D;

三: 获取laya.d3.core.material.BlinnPhongMaterial

            let $mash: Laya.MeshSprite3D = this.owner as Laya.MeshSprite3D;            this._material = $mash.meshRenderer.material as laya.d3.core.material.BlinnPhongMaterial;

注意: this.owner就是this.prefabPlayer

三:换贴图的方法

        /**         * 更换贴图         * @param $textureID         */        public resetTexture( $textureID: number ): void{            if( !this._material ) return;            this._material.albedoTexture = Laya.Loader.getRes(`3dmodeltexture/mt_${$textureID}.png`);        }

结果:

广告 广告

评论区