簡體   English   中英

Away3D(4.x掃帚)-如何設置加載3DS文件的材質的Alpha?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM