3dfxMan
3dfxMan

Reputation: 13

THREE.JSONLoader - Double sided texture - PNG

I´m new in Three.js and I need advice. After exporting model from Blender (version 2.71) and loading to scene I see one side textured on my three.....but second side is without texture..... I must enable double side texture, however I don´t know how. I try some examples, but nothing works. I using .PNG texture format with alpha-chanel.. I also try in Blender activated double side, but nothing happends.

Here is my loading code:

var three1;  

        var jsonLoader = new THREE.JSONLoader();
            jsonLoader.load('3D/three1.js', addthree1ToScene);

        function addthree1ToScene( geometry, materials ) 
        {
            var materiall = new THREE.MeshFaceMaterial( materials ); 

                three1 = new THREE.Mesh( geometry, materiall );
                three1.scale.set( 0.8, 0.8, 0.8 );
                three1.position.set(50,15.5,0);

            scene.add( three1 );
        }

Thanks for any advice! (Sorry for my english :) )

UPDATE:

..Something like this?..

var three1;  

        var jsonLoader = new THREE.JSONLoader();
            jsonLoader.load('3D/three1.js', addthree1ToScene);

        function addthree1ToScene( geometry, materials ) 
        {
            var materiall = new THREE.MeshFaceMaterial( materials ); 


            for ( var i = 0; i < materials.length; i ++ )
            {
             var material = materials[i];
                material.side = THREE.DoubleSide;
            }

            three1 = new THREE.Mesh( geometry, materiall );


            three1.scale.set( 0.8, 0.8, 0.8 );
            three1.position.set(50,15.5,0);

            scene.add( three1 );
        }

It´s working, BTW :)

Upvotes: 1

Views: 1047

Answers (1)

WestLangley
WestLangley

Reputation: 104793

For each material in your materials array, set

material.side = THREE.DoubleSide;

three.js r.68

Upvotes: 1

Related Questions