mmhh thats funny, see
//in this example im usin a collada, but is a container u can use mesh
as well
model1 = Collada.parse(YouModel, {scaling:0.25,
material:material});
model1.mouseEnabled=false;
model1.ownCanvas=true;
model1.pushfront=true;
contenedor= new ObjectContainer3D(model1, camera);
scene.addChild(contenedor);
the camera is global?
after that u should change in the renderer:
//calculate forward & back vector
forwardVector.rotate(Number3D.FORWARD,
camera.transform);
forwardVector.y = 0;
forwardVector.normalize();
/*camera.x += forwardVector.x*cameraForwardSpeed;
camera.z += forwardVector.z*cameraForwardSpeed;
model1.x=camera.x*1.1+50;
model1.z=camera.z*1.1+50;*/
contenedor.x += 3*forwardVector.x*cameraForwardSpeed;
contenedor.z += 3*forwardVector.z*cameraForwardSpeed;
//calculate left & right vector
rightVector.rotate(Number3D.RIGHT, camera.transform);
rightVector.y = 0;
rightVector.normalize();
//update camrea position
/*camera.x += rightVector.x*cameraRightSpeed;
camera.z += rightVector.z*cameraRightSpeed;*/
contenedor.x += 3*rightVector.x*cameraRightSpeed;
contenedor.z += 3*rightVector.z*cameraRightSpeed;
/*model1.x=camera.x*1.1+50;
model1.z=camera.z*1.1+50;*/
//update rotation values
if (move) {
panangle = 0.3*(stage.mouseX - lastMouseX) +
lastPanAngle;
tiltangle = -0.3*(stage.mouseY - lastMouseY) +
lastTiltAngle;
model1.rotationY=panangle;
if (tiltangle > 70)
tiltangle = 70;
if (tiltangle < -70)
tiltangle = -70;
}
//update camera rotation
target.x = 100 * Math.sin(panangle * toRADIANS) *
Math.cos
(tiltangle * toRADIANS) + camera.x;
target.z = 100 * Math.cos(panangle * toRADIANS) * Math.cos
(tiltangle * toRADIANS) + camera.z;
target.y = 100 * Math.sin(tiltangle * toRADIANS) +
camera.y;
model1.x=target.x;
//model1.y=target.y;
model1.z=target.z;
camera.lookAt(target);
//render scene
view.render();
im sure u can add them to a container i made a semi - Mario 64 (tx to
peter on this one XD) this way ^^
the only thing u got to adjust is the parameters such as speed or
acceleration in ur project