Options
All
  • Public
  • Public/Protected
  • All
Menu

Class PhysicsSystem

物理系统。

Hierarchy

  • System
    • PhysicsSystem

Implements

Index

Constructors

Private constructor

  • Returns PhysicsSystem

Properties

Private _allowSleep

_allowSleep: boolean = true

Private _deltaTime

_deltaTime: number = 1.0 / 60.0

Private _enable

_enable: boolean = true

Protected _executeInEditMode

_executeInEditMode: boolean = false

Private _gravity

_gravity: Vec3 = new Vec3(0, -10, 0)

Protected _id

_id: string = ""

Private _material

_material: PhysicMaterial | null = null

Private _maxSubStep

_maxSubStep: number = 1

Protected _priority

_priority: number = 0

Private _useFixedTime

_useFixedTime: boolean = true

physicsWorld

physicsWorld: IPhysicsWorld

raycastClosestResult

raycastClosestResult: PhysicsRayResult = new PhysicsRayResult()

Private raycastResultPool

raycastResultPool: RecyclePool<PhysicsRayResult> = new RecyclePool<PhysicsRayResult>(() => {return new PhysicsRayResult();}, 1)

raycastResults

raycastResults: PhysicsRayResult[] = []

Static ID

ID: "physics"

Static Private _instance

_instance: PhysicsSystem

Accessors

allowSleep

  • get allowSleep(): boolean
  • set allowSleep(v: boolean): void
  • 获取或设置物理系统是否允许自动休眠,默认为 true

    Returns boolean

  • Parameters

    • v: boolean

    Returns void

defaultMaterial

  • 获取全局的默认物理材质,注意:builtin 时为 null

    Returns PhysicMaterial | null

deltaTime

  • get deltaTime(): number
  • set deltaTime(value: number): void
  • 获取或设置每步模拟消耗的固定时间。

    Returns number

  • Parameters

    • value: number

    Returns void

enable

  • get enable(): boolean
  • set enable(value: boolean): void
  • 获取或设置是否启用物理系统,可以用于暂停或继续运行物理系统。

    Returns boolean

  • Parameters

    • value: boolean

    Returns void

gravity

  • get gravity(): Vec3
  • set gravity(gravity: Vec3): void
  • 获取或设置物理世界的重力数值,默认为 (0, -10, 0)

    Returns Vec3

  • Parameters

    Returns void

id

  • get id(): string
  • set id(id: string): void
  • Returns string

  • Parameters

    • id: string

    Returns void

maxSubStep

  • get maxSubStep(): number
  • set maxSubStep(value: number): void
  • 获取或设置每帧模拟的最大子步数。

    Returns number

  • Parameters

    • value: number

    Returns void

priority

  • get priority(): number
  • set priority(value: number): void
  • Returns number

  • Parameters

    • value: number

    Returns void

useFixedTime

  • get useFixedTime(): boolean
  • set useFixedTime(value: boolean): void
  • 获取或设置是否使用固定的时间步长进行模拟,默认为 true。

    Returns boolean

  • Parameters

    • value: boolean

    Returns void

Static instance

  • get instance(): any
  • Returns any

Methods

Private updateMaterial

  • _updateMaterial(): void
  • Returns void

init

  • init(): void
  • Returns void

postUpdate

  • postUpdate(deltaTime: number): void
  • 执行一次物理系统的模拟,目前将在每帧自动执行一次。

    Parameters

    • deltaTime: number

      与上一次执行相差的时间,目前为每帧消耗时间

    Returns void

raycast

  • raycast(worldRay: ray, mask?: number, maxDistance?: number, queryTrigger?: boolean): boolean
  • 检测所有的碰撞盒,并记录所有被检测到的结果,通过 PhysicsSystem.instance.raycastResults 访问结果

    Parameters

    • worldRay: ray

      世界空间下的一条射线

    • Default value mask: number = 4294967295

      掩码,默认为 0xffffffff

    • Default value maxDistance: number = 10000000

      最大检测距离,默认为 10000000,目前请勿传入 Infinity 或 Number.MAX_VALUE

    • Default value queryTrigger: boolean = true

      是否检测触发器

    Returns boolean

    boolean 表示是否有检测到碰撞盒

raycastClosest

  • raycastClosest(worldRay: ray, mask?: number, maxDistance?: number, queryTrigger?: boolean): boolean
  • 检测所有的碰撞盒,并记录与射线距离最短的检测结果,通过 PhysicsSystem.instance.raycastClosestResult 访问结果

    Parameters

    • worldRay: ray

      世界空间下的一条射线

    • Default value mask: number = 4294967295

      掩码,默认为 0xffffffff

    • Default value maxDistance: number = 10000000

      最大检测距离,默认为 10000000,目前请勿传入 Infinity 或 Number.MAX_VALUE

    • Default value queryTrigger: boolean = true

      是否检测触发器

    Returns boolean

    boolean 表示是否有检测到碰撞盒

update

  • update(dt: number): void
  • Parameters

    • dt: number

    Returns void

Static sortByPriority

  • sortByPriority(a: System, b: System): 1 | 0 | -1
  • Parameters

    • a: System
    • b: System

    Returns 1 | 0 | -1

Object literals

Private raycastOptions

raycastOptions: object

group

group: number = -1

mask

mask: number = -1

maxDistance

maxDistance: number = 10000000

queryTrigger

queryTrigger: true = true

Generated using TypeDoc