Class T3DResourceAnimation

Unit

Declaration

type T3DResourceAnimation = class(TObject)

Description

Animation defined by T3DResource.

Hierarchy

  • TObject
  • T3DResourceAnimation

Overview

Methods

Public constructor Create(const AOwner: T3DResource; const AName: string; const ARequired: boolean = true);
Public function BoundingBox: TBox3D;
Public function Defined: boolean;
Public function Scene(const Time: TFloatTime; const Loop: boolean): TCastleScene;

Properties

Public property Duration: Single read FDuration;
Public property URL: string read FURL write FURL;
Public property AnimationName: string read FAnimationName write FAnimationName;
Public property TimeSensor: string read FAnimationName write FAnimationName; deprecated 'use AnimationName';
Public property Name: string read FName;
Public property Required: boolean read FRequired;

Description

Methods

Public constructor Create(const AOwner: T3DResource; const AName: string; const ARequired: boolean = true);
 
Public function BoundingBox: TBox3D;
 
Public function Defined: boolean;

Was the animation state defined in resource.xml file. May be False only if Required was False, or before we actually read animation info from resource.xml file.

Public function Scene(const Time: TFloatTime; const Loop: boolean): TCastleScene;

Current Scene to render for given time.

Looping is automatically done here, if parameter Loop is True. When it is False, there is no looping, which means that when Time is < 0, we show the first frame, and when Time is > Duration, we show the last frame forever.

This looping (or not looping) is done regardless of whether the 3D model wants (or not) looping. For example, in case of castle-anim-frames files, we ignore their loop boolean attribute. In case of X3D, we ignore TimeSensor.loop field. In other words, any looping settings inside 3D model are ignored. You control looping fully by the Loop parameter to this method.

This returns the scene (TCastleScene) with state reflecting given time (TimeSensor forced to given time).

Properties

Public property Duration: Single read FDuration;

Duration of the animation. See engine tutorial about how resources animations duration is calculated. Always 0 if not Defined.

Public property URL: string read FURL write FURL;

Scene URL, only when each animation is inside a separate 3D file. See [http://castle-engine.sourceforge.net/creating_data_resources.php] for documentation how you can define creature animations.

Public property AnimationName: string read FAnimationName write FAnimationName;

Animation name (like for TCastleSceneCore.PlayAnimation), which is equal to TimeSensor node name. All animations are started by X3D TimeSensor node. If not given, we assume it's just 'animation', which is fine at least for castle-anim-frames and MD3 files loaded using TNodeInterpolator. This refers to an X3D TimeSensor node inside animation model (from URL) or, when not defined, inside whole resource model (from T3DResource.ModelURL).

See [http://castle-engine.sourceforge.net/creating_data_resources.php] for documentation how you can define creature animations.

Public property TimeSensor: string read FAnimationName write FAnimationName; deprecated 'use AnimationName';

Warning: this symbol is deprecated: use AnimationName

 
Public property Name: string read FName;
 
Public property Required: boolean read FRequired;
 

Generated by PasDoc 0.15.0.