Skip to content

Commit a840377

Browse files
authored
Merge pull request #48 from SaltieRL/pa-freecam
Freecam
2 parents eb419f5 + a5cd501 commit a840377

File tree

13 files changed

+326
-83
lines changed

13 files changed

+326
-83
lines changed

docs/package-lock.json

Lines changed: 11 additions & 30 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package-lock.json

Lines changed: 12 additions & 31 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "replay-viewer",
3-
"version": "0.5.2",
3+
"version": "0.5.3",
44
"description": "Rocket League replay viewer React component and tooling",
55
"main": "./lib/index.js",
66
"types": "./lib/index.d.ts",

src/builders/GameBuilder.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { LoadingManager } from "three"
33
import CameraManager from "../managers/CameraManager"
44
import DataManager from "../managers/DataManager"
55
import { GameManager } from "../managers/GameManager"
6+
import KeyManager from "../managers/KeyManager"
67
import { ReplayData } from "../models/ReplayData"
78
import { ReplayMetadata } from "../models/ReplayMetadata"
89
import FPSClock from "../utils/FPSClock"
@@ -31,6 +32,7 @@ const defaultGameBuilder = async ({
3132
defaultAnimationBuilder(replayData, sceneManager.players, sceneManager.ball)
3233
DataManager.init({ replayData, replayMetadata })
3334
CameraManager.init()
35+
KeyManager.init()
3436

3537
return GameManager.init({
3638
clock,

src/builders/field/addCameras.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { DEFAULT_CAMERA_OPTIONS } from "../../constants/defaultCameraOptions"
44
import {
55
ABOVE_FIELD_CAMERA,
66
BLUE_GOAL_CAMERA,
7+
FREE_CAMERA,
78
ORANGE_GOAL_CAMERA,
89
ORTHOGRAPHIC,
910
} from "../../constants/gameObjectNames"
@@ -24,6 +25,11 @@ export const addCameras = (scene: Scene) => {
2425
aboveFieldCamera.position.set(0, 2000, 0)
2526
scene.add(aboveFieldCamera)
2627

28+
const freeCamera = new PerspectiveCamera(...DEFAULT_CAMERA_OPTIONS)
29+
freeCamera.name = FREE_CAMERA
30+
freeCamera.position.set(0, 1000, 0)
31+
scene.add(freeCamera)
32+
2733
const generateOrthographicCamera = () => {
2834
const camera = new OrthographicCamera(-320, 320, 240, -240, 0.1, 20000)
2935
camera.zoom = 0.05
@@ -68,6 +74,7 @@ export const addCameras = (scene: Scene) => {
6874
blueGoalCamera,
6975
orangeGoalCamera,
7076
aboveFieldCamera,
77+
freeCamera,
7178
...orthographicCameras,
7279
]
7380
}

src/constants/eventNames.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ export const CAMERA_FRAME_UPDATE = "CAMERA_FRAME_UPDATE"
33
export const PLAY_PAUSE = "PLAY_PAUSE"
44
export const FRAME = "FRAME"
55
export const CANVAS_RESIZE = "CANVAS_RESIZE"
6+
export const KEY_CONTROL = "KEY_CONTROL"

src/constants/gameObjectNames.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export const GROUP_SUFFIX = "-group"
66
export const BLUE_GOAL_CAMERA = "Blue Goal Camera"
77
export const ORANGE_GOAL_CAMERA = "Orange Goal Camera"
88
export const ABOVE_FIELD_CAMERA = "Above Field Camera"
9+
export const FREE_CAMERA = "Free Camera"
910
export const ORTHOGRAPHIC = {
1011
ABOVE_FIELD: "ORTHOGRAPHIC_ABOVE_FIELD",
1112
BLUE_LEFT: "ORTHOGRAPHIC_BLUE_LEFT",

0 commit comments

Comments
 (0)