Scenes
Ploy3D / Scenes
Class: Scenes
场景管理器。
Table of contents
Constructors
Properties
- highlightObject
- inspectResource
- packageFilter
- recentPackages
- sceneHierarchy
- selectedObject
- selectedPackage
Accessors
Methods
- ActiveScene
- AddKeyboardListener
- CreateHorizontalGrid
- CreateTransformCtrl
- DrawFrame
- DropMaterial
- FocusObject
- HitHorizontal
- InspectObject
- InspectorModify
- IsKeyDown
- OnMouseEvent
- ResetCamera
- Run
- SelectObject
- Shutdown
- UpdateTransformCtrl
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
Name | Type |
---|---|
b | boolean |
Returns
void
Methods
ActiveScene
▸ ActiveScene(id
): void
激活指定场景。
Parameters
Name | Type | Description |
---|---|---|
id | number | 指定场景索引,0将创建新场景。 |
Returns
void
AddKeyboardListener
▸ AddKeyboardListener(type
, action
): void
注册键盘按键事件。
Parameters
Name | Type | Description |
---|---|---|
type | "up" | "down" | 事件类型。 |
action | (key : number ) => void | 响应函数。 |
Returns
void
CreateHorizontalGrid
▸ CreateHorizontalGrid(size
, divisions
): Promise
<Object3D
>
异步创建水平面网格。
Parameters
Name | Type | Description |
---|---|---|
size | number | 格栅边长。 |
divisions | number | 划分格子数(偶数)。 |
Returns
Promise
<Object3D
>
返回异步对象。
CreateTransformCtrl
▸ CreateTransformCtrl(): Promise
<void
>
创建变换组件控制对象(TODO:优化实现)。
Returns
Promise
<void
>
DrawFrame
▸ DrawFrame(count
): void
绘制3D帧。 我们始终维持一个低开销的循环,并使用标记控制是否在循环中处理帧刷新。
Parameters
Name | Type | Description |
---|---|---|
count | number | 将绘制不小于参数指定的帧数。 |
Returns
void
DropMaterial
▸ DropMaterial(material
, x
, y
): boolean
拖拽设置对象材质。
Parameters
Name | Type |
---|---|
material | Material |
x | number |
y | number |
Returns
boolean
FocusObject
▸ FocusObject(object3D
): void
聚焦查看对象。
Parameters
Name | Type | Description |
---|---|---|
object3D | Object3D | 3D对象。 |
Returns
void
HitHorizontal
▸ HitHorizontal(pointX
, pointY
): Vector3
在水平面上拾取坐标。
Parameters
Name | Type | Description |
---|---|---|
pointX | number | 屏幕坐标X[0, 1] |
pointY | number | 屏幕坐标Y[0, 1] |
Returns
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
Name | Type |
---|---|
object3D | Object3D |
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
Name | Type | Description |
---|---|---|
key | string | 属性键。 |
value | any | 属性值。 |
Returns
void
IsKeyDown
▸ IsKeyDown(key
): boolean
判断键盘按键是否按下。
Parameters
Name | Type |
---|---|
key | number |
Returns
boolean
OnMouseEvent
▸ OnMouseEvent(code
, element
, event
): void
鼠标事件默认响应方法。
Parameters
Name | Type |
---|---|
code | number |
element | HTMLElement |
event | MouseEvent & { deltaY? : number } |
Returns
void
ResetCamera
▸ ResetCamera(): void
重置相机基本状态,并绑定默认事件。
Returns
void
Run
▸ Run(): void
运行应用(创建场景,配置事件响应等),建议重写该方法。
Returns
void
SelectObject
▸ SelectObject(x
, y
): Object
屏幕点击拾取对象。
Parameters
Name | Type | Description |
---|---|---|
x | number | 屏幕坐标[0, 1]。 |
y | number | 屏幕坐标[0, 1]。 |
Returns
Object
Name | Type |
---|---|
obj | Object3D |
submesh | number |
Shutdown
▸ Shutdown(): Promise
<void
>
销毁场景管理器。
Returns
Promise
<void
>
UpdateTransformCtrl
▸ UpdateTransformCtrl(): void
更新变换组件控制对象。
Returns
void