我已经使用3DS解析器加载了一个模型,该解析器已经链接到一个材质并且加载正常。我想让这个模型半透明的部分时间,但不是所有的时间。我想设置alpha = .5,但是当我定位不是一个选项的材料时。
以下是代码并使用:
var slingPar:Max3DSParser = new Max3DSParser();
var slingLoader:Loader3D = new Loader3D();
sling = new ObjectContainer3D();
slingLoader.addEventListener(LoaderEvent.RESOURCE_COMPLETE, function(e:LoaderEvent):void
{
var mesh:Mesh = Mesh(sling.getChildAt(0));
mesh.material.lights = [light1, light2, light3];
mesh.rotationY = 180;
});
slingLoader.load(new URLRequest("assets/game/slingCup.3DS"),slingPar);
sling = slingLoader;
我试过
mesh.material.alpha = .5
但没有运气。任何想法?
答案 0 :(得分:1)
我明白了。我将加载网格的BitmapMaterial定位并从那里进行修改。
slingLoader.addEventListener(LoaderEvent.RESOURCE_COMPLETE, function(e:LoaderEvent):void
{
var mesh:Mesh = Mesh(sling.getChildAt(0));
var map:BitmapMaterial = mesh.material as BitmapMaterial;
map.ambient = .5;
map.specular = .5;
map.alpha = .8;
map.lights = [light1, light2, light3];
map.repeat = true;
map.smooth = true;
map.bothSides = false;
});
答案 1 :(得分:0)
试一试:
var mesh:Mesh = [the mesh for changing]
for each (var item:SubMesh in mesh.subMeshes) {
item.material = null;
}
mesh.material = new ColorMaterial(0xFF00FF, ALPHA);