跳到主要内容

Scenes

Ploy3D / Scenes

Class: Scenes

场景管理器。

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new Scenes()

构造函数。

Properties

highlightObject

highlightObject: Signal

当前高亮的对象。


inspectResource

inspectResource: Signal

当前检视的资源。


packageFilter

packageFilter: Signal

资源浏览器筛选查看当前选中资源包内容。


recentPackages

recentPackages: Signal

新建的资源包列表(包括当前场景资源包和导入资源包)。


sceneHierarchy

sceneHierarchy: Signal

当前场景树型结构数据事件管理器。


selectedObject

selectedObject: Signal

当前选中的对象。


selectedPackage

selectedPackage: Signal

当前选中的资源包,将在资源浏览器中显示资源包内容。

Accessors

phySimul

set phySimul(b): void

设置是否开启物理模拟。

Parameters

NameType
bboolean

Returns

void

Methods

ActiveScene

ActiveScene(id): void

激活指定场景。

Parameters

NameTypeDescription
idnumber指定场景索引,0将创建新场景。

Returns

void


AddKeyboardListener

AddKeyboardListener(type, action): void

注册键盘按键事件。

Parameters

NameTypeDescription
type"up" | "down"事件类型。
action(key: number) => void响应函数。

Returns

void


CreateHorizontalGrid

CreateHorizontalGrid(size, divisions): Promise<Object3D>

异步创建水平面网格。

Parameters

NameTypeDescription
sizenumber格栅边长。
divisionsnumber划分格子数(偶数)。

Returns

Promise<Object3D>

返回异步对象。


CreateTransformCtrl

CreateTransformCtrl(): Promise<void>

创建变换组件控制对象(TODO:优化实现)。

Returns

Promise<void>


DrawFrame

DrawFrame(count): void

绘制3D帧。 我们始终维持一个低开销的循环,并使用标记控制是否在循环中处理帧刷新。

Parameters

NameTypeDescription
countnumber将绘制不小于参数指定的帧数。

Returns

void


DropMaterial

DropMaterial(material, x, y): boolean

拖拽设置对象材质。

Parameters

NameType
materialMaterial
xnumber
ynumber

Returns

boolean


FocusObject

FocusObject(object3D): void

聚焦查看对象。

Parameters

NameTypeDescription
object3DObject3D3D对象。

Returns

void


HitHorizontal

HitHorizontal(pointX, pointY): Vector3

在水平面上拾取坐标。

Parameters

NameTypeDescription
pointXnumber屏幕坐标X[0, 1]
pointYnumber屏幕坐标Y[0, 1]

Returns

Vector3


InspectObject

InspectObject(object3D): { inspect_class: ClassID ; inspect_id: number } | { camera_active?: undefined ; camera_background?: undefined ; camera_clear_flags?: undefined ; camera_depth?: undefined ; camera_far?: undefined ; camera_fov?: undefined ; camera_has?: undefined ; camera_hdr?: undefined ; camera_msaa?: undefined ; camera_near?: undefined ; camera_projection?: undefined ; camera_size?: undefined ; inspect_class: ClassID ; inspect_id: number ; object_active: boolean ; object_layers: number ; object_localEulerAngles: number[] ; object_localPosition: number[] ; object_localScale: number[] ; object_name: string ; object_tag: number ; renderer_castShadows?: undefined ; renderer_enabled?: undefined ; renderer_has?: undefined ; renderer_materials?: undefined ; renderer_mesh?: undefined ; renderer_morphing?: undefined ; renderer_receiveShadows?: undefined ; renderer_skin?: undefined } | { camera_active: boolean ; camera_background: number[] ; camera_clear_flags: number ; camera_depth: number ; camera_far: number ; camera_fov: number ; camera_has: boolean ; camera_hdr: boolean ; camera_msaa: boolean ; camera_near: number ; camera_projection: number ; camera_size: number ; inspect_class: ClassID ; inspect_id: number ; object_active: boolean ; object_layers: number ; object_localEulerAngles: number[] ; object_localPosition: number[] ; object_localScale: number[] ; object_name: string ; object_tag: number ; renderer_castShadows?: undefined ; renderer_enabled?: undefined ; renderer_has?: undefined ; renderer_materials?: undefined ; renderer_mesh?: undefined ; renderer_morphing?: undefined ; renderer_receiveShadows?: undefined ; renderer_skin?: undefined } | { camera_active?: undefined ; camera_background?: undefined ; camera_clear_flags?: undefined ; camera_depth?: undefined ; camera_far?: undefined ; camera_fov?: undefined ; camera_has?: undefined ; camera_hdr?: undefined ; camera_msaa?: undefined ; camera_near?: undefined ; camera_projection?: undefined ; camera_size?: undefined ; inspect_class: ClassID ; inspect_id: number ; object_active: boolean ; object_layers: number ; object_localEulerAngles: number[] ; object_localPosition: number[] ; object_localScale: number[] ; object_name: string ; object_tag: number ; renderer_castShadows: boolean ; renderer_enabled: boolean ; renderer_has: boolean ; renderer_materials: string[] ; renderer_mesh: string ; renderer_morphing: number ; renderer_receiveShadows: boolean ; renderer_skin: string } | { camera_active: boolean ; camera_background: number[] ; camera_clear_flags: number ; camera_depth: number ; camera_far: number ; camera_fov: number ; camera_has: boolean ; camera_hdr: boolean ; camera_msaa: boolean ; camera_near: number ; camera_projection: number ; camera_size: number ; inspect_class: ClassID ; inspect_id: number ; object_active: boolean ; object_layers: number ; object_localEulerAngles: number[] ; object_localPosition: number[] ; object_localScale: number[] ; object_name: string ; object_tag: number ; renderer_castShadows: boolean ; renderer_enabled: boolean ; renderer_has: boolean ; renderer_materials: string[] ; renderer_mesh: string ; renderer_morphing: number ; renderer_receiveShadows: boolean ; renderer_skin: string }

获取3D对象检视信息。

Parameters

NameType
object3DObject3D

Returns

{ inspect_class: ClassID ; inspect_id: number } | { camera_active?: undefined ; camera_background?: undefined ; camera_clear_flags?: undefined ; camera_depth?: undefined ; camera_far?: undefined ; camera_fov?: undefined ; camera_has?: undefined ; camera_hdr?: undefined ; camera_msaa?: undefined ; camera_near?: undefined ; camera_projection?: undefined ; camera_size?: undefined ; inspect_class: ClassID ; inspect_id: number ; object_active: boolean ; object_layers: number ; object_localEulerAngles: number[] ; object_localPosition: number[] ; object_localScale: number[] ; object_name: string ; object_tag: number ; renderer_castShadows?: undefined ; renderer_enabled?: undefined ; renderer_has?: undefined ; renderer_materials?: undefined ; renderer_mesh?: undefined ; renderer_morphing?: undefined ; renderer_receiveShadows?: undefined ; renderer_skin?: undefined } | { camera_active: boolean ; camera_background: number[] ; camera_clear_flags: number ; camera_depth: number ; camera_far: number ; camera_fov: number ; camera_has: boolean ; camera_hdr: boolean ; camera_msaa: boolean ; camera_near: number ; camera_projection: number ; camera_size: number ; inspect_class: ClassID ; inspect_id: number ; object_active: boolean ; object_layers: number ; object_localEulerAngles: number[] ; object_localPosition: number[] ; object_localScale: number[] ; object_name: string ; object_tag: number ; renderer_castShadows?: undefined ; renderer_enabled?: undefined ; renderer_has?: undefined ; renderer_materials?: undefined ; renderer_mesh?: undefined ; renderer_morphing?: undefined ; renderer_receiveShadows?: undefined ; renderer_skin?: undefined } | { camera_active?: undefined ; camera_background?: undefined ; camera_clear_flags?: undefined ; camera_depth?: undefined ; camera_far?: undefined ; camera_fov?: undefined ; camera_has?: undefined ; camera_hdr?: undefined ; camera_msaa?: undefined ; camera_near?: undefined ; camera_projection?: undefined ; camera_size?: undefined ; inspect_class: ClassID ; inspect_id: number ; object_active: boolean ; object_layers: number ; object_localEulerAngles: number[] ; object_localPosition: number[] ; object_localScale: number[] ; object_name: string ; object_tag: number ; renderer_castShadows: boolean ; renderer_enabled: boolean ; renderer_has: boolean ; renderer_materials: string[] ; renderer_mesh: string ; renderer_morphing: number ; renderer_receiveShadows: boolean ; renderer_skin: string } | { camera_active: boolean ; camera_background: number[] ; camera_clear_flags: number ; camera_depth: number ; camera_far: number ; camera_fov: number ; camera_has: boolean ; camera_hdr: boolean ; camera_msaa: boolean ; camera_near: number ; camera_projection: number ; camera_size: number ; inspect_class: ClassID ; inspect_id: number ; object_active: boolean ; object_layers: number ; object_localEulerAngles: number[] ; object_localPosition: number[] ; object_localScale: number[] ; object_name: string ; object_tag: number ; renderer_castShadows: boolean ; renderer_enabled: boolean ; renderer_has: boolean ; renderer_materials: string[] ; renderer_mesh: string ; renderer_morphing: number ; renderer_receiveShadows: boolean ; renderer_skin: string }


InspectorModify

InspectorModify(key, value): void

从检视面板修改当前检视资源属性。

Parameters

NameTypeDescription
keystring属性键。
valueany属性值。

Returns

void


IsKeyDown

IsKeyDown(key): boolean

判断键盘按键是否按下。

Parameters

NameType
keynumber

Returns

boolean


OnMouseEvent

OnMouseEvent(code, element, event): void

鼠标事件默认响应方法。

Parameters

NameType
codenumber
elementHTMLElement
eventMouseEvent & { deltaY?: number }

Returns

void


ResetCamera

ResetCamera(): void

重置相机基本状态,并绑定默认事件。

Returns

void


Run

Run(): void

运行应用(创建场景,配置事件响应等),建议重写该方法。

Returns

void


SelectObject

SelectObject(x, y): Object

屏幕点击拾取对象。

Parameters

NameTypeDescription
xnumber屏幕坐标[0, 1]
ynumber屏幕坐标[0, 1]

Returns

Object

NameType
objObject3D
submeshnumber

Shutdown

Shutdown(): Promise<void>

销毁场景管理器。

Returns

Promise<void>


UpdateTransformCtrl

UpdateTransformCtrl(): void

更新变换组件控制对象。

Returns

void