Class: FGameCamera
A camera that can be attached to a FComponent and orbits around it in a more game-like way.
Example
import { FCuboid, FGameCamera, FScene } from '@fibbojs/3d'
const scene = new FScene()
const cube = new FCuboid()
scene.camera = new FGameCamera({
target: cube
})
Extends
Accessors
zoom
get
zoom():number
set
zoom(zoom
):void
Parameters
• zoom: number
Returns
number
Inherited from
Defined in
Constructors
new FGameCamera()
new FGameCamera(
options
):FGameCamera
Parameters
• options: FAttachedCameraOptions
Returns
Overrides
Defined in
3d/src/cameras/FGameCamera.ts:29
Methods
__UPDATE_POSITION__()
__UPDATE_POSITION__():
void
Update the position of the camera according to the transform. This method should be called after updating the transform properties.
Returns
void
Inherited from
FOrbitCamera
.__UPDATE_POSITION__
Defined in
__UPDATE_ROTATION__()
__UPDATE_ROTATION__():
void
Update the rotation of the camera according to the transform. This method should be called after updating the transform properties.
Returns
void
Inherited from
FOrbitCamera
.__UPDATE_ROTATION__
Defined in
__UPDATE_SCALE__()
__UPDATE_SCALE__():
void
Update the scale of the camera according to the transform. This method should be called after updating the transform properties. This method does not make sense for cameras, but it is implemented for consistency.
Returns
void
Inherited from
Defined in
addController()
addController(
controller
):void
Add a controller to the component.
Parameters
• controller: FController
The controller to add.
Returns
void
Inherited from
Defined in
core/dist/index.d.ts:415
emitCollisionWith()
emitCollisionWith(
options
):void
Emit a collision event with a given class or object.
Parameters
• options
The options for the collision event.
• options.class?: any
The class to emit the collision event with.
• options.component?: FComponent
The component to emit the collision event with.
Returns
void
Examples
const player = new Player()
const enemy = new Enemy()
player.emitCollisionWith({
class: Enemy
})
const player = new Player()
const enemy = new Enemy()
player.emitCollisionWith({
object: enemy
})
Inherited from
FOrbitCamera
.emitCollisionWith
Defined in
core/dist/index.d.ts:486
emitOnLoaded()
emitOnLoaded():
void
Emit the onLoaded callbacks.
Returns
void
Inherited from
Defined in
core/dist/index.d.ts:440
frame()
frame(
delta
):void
Update the component. Should be called every frame. The purpose of this method is to render the component, its mesh/sprite, and its properties.
Parameters
• delta: number
Returns
void
Overrides
Defined in
3d/src/cameras/FGameCamera.ts:57
getCameraDirection()
getCameraDirection():
Vector3
Get the direction of the camera. This method is useful to get the direction of the camera to apply forces in the direction of the camera.
Returns
Vector3
The direction of the camera. It is a normalized vector.
Inherited from
FOrbitCamera
.getCameraDirection
Defined in
lookAt()
lookAt(
target
):void
Make the camera look at a target.
Parameters
• target: FVector3
The target to look at.
Returns
void
Inherited from
Defined in
onCollisionWith()
onCollisionWith(
classOrObject
,callback
): () =>void
Add a callback to be called when a collision occurs.
Parameters
• classOrObject: any
The class or object to add the callback to.
• callback
The callback to add.
Returns
Function
A function to remove the callback.
Returns
void
Examples
const player = new Player()
const enemy = new Enemy()
player.onCollisionWith(Enemy, () => {
console.log('Player collided with an Enemy!')
})
const player = new Player()
const enemy = new Enemy()
player.onCollisionWith(enemy, () => {
console.log('Player collided with the enemy!')
})
Inherited from
Defined in
core/dist/index.d.ts:463
onFrame()
onFrame(
callback
):void
Add a callback to be called every frame.
Parameters
• callback
The callback function.
Returns
void
Inherited from
Defined in
core/dist/index.d.ts:431
onLoaded()
onLoaded(
callback
):void
Add a callback to be called when the component is loaded (could be a texture, a 3D model, etc).
Parameters
• callback
The callback function.
Returns
void
Inherited from
Defined in
core/dist/index.d.ts:436
removeController()
removeController(
controller
):void
Remove a controller from the component.
Parameters
• controller: FController
The controller to remove.
Returns
void
Inherited from
Defined in
core/dist/index.d.ts:420
setPosition()
setPosition(
position
):void
Set the position of the camera relative to the attached model.
Parameters
• position: FVector3
The position to set the camera to.
Returns
void
Inherited from
Defined in
3d/src/cameras/FOrbitCamera.ts:53
setZoom()
setZoom(
zoom
):void
Set the zoom of the camera.
Parameters
• zoom: number
The zoom level to set the camera to.
Returns
void
Inherited from
Defined in
3d/src/cameras/FOrbitCamera.ts:69
Properties
__CALLBACKS_ON_COLLISION__
__CALLBACKS_ON_COLLISION__:
object
Callbacks for when a collision occurs with a given class or object. It is a dictionary where the key is the class name or object id and the value is an array of callbacks.
Index Signature
[key
: string
]: (data
) => void
[]
Inherited from
FOrbitCamera
.__CALLBACKS_ON_COLLISION__
Defined in
core/dist/index.d.ts:399
__CALLBACKS_ON_FRAME__
__CALLBACKS_ON_FRAME__: () =>
void
[]
Callbacks for when a frame is rendered.
Inherited from
FOrbitCamera
.__CALLBACKS_ON_FRAME__
Defined in
core/dist/index.d.ts:390
__CALLBACKS_ON_LOADED__
__CALLBACKS_ON_LOADED__: () =>
void
[]
Callbacks for when the component is loaded (could be a texture, a 3D model, etc).
Inherited from
FOrbitCamera
.__CALLBACKS_ON_LOADED__
Defined in
core/dist/index.d.ts:394
__CAMERA__
__CAMERA__:
PerspectiveCamera
Three.js camera object.
Inherited from
Defined in
__ID__
__ID__:
number
Unique identifier for the component. It is generated automatically.
Inherited from
Defined in
core/dist/index.d.ts:386
__IS_2D__
__IS_2D__:
boolean
=false
Inherited from
Defined in
__IS_3D__
__IS_3D__:
boolean
=true
Internal flags
Inherited from
Defined in
attachedComponent
attachedComponent:
FComponent
Inherited from
FOrbitCamera
.attachedComponent
Defined in
3d/src/cameras/FOrbitCamera.ts:26
controllers
controllers:
FController
[]
The controllers attached to the component.
Inherited from
Defined in
core/dist/index.d.ts:409
controls
controls:
OrbitControls
Inherited from
Defined in
3d/src/cameras/FOrbitCamera.ts:28
isPointerLocked
isPointerLocked:
boolean
=false
Defined in
3d/src/cameras/FGameCamera.ts:25
lastMouseMoveEvent
lastMouseMoveEvent:
MouseEvent
Defined in
3d/src/cameras/FGameCamera.ts:27
scene
scene:
FScene
The scene the component is attached to.
Inherited from
Defined in
core/dist/index.d.ts:405
transform
transform:
FTransform
Transform of the camera.