Unit CastleCameras

Description

Camera and navigation (TCastleCamera, TCastleExamineNavigation, TCastleWalkNavigation).

Uses

Overview

Classes, Interfaces, Objects and Records

Name Description
Class EViewportNotAssigned  
Class TCastleNavigation Handle user input to modify viewport's camera.
Class TCastleExamineNavigation Navigate the 3D model in examine mode, like you would hold a box with the model inside.
Class TCastle2DNavigation Navigation most suitable for 2D viewports (with orthographic projection and standard direction/up: -Z/+Y).
Class TCastleMouseLookNavigation Abstract navigation class that can utilize mouse look, during which mouse cursor is hidden and we look at MouseLookDelta every frame.
Class TCastleWalkNavigation Navigation by walking or flying (classic first-person shooter navigation) in a 3D scene.

Functions and Procedures

procedure CorrectPreferredHeight(var PreferredHeight: Single; const Radius: Single; const CrouchHeight, HeadBobbing: Single);

Types

TNavigationInput = (...);
TNavigationInputs = set of TNavigationInput;
TCameraInput = TNavigationInput deprecated 'use TNavigationInput';
TCameraInputs = TNavigationInputs deprecated 'use TNavigationInputs';
T3BoolInputs = array [0..2, boolean] of TInputShortcut;
TMoveAllowedFunc = function (const Sender: TCastleNavigation; const OldPos, ProposedNewPos: TVector3; out NewPos: TVector3; const Radius: Single; const BecauseOfGravity: Boolean): boolean of object;
TFallNotifyFunc = procedure (const Sender: TCastleNavigation; const FallHeight: Single) of object;
TMouseDragMode = (...);
TUniversalCamera = TCastleNavigation deprecated 'complicated TUniversalCamera class is removed; use TCastleNavigation as base class, or TCastleWalkNavigation or TCastleExamineNavigation for particular type, and Viewport.NavigationType to switch type';
TCamera = TCastleNavigation deprecated 'use TCastleNavigation';
TExamineCamera = TCastleExamineNavigation deprecated 'use TCastleExamineNavigation';
TWalkCamera = TCastleWalkNavigation deprecated 'use TCastleWalkNavigation';

Constants

ciNormal = niNormal deprecated 'use niNormal';
ciMouseDragging = niMouseDragging deprecated 'use niMouseDragging';
ciGesture = niGesture deprecated 'use niGesture';
ci3dMouse = ni3dMouse deprecated 'use ni3dMouse';

Description

Functions and Procedures

procedure CorrectPreferredHeight(var PreferredHeight: Single; const Radius: Single; const CrouchHeight, HeadBobbing: Single);

See TCastleWalkNavigation.CorrectPreferredHeight. This is a global version, sometimes may be useful.

Types

TNavigationInput = (...);

Possible navigation input types for TCastleNavigation.Input.

Values
  • niNormal: Normal input types. This includes all inputs available as Input_Xxx properties in TCastleNavigation descendants. They are all fully configurable (as TInputShortcut class), they may be mouse button presses, mouse wheel clicks, or key presses. You can always clear some shortcut (like TCastleWalkNavigation.Input_Forward.MakeClear) to disable a specific shortcut. Excluding niNormal from TCastleNavigation.Input is an easy way to disable all shortcuts.
  • niMouseDragging: Mouse and touch dragging. Both TCastleExamineNavigation and TCastleWalkNavigation implement their own, special reactions to mouse dragging, that allows to navigate / rotate while pressing specific mouse buttons.

    Note that mouse dragging is automatically disabled when TCastleWalkNavigation.MouseLook is used.

  • niGesture: Touch gestures, like multi-touch pinch or pan gesture.
  • ni3dMouse: Navigation using 3D mouse devices, like the ones from 3dconnexion.
TNavigationInputs = set of TNavigationInput;
 
TCameraInput = TNavigationInput deprecated 'use TNavigationInput';

Warning: this symbol is deprecated: use TNavigationInput

 
TCameraInputs = TNavigationInputs deprecated 'use TNavigationInputs';

Warning: this symbol is deprecated: use TNavigationInputs

 
T3BoolInputs = array [0..2, boolean] of TInputShortcut;
 
TMoveAllowedFunc = function (const Sender: TCastleNavigation; const OldPos, ProposedNewPos: TVector3; out NewPos: TVector3; const Radius: Single; const BecauseOfGravity: Boolean): boolean of object;

See TCastleNavigation.MoveAllowed and TCastleNavigation.OnMoveAllowed

TFallNotifyFunc = procedure (const Sender: TCastleNavigation; const FallHeight: Single) of object;

See TCastleNavigation.OnFall.

TMouseDragMode = (...);

What mouse dragging does in TCastleWalkNavigation.

Values
  • mdWalk: Moves avatar continuously in the direction of mouse drag (default for TCastleWalkNavigation.MouseDragMode).
  • mdRotate: Rotates the head when mouse is moved.
  • mdNone: Ignores the dragging.
TUniversalCamera = TCastleNavigation deprecated 'complicated TUniversalCamera class is removed; use TCastleNavigation as base class, or TCastleWalkNavigation or TCastleExamineNavigation for particular type, and Viewport.NavigationType to switch type';

Warning: this symbol is deprecated: complicated TUniversalCamera class is removed; use TCastleNavigation as base class, or TCastleWalkNavigation or TCastleExamineNavigation for particular type, and Viewport.NavigationType to switch type

 
TCamera = TCastleNavigation deprecated 'use TCastleNavigation';

Warning: this symbol is deprecated: use TCastleNavigation

 
TExamineCamera = TCastleExamineNavigation deprecated 'use TCastleExamineNavigation';

Warning: this symbol is deprecated: use TCastleExamineNavigation

 
TWalkCamera = TCastleWalkNavigation deprecated 'use TCastleWalkNavigation';

Warning: this symbol is deprecated: use TCastleWalkNavigation

 

Constants

ciNormal = niNormal deprecated 'use niNormal';

Warning: this symbol is deprecated: use niNormal

 
ciMouseDragging = niMouseDragging deprecated 'use niMouseDragging';

Warning: this symbol is deprecated: use niMouseDragging

 
ciGesture = niGesture deprecated 'use niGesture';

Warning: this symbol is deprecated: use niGesture

 
ci3dMouse = ni3dMouse deprecated 'use ni3dMouse';

Warning: this symbol is deprecated: use ni3dMouse

 

Generated by PasDoc 0.16.0.