[英]Away3D (4.x Broomstick) - How do I set the alpha of a material loaded with a 3DS file?
我已經使用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
但是沒有運氣。 有任何想法嗎?
我想到了。 我針對加載的網格物體的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;
});
試試吧:
var mesh:Mesh = [the mesh for changing]
for each (var item:SubMesh in mesh.subMeshes) {
item.material = null;
}
mesh.material = new ColorMaterial(0xFF00FF, ALPHA);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.