Hilo3d API - v2.0.0-alpha.3
    Preparing search index...

    Interface SemanticMesh

    Mesh

    const mesh = new Hilo3d.Mesh({
    geometry: new Hilo3d.BoxGeometry(),
    material: new Hilo3d.BasicMaterial({
    diffuse: new Hilo3d.Color(0.8, 0, 0)
    }),
    x:100,
    rotationX:30
    });
    stage.addChild(mesh);
    interface SemanticMesh {
        __forceUseParentWorldMatrix: boolean;
        _listeners: ListenerMap | null;
        _matrixDirty: boolean;
        _originName?: string;
        _quatDirty: boolean;
        anim: Animation | null;
        animationId: string;
        autoUpdateChildWorldMatrix: boolean;
        autoUpdateWorldMatrix: boolean;
        castShadows: boolean;
        children: Node[];
        className: string;
        frustumTest: boolean;
        geometry: Geometry;
        id: string;
        isCamera: boolean;
        isMesh: boolean;
        isNode: boolean;
        isSkinnedMesh: boolean;
        jointName: string;
        layer: number;
        material: MaterialInstance | null;
        matrixVersion: number;
        name: string;
        needCallChildUpdate: boolean;
        onlySyncQuaternion: boolean;
        onUpdate: ((deltaTime: number) => void) | null;
        parent: Node | null;
        pointerChildren: boolean;
        pointerEnabled: boolean;
        receiveShadows: boolean;
        renderOrder: number;
        up: Vector3;
        useHandCursor: boolean;
        useInstanced: boolean;
        userData: unknown;
        visible: boolean;
        worldMatrix: Matrix4;
        worldMatrixVersion: number;
        get isDestroyed(): boolean;
        get matrix(): Matrix4Notifier;
        get pivot(): Vector3Notifier;
        get pivotX(): number;
        set pivotX(value: number): void;
        get pivotY(): number;
        set pivotY(value: number): void;
        get pivotZ(): number;
        set pivotZ(value: number): void;
        get position(): Vector3Notifier;
        get quaternion(): Quaternion;
        get rotation(): EulerNotifier;
        get rotationX(): number;
        set rotationX(value: number): void;
        get rotationY(): number;
        set rotationY(value: number): void;
        get rotationZ(): number;
        set rotationZ(value: number): void;
        get scale(): Vector3Notifier;
        get scaleX(): number;
        set scaleX(value: number): void;
        get scaleY(): number;
        set scaleY(value: number): void;
        get scaleZ(): number;
        set scaleZ(value: number): void;
        get sortingLayer(): number;
        set sortingLayer(value: number): void;
        get x(): number;
        set x(value: number): void;
        get y(): number;
        set y(value: number): void;
        get z(): number;
        set z(value: number): void;
        get zIndex(): number;
        set zIndex(value: number): void;
        _firePointerEvent(event: NodePointerEvent): void;
        _onMatrixUpdate(): void;
        _onPivotUpdate(): void;
        _onPositionUpdate(): void;
        _onQuaternionUpdate(): void;
        _onRotationUpdate(): void;
        _onScaleUpdate(): void;
        addChild(child: Node): this;
        addTo(parent: Node): this;
        clone(isChild?: boolean): Mesh;
        destroy(
            renderer?: Renderer<RendererBackend>,
            needDestroyTextures?: boolean,
        ): this;
        fire(typeOrEvent?: string | DispatchEvent, detail?: unknown): boolean;
        getBounds(
            parent?: Node,
            currentMatrix?: Matrix4,
            bounds?: Bounds,
        ): Bounds | undefined;
        getChildByFn(fn: NodeGetChildByCallback): Node | null;
        getChildByFnBFS(fn: NodeGetChildByCallback): Node | null;
        getChildById(id: string): Node | null;
        getChildByName(name: string): Node | null;
        getChildByNamePath(path: string[]): Node | null;
        getChildrenByBaseClassName(className: string): Node[];
        getChildrenByClassName(className: string): Node[];
        getChildrenByFn(fn: NodeGetChildByCallback): Node[];
        getChildrenByName(name: string): Node[];
        getChildrenNameMap(): Record<string, Node>;
        getConcatenatedMatrix(ancestor?: Node): Matrix4;
        getJointMat(): Float32Array;
        getRenderOption(opt?: ShaderOptions): ShaderOptions;
        invalidateTransformHistory(): this;
        lookAt(node: { x: number; y: number; z: number }): this;
        off(type?: string, listener?: EventListener<DispatchEvent>): this;
        on(type: string, listener: EventListener, once?: boolean): this;
        raycast(ray: Ray, sort?: boolean): Vector3[] | null;
        removeChild(child: Node): this;
        removeFromParent(): this;
        resetSkinnedMeshRootNode(): void;
        setAnim(anim: Animation): this;
        setPivot(x: number, y: number, z: number): this;
        setPosition(x: number, y: number, z: number): this;
        setRotation(x: number, y: number, z: number): this;
        setScale(x: number, y?: number, z?: number): this;
        traverse(callback: NodeTraverseCallback, onlyChild?: boolean): this;
        traverseBFS(callback: NodeTraverseCallback, onlyChild?: boolean): this;
        traverseUpdate(dt: number): this;
        update(_dt: number): void;
        updateMatrix(): this;
        updateMatrixWorld(force?: boolean): this;
        updateQuaternion(): this;
        updateTransform(): this;
    }

    Hierarchy (View Summary)

    Index
    __forceUseParentWorldMatrix: boolean = false

    是否强制使用父元素 worldMatrix,供高级开发者使用

    _listeners: ListenerMap | null = null
    _matrixDirty: boolean = false
    _originName?: string
    _quatDirty: boolean = false
    anim: Animation | null = null

    动画

    animationId: string = ''

    animation 查找 id

    autoUpdateChildWorldMatrix: boolean = true

    是否自动更新子元素世界矩阵

    autoUpdateWorldMatrix: boolean = true

    是否自动更新世界矩阵

    castShadows: boolean = true

    Object participation in shadow-caster renderer lists.

    children: Node[]
    className: string = 'Mesh'
    frustumTest: boolean = true

    是否开启视锥体裁剪

    geometry: Geometry
    id: string
    isCamera: boolean = false
    isMesh: boolean = true
    isNode: boolean = true
    isSkinnedMesh: boolean
    jointName: string = ''

    骨骼名称

    layer: number = 1

    Scene-layer bit mask. Bit zero is the default 3D layer.

    Parents do not override a child's layer: visible controls hierarchical visibility, while layer controls per-camera collection for each renderable node.

    material: MaterialInstance | null = null
    matrixVersion: number = 0

    矩阵 version,每次改变会加一

    name: string = ''

    Node 的名字,可以通过 getChildByName 查找

    needCallChildUpdate: boolean = true

    每次更新的时候是否调用子节点的 onUpdate 方法

    onlySyncQuaternion: boolean = false

    只同步四元数,不同步欧拉角

    onUpdate: ((deltaTime: number) => void) | null = null

    update 回调

    parent: Node | null = null

    父节点

    pointerChildren: boolean = true

    子元素是否接受交互事件。

    pointerEnabled: boolean = true

    可视对象是否接受交互事件。默认为接受交互事件,即true。

    receiveShadows: boolean = true

    Whether forward shading consumes scene shadow data for this object.

    renderOrder: number = 0

    Object ordering policy; it is intentionally independent of material identity.

    useHandCursor: boolean = false

    是否用鼠标指针

    useInstanced: boolean = false

    是否使用 Instanced

    userData: unknown = null

    用户数据

    visible: boolean = true

    节点是否显示

    worldMatrix: Matrix4
    worldMatrixVersion: number = 0

    世界矩阵 version,每次改变会加一

    • get isDestroyed(): boolean

      是否被销毁

      Returns boolean

    • get pivotX(): number

      中心点x

      Returns number

    • set pivotX(value: number): void

      中心点x

      Parameters

      • value: number

      Returns void

    • get pivotY(): number

      中心点y

      Returns number

    • set pivotY(value: number): void

      中心点y

      Parameters

      • value: number

      Returns void

    • get pivotZ(): number

      中心点z

      Returns number

    • set pivotZ(value: number): void

      中心点z

      Parameters

      • value: number

      Returns void

    • get rotationX(): number

      旋转角度 x, 角度制

      Returns number

    • set rotationX(value: number): void

      旋转角度 x, 角度制

      Parameters

      • value: number

      Returns void

    • get rotationY(): number

      旋转角度 y, 角度制

      Returns number

    • set rotationY(value: number): void

      旋转角度 y, 角度制

      Parameters

      • value: number

      Returns void

    • get rotationZ(): number

      旋转角度 z, 角度制

      Returns number

    • set rotationZ(value: number): void

      旋转角度 z, 角度制

      Parameters

      • value: number

      Returns void

    • get scaleX(): number

      缩放比例x

      Returns number

    • set scaleX(value: number): void

      缩放比例x

      Parameters

      • value: number

      Returns void

    • get scaleY(): number

      缩放比例y

      Returns number

    • set scaleY(value: number): void

      缩放比例y

      Parameters

      • value: number

      Returns void

    • get scaleZ(): number

      缩放比例z

      Returns number

    • set scaleZ(value: number): void

      缩放比例z

      Parameters

      • value: number

      Returns void

    • get sortingLayer(): number

      Coarse 2D display layer. Higher values render later.

      Unlike layer, this value does not affect Camera visibility. Sprite and Text2D ordering is stable for equal sortingLayer and zIndex, so scene-tree traversal order remains the final tie breaker.

      Returns number

    • set sortingLayer(value: number): void

      Parameters

      • value: number

      Returns void

    • get x(): number

      x轴坐标

      Returns number

    • set x(value: number): void

      x轴坐标

      Parameters

      • value: number

      Returns void

    • get y(): number

      y轴坐标

      Returns number

    • set y(value: number): void

      y轴坐标

      Parameters

      • value: number

      Returns void

    • get z(): number

      z轴坐标

      Returns number

    • set z(value: number): void

      z轴坐标

      Parameters

      • value: number

      Returns void

    • 将当前元素添加到某个父元素的子元素中

      Parameters

      • parent: Node

        需要添加到的父元素

      Returns this

      this

    • clone 当前mesh

      Parameters

      • OptionalisChild: boolean

        是否子元素

      Returns Mesh

      返回clone的实例

    • 获取元素的包围盒信息

      Parameters

      • Optionalparent: Node

        元素相对于哪个祖先元素的包围盒,不传表示世界

      • OptionalcurrentMatrix: Matrix4

        当前计算的矩阵

      • Optionalbounds: Bounds

        当前计算的包围盒信息

      Returns Bounds | undefined

      返回计算的包围盒信息

    • 获取指定name的首个子孙元素

      Parameters

      • name: string

        元素name

      Returns Node | null

      获取的元素

    • 根据 name path 来获取子孙元素

      Parameters

      • path: string[]

        名字数组, e.g., getChildByNamePath(['a', 'b', 'c'])

      Returns Node | null

      返回获取到的子孙元素

    • 将所以子孙元素放到一个对象中,对象key为元素的name,value为该元素

      Returns Record<string, Node>

      返回获取的对象

    • 获取当前元素相对于指定元素的矩阵

      Parameters

      • Optionalancestor: Node

        相对于的元素,需要是当前元素的祖先元素,不传表示获取世界矩阵

      Returns Matrix4

      返回获取的矩阵

    • Reset this node's previous-frame transform on its next submitted render.

      Call this after a discontinuous teleport, origin shift, camera cut, or animation reset so temporal effects receive previous === current instead of a false motion vector.

      Returns this

      this

    • 改变元素的朝向

      Parameters

      • node: { x: number; y: number; z: number }

        需要朝向的元素,或者坐标

      Returns this

      this

    • 设置中心点

      Parameters

      • x: number

        中心点x

      • y: number

        中心点y

      • z: number

        中心点z

      Returns this

      this

    • 设置元素的位置

      Parameters

      • x: number

        X方向位置

      • y: number

        Y方向位置

      • z: number

        Z方向位置

      Returns this

      this

    • 设置元素的旋转

      Parameters

      • x: number

        X轴旋转角度, 角度制

      • y: number

        Y轴旋转角度, 角度制

      • z: number

        Z轴旋转角度, 角度制

      Returns this

      this

    • 设置元素的缩放比例,如果只有一个参数三个轴等比缩放

      Parameters

      • x: number

        X缩放比例

      • y: number = x

        Y缩放比例

      • z: number = y

        Z缩放比例

      Returns this

      this

    • 遍历调用子孙元素onUpdate方法

      Parameters

      • dt: number

      Returns this

      this

    • Per-node update hook called by traverseUpdate() before onUpdate.

      Subclasses use this hook for built-in behavior such as sprite animation without consuming the application-owned onUpdate callback. Subclass constructors must call enableUpdateHook() to opt into the traversal hot path.

      Parameters

      • _dt: number

        Elapsed time in milliseconds.

      Returns void

    • 更新世界矩阵

      Parameters

      • Optionalforce: boolean

        是否强制更新

      Returns this

      this