[]为模型指定地形材质报错

var lineMesh = scene.addChild(new Laya.MeshSprite3D(Laya.Mesh.load("line/lineMesh.lm")));var terMaterial = new Laya.TerrainMaterial();
terMaterial.diffuseTexture1=new Laya.Texture2D.load("map2.png");
terMaterial.diffuseTexture2=new Laya.Texture2D.load("map2.png");
terMaterial.diffuseTexture3=new Laya.Texture2D.load("map2.png");
terMaterial.diffuseTexture4=new Laya.Texture2D.load("map2.png");
terMaterial.splatAlphaTexture=new Laya.Texture2D.load("map2.png");
lineMesh.meshRender.sharedMaterial=terMaterial;


laya.d3.js:26653 Uncaught ERROR: 0:285: 'splatAlpha' : undeclared identifier
ERROR: 0:285: 'a' : field selection requires structure or vector on left hand side
已邀请:

183*****755

赞同来自:

不能这样使用,meshSprite3D 只能用 StandardMaterial

ebaww

赞同来自:

用unity导出的地形文件比较大,有些区域是不需要的,转成mesh,删掉一部分三角面,应该能比直接用地形效率高吧??
我想用模型作为地形,并指定地形材质应该怎么写??我改成地形了,还是报同样的错误
@asanwu
 
var terrain = Laya.Mesh.load("line/lineMesh.lm");
var terrainSprite = scene.addChild(Laya.MeshTerrainSprite3D.createFromMesh(terrain, 129, 129));
var terMaterial = new Laya.TerrainMaterial();
terMaterial.diffuseTexture1=new Laya.Texture2D.load("map2.png");
terMaterial.diffuseTexture2=new Laya.Texture2D.load("map2.png");
terMaterial.diffuseTexture3=new Laya.Texture2D.load("map2.png");
terMaterial.diffuseTexture4=new Laya.Texture2D.load("map2.png");
terMaterial.splatAlphaTexture=new Laya.Texture2D.load("hong.png");
terrainSprite.meshRender.sharedMaterial=terMaterial;
 
laya.d3.js:26653 Uncaught ERROR: 0:285: 'splatAlpha' : undeclared identifier ERROR: 0:285: 'a' : field selection requires structure or vector on left hand side

要回复问题请先

商务合作
商务合作