Three.js - Imported OBJ cannot receive shadows when material is applied
up vote
0
down vote
favorite
I've imported an obj with this load function:
// called when resource is loaded
function ( object ) {
// For any meshes in the model, add our material.
object.traverse( function ( node ) {
if ( node instanceof THREE.Mesh ){
//node.material = material;
//node.geometry.computeVertexNormals();
node.castShadow = true;
node.receiveShadow = true;
}
} );
object.scale.set(0.5,0.5,0.5);
scene.add( object );
parts[partName] = object;
}
The object loads fine and has shadows from the spotlights in the scene. The issue is that when I apply a material to the mesh(hence why that is commented out in the above code) the model no longer receives shadow.
The materials are applied node by node and the materials are mapped jpg's like this.
if ( node.isMesh ) node.material = material;
new THREE.MeshBasicMaterial( { map: new THREE.TextureLoader().load( 'materials/orange.jpg' ), shininess: 50, shading: THREE.SmoothShading }),
Thanks for any help, Ed.
javascript three.js 3d
add a comment |
up vote
0
down vote
favorite
I've imported an obj with this load function:
// called when resource is loaded
function ( object ) {
// For any meshes in the model, add our material.
object.traverse( function ( node ) {
if ( node instanceof THREE.Mesh ){
//node.material = material;
//node.geometry.computeVertexNormals();
node.castShadow = true;
node.receiveShadow = true;
}
} );
object.scale.set(0.5,0.5,0.5);
scene.add( object );
parts[partName] = object;
}
The object loads fine and has shadows from the spotlights in the scene. The issue is that when I apply a material to the mesh(hence why that is commented out in the above code) the model no longer receives shadow.
The materials are applied node by node and the materials are mapped jpg's like this.
if ( node.isMesh ) node.material = material;
new THREE.MeshBasicMaterial( { map: new THREE.TextureLoader().load( 'materials/orange.jpg' ), shininess: 50, shading: THREE.SmoothShading }),
Thanks for any help, Ed.
javascript three.js 3d
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I've imported an obj with this load function:
// called when resource is loaded
function ( object ) {
// For any meshes in the model, add our material.
object.traverse( function ( node ) {
if ( node instanceof THREE.Mesh ){
//node.material = material;
//node.geometry.computeVertexNormals();
node.castShadow = true;
node.receiveShadow = true;
}
} );
object.scale.set(0.5,0.5,0.5);
scene.add( object );
parts[partName] = object;
}
The object loads fine and has shadows from the spotlights in the scene. The issue is that when I apply a material to the mesh(hence why that is commented out in the above code) the model no longer receives shadow.
The materials are applied node by node and the materials are mapped jpg's like this.
if ( node.isMesh ) node.material = material;
new THREE.MeshBasicMaterial( { map: new THREE.TextureLoader().load( 'materials/orange.jpg' ), shininess: 50, shading: THREE.SmoothShading }),
Thanks for any help, Ed.
javascript three.js 3d
I've imported an obj with this load function:
// called when resource is loaded
function ( object ) {
// For any meshes in the model, add our material.
object.traverse( function ( node ) {
if ( node instanceof THREE.Mesh ){
//node.material = material;
//node.geometry.computeVertexNormals();
node.castShadow = true;
node.receiveShadow = true;
}
} );
object.scale.set(0.5,0.5,0.5);
scene.add( object );
parts[partName] = object;
}
The object loads fine and has shadows from the spotlights in the scene. The issue is that when I apply a material to the mesh(hence why that is commented out in the above code) the model no longer receives shadow.
The materials are applied node by node and the materials are mapped jpg's like this.
if ( node.isMesh ) node.material = material;
new THREE.MeshBasicMaterial( { map: new THREE.TextureLoader().load( 'materials/orange.jpg' ), shininess: 50, shading: THREE.SmoothShading }),
Thanks for any help, Ed.
javascript three.js 3d
javascript three.js 3d
asked Nov 7 at 11:13
Edward Lynch
737
737
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
Relised I was using
MeshBasicMaterial
Should use
MeshLambertMaterial
So the material can receive shadows.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
Relised I was using
MeshBasicMaterial
Should use
MeshLambertMaterial
So the material can receive shadows.
add a comment |
up vote
1
down vote
accepted
Relised I was using
MeshBasicMaterial
Should use
MeshLambertMaterial
So the material can receive shadows.
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
Relised I was using
MeshBasicMaterial
Should use
MeshLambertMaterial
So the material can receive shadows.
Relised I was using
MeshBasicMaterial
Should use
MeshLambertMaterial
So the material can receive shadows.
answered Nov 7 at 11:19
Edward Lynch
737
737
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53188364%2fthree-js-imported-obj-cannot-receive-shadows-when-material-is-applied%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown