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