mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-10 22:24:33 +00:00
Game cam and eye banking, control schemes
- ShapeBaseData has two new properties. cameraCanBank indicates that the game object may bank its eye/camera, if supported by the object. mountedImagesBank indicates that mounted images should bank with the eye/camera in first person view. Both default to false. - Player supports 1st person eye and 3rd person camera banking when making use of the new ExtendedMove class. - Camera class supports banking when making use of the new ExtendedMove class. - GameConnection now has an idea of a control scheme. This determines how game objects should respond to input events. A control scheme may be set by either the server or client. Current control schemes are: -- Absolute rotation (likely though the ExtendedMove class) -- Add relative yaw (from mouse or gamepad) to absolute rotation. -- Add relative pitch (from mouse or gamepad) to absolute rotation. - Player class supports the new control schemes when using the ExtendedMove class. - Camera class supports the new control scheme when using the ExtendedMove class.
This commit is contained in:
parent
2805ec81c8
commit
660250cccf
10 changed files with 570 additions and 127 deletions
|
|
@ -73,6 +73,9 @@ class Camera: public ShapeBase
|
|||
CameraLastMode = EditOrbitMode
|
||||
};
|
||||
|
||||
/// The ExtendedMove position/rotation index used for camera movements
|
||||
static S32 smExtendedMovePosRotIndex;
|
||||
|
||||
protected:
|
||||
|
||||
enum MaskBits
|
||||
|
|
@ -92,6 +95,8 @@ class Camera: public ShapeBase
|
|||
VectorF rotVec;
|
||||
};
|
||||
|
||||
CameraData* mDataBlock;
|
||||
|
||||
Point3F mRot;
|
||||
StateDelta mDelta;
|
||||
|
||||
|
|
@ -106,6 +111,9 @@ class Camera: public ShapeBase
|
|||
Point3F mPosition;
|
||||
bool mObservingClientObject;
|
||||
|
||||
F32 mLastAbsoluteYaw; ///< Stores that last absolute yaw value as passed in by ExtendedMove
|
||||
F32 mLastAbsolutePitch; ///< Stores that last absolute pitch value as passed in by ExtendedMove
|
||||
|
||||
/// @name NewtonFlyMode
|
||||
/// @{
|
||||
|
||||
|
|
@ -223,6 +231,7 @@ class Camera: public ShapeBase
|
|||
|
||||
virtual bool onAdd();
|
||||
virtual void onRemove();
|
||||
virtual bool onNewDataBlock( GameBaseData *dptr, bool reload );
|
||||
virtual void processTick( const Move* move );
|
||||
virtual void interpolateTick( F32 delta);
|
||||
virtual void getCameraTransform( F32* pos,MatrixF* mat );
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue