[]3d下阴影渲染问题求解

如果开启阴影下, 先创建person 再创建box群组, 那么必定不会在box上产生person的投影,
另外如果先创建了box群组, 再创建person, 如果后续中出现removeChild把box群组中去掉几个, 也会影响其他box接收person的功能
LayaAir3D.prototype = {
creatBox:function(parent,poolBox,boxSize){
// var i = Math.random()*10;
// var j = Math.random()*10;
for (var i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
// var box = parent.addChild(new Laya.MeshSprite3D(new Laya.PlaneMesh(boxSize,boxSize,2,2)));
var box = parent.addChild(new Laya.MeshSprite3D(new Laya.BoxMesh(boxSize, boxSize, .5)));
// var boxSys = new Zszen.BoxPlus(boxSize,boxSize,boxSize,"res/simbol/box2.png");
// var box = boxSys.object3d;
parent.addChild(box);
box.transform.rotate(new Laya.Vector3(0, 45, 0), false, false);
box.transform.localPosition = new Laya.Vector3((i-5)*boxSize*1.1,0,j*boxSize*1.1-1);
var material = new Laya.StandardMaterial();
material.diffuseTexture = Laya.Texture2D.load("res/layabox.png");
material.albedo = new Laya.Vector4(1,0,1,1);
box.meshRender.material = material;
box.meshRender.receiveShadow = true;
box.meshRender.castShadow = true;
poolBox.push(box);
}
}
},
creatPerson:function(parent){
this.ball = parent.addChild(new Laya.MeshSprite3D(new Laya.BoxMesh(.2,.2,.1)));
var material = new Laya.StandardMaterial();
material.albedo = new Laya.Vector4(1,1,1,1);
this.ball.meshRender.material = material;
this.ball.meshRender.receiveShadow = true;
this.ball.meshRender.castShadow = true;
this.ball.transform.localPosition = new Laya.Vector3(0,.8,0);
}
};
return LayaAir3D;
已邀请:

Aar0n

赞同来自:

你把demo发来吧

zwy363

赞同来自:

JS的生成能在小游戏里用了吗?上次试了2次了,每次都是CODE.JS报错。不能用。

要回复问题请先

商务合作
商务合作