Shyghar
Shyghar

Reputation: 311

Add a 3D model to a exsisting THREE.Scene()

I create a scene, add a couple of boxes and I can move the camera with the keyboard just fine.

I want to add a 3D model. In several tutorials, I saw something like:

var jsonLoader = new THREE.JSONLoader();
jsonLoader.load( "test.js", function( geometry ) { createScene( geometry) } );


function createScene( geometry ) {

  var mesh = new THREE.Mesh( geometry, new THREE.MeshLambertMaterial({color: 0xbbbbbb}) );
  mesh.scale.set(10, 10, 10);
  mesh.position.y = -350;
  mesh.position.x = -650;
  group.add(mesh);
}

But for the other element I wrote something like:

MovingCube = new THREE.Mesh(MovingCubeGeom, new THREE.MeshFaceMaterial());
MovingCube.position.set(0, 25, 0);
scene.add(MovingCube);

How can I add a 3D model from a .js converted .obj at my scene?

Upvotes: 1

Views: 555

Answers (1)

2pha
2pha

Reputation: 10165

The first one loads the model from and external file which contains a JSON representation of the geometry and sends it to the createScene function as an instance of the THREE.Geometry class when the external file has finished loading.

The second one the geometry is already in the variable MovingCubeGeom.

The second example is basically the same as what is in the createScene function of the first example.

You don't need to convert an obj to js, you can just use the THREE.OBJLoader class

Upvotes: 1

Related Questions