Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 39x 39x 39x 39x 39x 39x 2x 2x 2x 2x 2x | import { Injectable } from "@angular/core"
import { PerspectiveCamera, Vector3 } from "three"
@Injectable({ providedIn: "root" })
export class ThreeCameraService {
static VIEW_ANGLE = 45
static NEAR = 50
static FAR = 200_000 //TODO optimize renderer for far objects
camera: PerspectiveCamera
init(containerWidth: number, containerHeight: number) {
const aspect = containerWidth / containerHeight
this.camera = new PerspectiveCamera(ThreeCameraService.VIEW_ANGLE, aspect, ThreeCameraService.NEAR, ThreeCameraService.FAR)
this.setPosition(new Vector3(0, 300, 1000))
}
setPosition(position: Vector3) {
this.camera.position.set(position.x, position.y, position.z)
this.camera.lookAt(0, 0, 0)
}
}
|