Class: FOBJ
An OBJ model in Fibbo.
Example
import { FOBJ, FScene } from '@fibbojs/3d'
const scene = new FScene()
const obj = new FOBJ(scene, {
path: 'model.obj',
})
scene.addComponent(obj)
Extends
Constructors
new FOBJ()
new FOBJ(
scene
,options
):FOBJ
Parameters
• scene: FScene
• options: FModelOptions
Returns
Overrides
Defined in
Methods
__SET_POSITION__()
__SET_POSITION__(
position
):void
Parameters
• position: FVector3
Returns
void
Inherited from
Defined in
__SET_ROTATION__()
__SET_ROTATION__(
rotation
):void
Parameters
• rotation: FVector3
Returns
void
Inherited from
Defined in
__SET_SCALE__()
__SET_SCALE__(
scale
):void
Parameters
• scale: FVector3
Returns
void
Inherited from
Defined in
__UPDATE_POSITION__()
__UPDATE_POSITION__(
initiator
):void
Update the position of the component according to the transform. This method should be called after updating the transform properties.
Parameters
• initiator: boolean
= false
By default (false), the component won't be considered as the initiator of the position update. Set this to true to propagate the position update to the rigidBody, collider and sensor.
Returns
void
Inherited from
Defined in
__UPDATE_ROTATION__()
__UPDATE_ROTATION__(
initiator
):void
Update the rotation of the component according to the transform. This method should be called after updating the transform properties.
Parameters
• initiator: boolean
= false
By default (false), the component won't be considered as the initiator of the rotation update. Set this to true to propagate the rotation update to the rigidBody, collider and sensor.
Returns
void
Inherited from
Defined in
__UPDATE_SCALE__()
__UPDATE_SCALE__(
initiator
):void
Update the scale of the component according to the transform. This method should be called after updating the transform properties.
Parameters
• initiator: boolean
= false
By default (false), the component won't be considered as the initiator of the scale update. Set this to true to propagate the scale update to the rigidBody, collider and sensor.
Returns
void
Inherited from
Defined in
defineMeshTransforms()
defineMeshTransforms():
void
Define mesh transforms (used after loading the model).
Returns
void
Inherited from
Defined in
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
Defined in
core/dist/index.d.ts:293
emitOnLoaded()
emitOnLoaded():
void
Emit the onLoaded callbacks. It was overridden to add shadow support.
Returns
void
Inherited from
Defined in
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
Inherited from
Defined in
initCollider()
initCollider(
options
?):void
Parameters
• options?: FColliderOptions
Returns
void
Inherited from
Defined in
initRigidBody()
initRigidBody(
options
?):void
Parameters
• options?: FRigidBodyOptions
Returns
void
Inherited from
Defined in
initSensor()
initSensor(
options
?):void
Parameters
• options?: FRigidBodyOptions
Returns
void
Inherited from
Defined in
loadTextureForMesh()
loadTextureForMesh(
mesh
):void
Load the texture for a given mesh.
Parameters
• mesh: Mesh
<BufferGeometry
<NormalBufferAttributes
>, Material
| Material
[], Object3DEventMap
>
The mesh.
Returns
void
Example
model.loadTextureFor(material)
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
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:238
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:243
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
FModel
.__CALLBACKS_ON_COLLISION__
Defined in
core/dist/index.d.ts:216
__CALLBACKS_ON_FRAME__
__CALLBACKS_ON_FRAME__: () =>
void
[]
Callbacks for when a frame is rendered.
Inherited from
Defined in
core/dist/index.d.ts:207
__CALLBACKS_ON_LOADED__
__CALLBACKS_ON_LOADED__: () =>
void
[]
Callbacks for when the component is loaded (could be a texture, a 3D model, etc).
Inherited from
FModel
.__CALLBACKS_ON_LOADED__
Defined in
core/dist/index.d.ts:211
__ID__
__ID__:
number
Unique identifier for the component. It is generated automatically.
Inherited from
Defined in
core/dist/index.d.ts:203
__IS_2D__
__IS_2D__:
boolean
Inherited from
Defined in
core/dist/index.d.ts:198
__IS_3D__
__IS_3D__:
boolean
=true
Internal flags
Inherited from
Defined in
__MESH__?
optional
__MESH__:Mesh
<BufferGeometry
<NormalBufferAttributes
>,Material
|Material
[],Object3DEventMap
> |Group
<Object3DEventMap
>
Mesh
Inherited from
Defined in
collider?
optional
collider:FCollider
Collider
Inherited from
Defined in
controller?
optional
controller:FController
The controller attached to the component.
Inherited from
Defined in
fileExtension
fileExtension:
string
The file extension of the model. Default is 'obj'.
Inherited from
Defined in
name
name:
string
The name of the model. Shouldn't contain file extensions.
Inherited from
Defined in
path
path:
string
The path to the model file. Will be interpreted as a URL if it starts with http. Will be interpreted as an absolute path if it starts with /. Otherwise, it will be treated as a relative path to the models folder.
Inherited from
Defined in
rigidBody?
optional
rigidBody:FRigidBody
RigidBody
Inherited from
Defined in
scene
scene:
FScene
The scene which the component is in.
Inherited from
Defined in
sensor?
optional
sensor:FRigidBody
Sensor (a collider that doesn't collide with other colliders, but still triggers events)
Inherited from
Defined in
textures
textures:
Record
<string
,string
>
A record containing texture path for each material.
Example
{
"default": "/models/my-model/my-model.png"
}
Inherited from
Defined in
transform
transform:
FTransform
Transforms