Away3D (4.x Broomstick) - Как установить альфа материала, загруженного с файлом 3DS? - PullRequest
1 голос
/ 01 сентября 2011

Я загрузил модель, используя анализатор 3DS, который уже связан с материалом и загружается нормально. Я хотел бы сделать эту модель полупрозрачной часть времени, но не всегда. Я хотел бы просто установить альфа = .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

Но не повезло. Есть идеи?

Ответы [ 2 ]

1 голос
/ 08 сентября 2011

Я понял это. Я нацелился на 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;

        });
0 голосов
/ 20 октября 2013

Попробуйте:

var mesh:Mesh = [the mesh for changing]
for each (var item:SubMesh in mesh.subMeshes) {
item.material = null;
}
mesh.material = new ColorMaterial(0xFF00FF, ALPHA); 
...