Skip to content

Documentation / scene / SharedModel

Class: SharedModel

Defined in: libs/scene/src/asset/model.ts:840

Model information that can be shared by multiple model nodes

Extends

  • Disposable

Constructors

Constructor

new SharedModel(): SharedModel

Defined in: libs/scene/src/asset/model.ts:877

Creates an instance of SharedModel

Returns

SharedModel

Overrides

Disposable.constructor

Accessors

disposed

Get Signature

get disposed(): boolean

Defined in: libs/base/dist/index.d.ts:6065

Returns

boolean

Inherited from

Disposable.disposed


scenes

Get Signature

get scenes(): AssetScene[]

Defined in: libs/scene/src/asset/model.ts:897

All scenes that the model contains

Returns

AssetScene[]


primitives

Get Signature

get primitives(): AssetPrimitiveInfo[]

Defined in: libs/scene/src/asset/model.ts:901

All Primitives that the model contains

Returns

AssetPrimitiveInfo[]


nodes

Get Signature

get nodes(): AssetHierarchyNode[]

Defined in: libs/scene/src/asset/model.ts:905

All nodes that the model contains

Returns

AssetHierarchyNode[]


animations

Get Signature

get animations(): AssetAnimationData[]

Defined in: libs/scene/src/asset/model.ts:909

All animations that the model contains

Returns

AssetAnimationData[]


skeletons

Get Signature

get skeletons(): AssetSkeleton[]

Defined in: libs/scene/src/asset/model.ts:913

All skeletons that the model contains

Returns

AssetSkeleton[]


springBoneColliders

Get Signature

get springBoneColliders(): AssetSpringBoneCollider[]

Defined in: libs/scene/src/asset/model.ts:917

All SpringBone colliders that the model contains

Returns

AssetSpringBoneCollider[]


springBoneColliderGroups

Get Signature

get springBoneColliderGroups(): AssetSpringBoneColliderGroup[]

Defined in: libs/scene/src/asset/model.ts:921

All SpringBone collider groups that the model contains

Returns

AssetSpringBoneColliderGroup[]


springBones

Get Signature

get springBones(): AssetSpringBone[]

Defined in: libs/scene/src/asset/model.ts:925

All SpringBone springs that the model contains

Returns

AssetSpringBone[]


jointDynamicsColliders

Get Signature

get jointDynamicsColliders(): AssetJointDynamicsCollider[]

Defined in: libs/scene/src/asset/model.ts:929

SpringBone colliders converted to Zephyr3D JointDynamics collider format

Returns

AssetJointDynamicsCollider[]


jointDynamicsSpringBones

Get Signature

get jointDynamicsSpringBones(): AssetJointDynamicsSpringBone[]

Defined in: libs/scene/src/asset/model.ts:933

SpringBone springs converted to Zephyr3D JointDynamics system format

Returns

AssetJointDynamicsSpringBone[]


morphTargetGroups

Get Signature

get morphTargetGroups(): AssetMorphTargetGroup[]

Defined in: libs/scene/src/asset/model.ts:937

Model-level morph target groups, commonly facial expressions.

Returns

AssetMorphTargetGroup[]


activeScene

Get Signature

get activeScene(): number

Defined in: libs/scene/src/asset/model.ts:941

The active scene of the model

Returns

number

Set Signature

set activeScene(val): void

Defined in: libs/scene/src/asset/model.ts:944

Parameters
val

number

Returns

void

Methods

on()

on<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:594

IEventTarget.on

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

EventListener<{ dispose: []; }, K>

context?

unknown

Returns

void

Inherited from

Disposable.on


once()

once<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:598

IEventTarget.once

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

EventListener<{ dispose: []; }, K>

context?

unknown

Returns

void

Inherited from

Disposable.once


off()

off<K>(type, listener?, context?): void

Defined in: libs/base/dist/index.d.ts:602

IEventTarget.off

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener?

EventListener<{ dispose: []; }>

context?

unknown

Returns

void

Inherited from

Disposable.off


dispatchEvent()

dispatchEvent<K>(type, ...args): void

Defined in: libs/base/dist/index.d.ts:606

IEventTarget.dispatchEvent

Type Parameters

K

K extends "dispose"

Parameters

type

K

args

...object[K]

Returns

void

Inherited from

Disposable.dispatchEvent


dispose()

dispose(): void

Defined in: libs/base/dist/index.d.ts:6066

Returns

void

Inherited from

Disposable.dispose


getImage()

getImage(index): AssetImageInfo

Defined in: libs/scene/src/asset/model.ts:947

Parameters

index

number

Returns

AssetImageInfo


setImage()

setImage(index, img): void

Defined in: libs/scene/src/asset/model.ts:950

Parameters

index

number

img

AssetImageInfo

Returns

void


getMaterial()

getMaterial(hash): AssetMaterial

Defined in: libs/scene/src/asset/model.ts:953

Parameters

hash

string

Returns

AssetMaterial


setMaterial()

setMaterial(hash, material): void

Defined in: libs/scene/src/asset/model.ts:956

Parameters

hash

string

material

AssetMaterial

Returns

void


addPrimitive()

addPrimitive(prim): void

Defined in: libs/scene/src/asset/model.ts:959

Parameters

prim

AssetPrimitiveInfo

Returns

void


addMorphTargetGroup()

addMorphTargetGroup(group): void

Defined in: libs/scene/src/asset/model.ts:1203

Adds a model-level morph target group.

Parameters

group

AssetMorphTargetGroup

Morph target group to add

Returns

void


clearMorphTargetGroups()

clearMorphTargetGroups(): void

Defined in: libs/scene/src/asset/model.ts:1211

Removes all model-level morph target groups.

Returns

void


getMorphTargetGroup()

getMorphTargetGroup(name): AssetMorphTargetGroup

Defined in: libs/scene/src/asset/model.ts:1219

Finds a model-level morph target group by name.

Parameters

name

string

Group name

Returns

AssetMorphTargetGroup

The matching group, or null if not found


buildMorphTargetGroupsByName()

buildMorphTargetGroupsByName(): AssetMorphTargetGroup[]

Defined in: libs/scene/src/asset/model.ts:1226

Builds morph target groups by collecting morph target names from every mesh.

Returns

AssetMorphTargetGroup[]

Generated morph target groups


addSkeleton()

addSkeleton(skeleton): void

Defined in: libs/scene/src/asset/model.ts:1259

Adds a skeleton to the scene

Parameters

skeleton

AssetSkeleton

The skeleton to be added

Returns

void


addAnimation()

addAnimation(animation): void

Defined in: libs/scene/src/asset/model.ts:1266

Adds an animation to the scene

Parameters

animation

AssetAnimationData

The animation to be added

Returns

void


writePrimitive()

static writePrimitive(vfs, primitive, path): Promise<void>

Defined in: libs/scene/src/asset/model.ts:1269

Parameters

vfs

VFS

primitive

AssetPrimitiveInfo

path

string

Returns

Promise<void>


preprocess()

preprocess(manager, name, destPath, srcVFS, dstVFS): Promise<void>

Defined in: libs/scene/src/asset/model.ts:1298

preprocess

Parameters

manager

ResourceManager

name

string

destPath

string

srcVFS

VFS

dstVFS

VFS

Returns

Promise<void>


createJointDynamics()

createJointDynamics(rootNode, nodeMap): void

Defined in: libs/scene/src/asset/model.ts:1448

Parameters

rootNode

SceneNode

nodeMap

Map<AssetHierarchyNode, SceneNode>

Returns

void


createSceneNode()

createSceneNode(manager, scene, instancing, saveMeshes, saveSkeletons, saveAnimations, saveJointDynamics, srcVFS): Promise<SceneNode>

Defined in: libs/scene/src/asset/model.ts:1628

Parameters

manager

ResourceManager

scene

Scene

instancing

boolean

saveMeshes

boolean

saveSkeletons

boolean

saveAnimations

boolean

saveJointDynamics

boolean

srcVFS

VFS

Returns

Promise<SceneNode>


onDispose()

protected onDispose(): void

Defined in: libs/scene/src/asset/model.ts:2018

Returns

void

Overrides

Disposable.onDispose

Released under the MIT License.