Class TCastlePlaneCollider
Unit
Declaration
type TCastlePlaneCollider = class(TCastleCollider)
Description
Push everything to be above the given static plane, like a floor.
Half of 3D space (below the plane) is effectively collidable, and everything is pushed to be above the floor. Note: This is more than just "collide as an infinite plane", because even if you place a body completely below the plane, it will be pushed up.
Add this collider to TCastleTransform behaviors, along with a TCastleRigidBody, to make the given TCastleTransform be affected by physics and collide with other physics bodies.
This collider supports only static rigid bodies. The associated TCastleRigidBody instance (with the same TCastleTransform parent) will behave as if TCastleRigidBody.Dynamic and TCastleRigidBody.Animated are False
.
Hierarchy
- TObject
- TPersistent
- TComponent
- TCastleComponent
- TCastleBehavior
- TCastleCollider
- TCastlePlaneCollider
Overview
Methods
function CreateKraftShape(const APhysics: TKraft; const ARigidBody: TKraftRigidBody): TKraftShape; override; |
|
procedure CalculateSizeCore; override; |
|
procedure UpdateVisualization; override; |
|
constructor Create(AOwner: TComponent); override; |
|
destructor Destroy; override; |
|
procedure InternalDesigningBegin; override; |
|
procedure InternalDesigningEnd; override; |
|
function PropertySections(const PropertyName: String): TPropertySections; override; |
Properties
property Normal: TVector3 read FNormal write SetNormal stored StoredWithAutoSize; |
|
property Distance: Single read FDistance write SetDistance stored StoredWithAutoSize; |
|
property NormalPersistent: TCastleVector3Persistent read FNormalPersistent stored StoredWithAutoSize; |
Description
Methods
function CreateKraftShape(const APhysics: TKraft; const ARigidBody: TKraftRigidBody): TKraftShape; override; |
|
This item has no description. |
procedure CalculateSizeCore; override; |
|
This item has no description. Showing description inherited from TCastleCollider.CalculateSizeCore. Recalculate collider size. Do not be concerned about AutoSize here, just update collider properties. The default implementation resets Translation and Rotation. |
procedure UpdateVisualization; override; |
|
This item has no description. Showing description inherited from TCastleCollider.UpdateVisualization. Called when the collider size has changed and needs to be updated. |
constructor Create(AOwner: TComponent); override; |
|
This item has no description. |
destructor Destroy; override; |
|
This item has no description. |
procedure InternalDesigningBegin; override; |
|
This item has no description. Showing description inherited from TCastleCollider.InternalDesigningBegin. Create collider visualization. |
procedure InternalDesigningEnd; override; |
|
This item has no description. Showing description inherited from TCastleCollider.InternalDesigningEnd. Destroy collider visualization. |
function PropertySections(const PropertyName: String): TPropertySections; override; |
|
This item has no description. Showing description inherited from TCastleComponent.PropertySections. Section where to show property in the editor. |
Properties
property Normal: TVector3 read FNormal write SetNormal stored StoredWithAutoSize; |
|
Normal vector of the plane. By default this is +Y (if not AutoSize). This makes the default plane by constant in Y axis, and span to infinity in X and Z axis. This makes it nice as a ground/floor in 3D. |
property Distance: Single read FDistance write SetDistance stored StoredWithAutoSize; |
|
Distance from (0,0,0) to the point. Default 0 (if not AutoSize). |
property NormalPersistent: TCastleVector3Persistent read FNormalPersistent stored StoredWithAutoSize; |
|
Normal that can be visually edited in Castle Game Engine Editor, Lazarus and Delphi. Normal user code does not need to deal with this, instead read or write Normal directly. See also
|
Generated by PasDoc 0.16.0-snapshot.