This commit is contained in:
@@ -81,9 +81,11 @@ export default{
|
||||
name: a.name, id: a.uuid
|
||||
}));
|
||||
engine.meshUtils.autoScale(gltf.scene);
|
||||
let bb = new engine.$.Box3().setFromObject(gltf.scene);
|
||||
engine.camera.position.set(bb.max.x, bb.max.y, bb.max.z*3);
|
||||
engine.orbitControls.target.set((bb.max.x + bb.min.x) / 2, (bb.max.y + bb.min.y) / 2, (bb.max.z + bb.min.z) / 2)
|
||||
let bb = engine.meshUtils.getBoundingBox(gltf.scene);
|
||||
let ln = engine.meshUtils.getBoundingBoxMaxLength(bb);
|
||||
let cp = engine.meshUtils.getBoundingBoxCenterPoint(bb);
|
||||
engine.camera.position.set(cp.x, cp.y*1.77, ln*1.5);
|
||||
engine.orbitControls.target.set(cp.x,cp.y*1.77,cp.z)
|
||||
engine.orbitControls.update();
|
||||
engine.activeObjects.add(gltf.scene);
|
||||
}
|
||||
|
||||
@@ -48,8 +48,11 @@ class GameEngine extends EventManager{
|
||||
const scene = new THREE.Scene();
|
||||
|
||||
this.sceneWrapper = new THREE.Group();
|
||||
this.sceneWrapper.scale.setScalar(this.scale);
|
||||
scene.add(this.sceneWrapper);
|
||||
this.activeObjects = new THREE.Group();
|
||||
this.sceneWrapper.add(this.activeObjects);
|
||||
this.activeObjects.scale.setScalar(this.scale);
|
||||
//this.camera.scale.setScalar(0.1);
|
||||
|
||||
this.scene = scene;
|
||||
|
||||
@@ -89,9 +92,6 @@ class GameEngine extends EventManager{
|
||||
this.camera.add(this.listener);
|
||||
this.ambientSound = new THREE.Audio(this.listener);
|
||||
|
||||
this.activeObjects = new THREE.Group();
|
||||
this.sceneWrapper.add(this.activeObjects);
|
||||
|
||||
if (this.opts.gizmo) {
|
||||
this.orbitControls = new OrbitControls(this.camera, this.renderer.domElement);
|
||||
this.orbitControls.enableZoom = false;
|
||||
|
||||
+4
-1
@@ -250,6 +250,8 @@ class Hero{
|
||||
this.walkDirection.applyAxisAngle(this.rotateAngle, this.direction)
|
||||
this.walkDirection.normalize();
|
||||
this.model.rotation.y = this.direction;
|
||||
}else if (this.fpv){
|
||||
this.model.rotation.y = this.camera.rotation.y;
|
||||
}
|
||||
|
||||
this.walkDirection.x = this.walkDirection.x * velocity * delta// + this.model.position.x
|
||||
@@ -301,6 +303,7 @@ class Hero{
|
||||
this.model.position.z + this.#cameraZ* Math.cos(0+ Math.PI + this.cameraDelta + this.cameraIdleDelta)
|
||||
)
|
||||
}
|
||||
cameraDesiredPosition.multiplyScalar(this.engine.scale)
|
||||
|
||||
cameraPosition.lerp(cameraDesiredPosition, this.cameraMode == 'fixed' ? delta*2 : delta*2)
|
||||
//cameraPosition.lerp(cameraDesiredPosition, this.fpv ? 1 : delta*2)
|
||||
@@ -308,7 +311,7 @@ class Hero{
|
||||
if (!this.fpv){
|
||||
this.camera.lookAt(
|
||||
this.engine.scale * this.model.position.x,
|
||||
this.engine.scale * (this.cameraY -this.size.y * 0.5 + this.model.position.y),
|
||||
this.camera.position.y,//this.engine.scale * (this.cameraY -this.size.y * 0.5 + this.model.position.y),
|
||||
this.engine.scale * this.model.position.z
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user