20#include <vrvCore/DtUniqueID.h>
30class DtCharacterModelAgent;
33class DtSceneObjectAgent;
39class DtDeadReckonUpdaterAgent;
42class DtDeadReckonUpdater;
45class DtTerrainScalingUpdater;
83class DtFpsFirstPersonUpdaterAgent;
86class DtFpsOrientationUpdaterAgent;
122 virtual void tick(
double dt)
override;
133 virtual const char*
type()
const override;
161 DtTaitBryan* rotation =
nullptr);
168 HIT_EFFECT_LEFT_SIDE,
169 HIT_EFFECT_RIGHT_SIDE,
170 HIT_EFFECT_ALL_SIDES,
171 HIT_EFFECT_NUMBER_EFFECTS
355 HIT_EFFECT_STATE_OFF,
357 HIT_EFFECT_STATE_INTERRUPT
Type-specific handle class for attributes.
Definition attributeHandle.h:181
Agent class for remote control of DtFpsFirstPersonUpdater objects.
Definition DtFpsFirstPersonUpdaterAgent.hpp:31
Agent class for remote control of DtFpsOrientationUpdater objects.
Definition DtFpsOrientationUpdaterAgent.hpp:31
double myHealthEffectOpacityMaximum
Maximum opacity value for health effects.
Definition humanRenderUpdater.h:258
double myArcPitchAddition
Additional pitch angle for arc aiming.
Definition humanRenderUpdater.h:334
double myFirstPersonModelPitchOffset
Pitch offset for the first-person model.
Definition humanRenderUpdater.h:337
double myEndSightEffect
Time when the sight effect should end.
Definition humanRenderUpdater.h:319
void updateEquipmentEffects()
Updates equipment-related visual effects.
std::string findFirstPersonModelDef(const std::string &gun, const std::string &appearance)
Finds the appropriate first-person model definition.
virtual const char * type() const override
Returns the component type identifier.
bool myUsingVr
Flag indicating if VR mode is active.
Definition humanRenderUpdater.h:343
enum { HIT_EFFECT_LEFT_SIDE, HIT_EFFECT_RIGHT_SIDE, HIT_EFFECT_ALL_SIDES, HIT_EFFECT_NUMBER_EFFECTS } HitEffectEnum
Enumeration of hit effect positions.
Definition humanRenderUpdater.h:167
double myFirstPersonModelHeadingOffset
Heading (yaw) offset for the first-person model.
Definition humanRenderUpdater.h:340
std::string myDisGun
Current weapon identifier.
Definition humanRenderUpdater.h:282
virtual ~DtHumanRenderUpdater() override
Virtual destructor.
bool myLastKnownAiming
Last known aiming state.
Definition humanRenderUpdater.h:307
std::vector< std::pair< HitEffectEnum, HitEffectInfo > > myHitEffect
Collection of hit effects and their information.
Definition humanRenderUpdater.h:382
void setFirstPersonModelOffset(DtVector translation, DtTaitBryan rotation=DtTaitBryan())
Sets the offset of the first-person model.
bool findFirstPersonModelOffset(HumanPosture posture, bool aiming, bool usingVr, DtVector *translation=nullptr, DtTaitBryan *rotation=nullptr)
Finds the appropriate first-person model offset for the given state.
int myArmsPosture
Current posture of the arms model.
Definition humanRenderUpdater.h:301
void updateFirstPersonModel(double dt)
Updates the first-person model state and position.
virtual bool initialize(makVre::DtPlayerStation *player, makVre::DtInitTable &config) override
Initializes the render updater component.
void updateHitEffects(double dt)
Updates hit-related visual effects.
void showThirdPerson()
Shows the third-person model.
makVrv::DtOsgChannel * myChannel
Pointer to the main rendering channel.
Definition humanRenderUpdater.h:316
bool myWeaponDown
Flag indicating if weapon is in the down position.
Definition humanRenderUpdater.h:304
double myHealthEffectHealthMinimum
Minimum health value for health effect visibility.
Definition humanRenderUpdater.h:250
DtInitTable myFirstPersonModelTable
Configuration table for first-person models.
Definition humanRenderUpdater.h:264
DtFpsOrientationUpdaterAgent * myOrientationUpdaterAgent
Agent managing orientation updates.
Definition humanRenderUpdater.h:276
bool myFirstPersonVisibleBeforeAiming
Tracks whether first-person model was visible before entering aiming mode.
Definition humanRenderUpdater.h:349
virtual void tick(double dt) override
Updates rendering elements for the current frame.
bool myShowingFirstPerson
Flag indicating if first-person view is currently shown.
Definition humanRenderUpdater.h:298
void clearSceneSelection()
Clears any active scene selections.
double myModelSwitchDelay
Delay before switching models in seconds.
Definition humanRenderUpdater.h:325
DtHumanRenderUpdater()
Default constructor.
Equipment myLastKnownEquipment
Last known equipment state.
Definition humanRenderUpdater.h:322
void setThirdPersonVisible(bool visible)
Sets the visibility of the third-person model.
std::string myDisAppearance
Current appearance identifier.
Definition humanRenderUpdater.h:285
virtual makVre::DtVreMessageResult handleReportDetonationLocationMessage(makVre::DtVreMessage *msg)
Handles detonation location messages.
double myModelShowDelay
Delay before showing models in seconds.
Definition humanRenderUpdater.h:328
const makVrv::DtDeadReckonUpdater * lookupDeadReckonUpdater(makVrv::DtSceneObject *myDisSceneObject)
Looks up the dead reckoning updater for a scene object.
virtual void slot_disSceneObjectToBeDeleted(const makVrv::DtUniqueID &id)
Handles scene object deletion notifications.
DtAttributeHandleType< bool > myHideFirstPersonModelWhileAiming
Flag indicating whether to hide the first-person player model while aiming (not applicable in VR)
Definition humanRenderUpdater.h:346
DtInitTable myFirstPersonModelMap
Mapping between weapons and model definitions.
Definition humanRenderUpdater.h:261
virtual void shutdown() override
Cleans up resources when the component is being shut down.
bool myRenderObjectsInitialized
Flag indicating if render objects have been initialized.
Definition humanRenderUpdater.h:310
bool myFirstPersonObjectsInitialized
Flag indicating if first-person objects have been initialized.
Definition humanRenderUpdater.h:313
DtFpsFirstPersonUpdaterAgent * myFirstPersonUpdaterAgent
Agent managing first-person model updates.
Definition humanRenderUpdater.h:273
void showFirstPerson()
Shows the first-person model.
virtual void startHitEffect(HitEffectEnum hitEffect)
Starts a hit effect timer.
double myHealthEffectHealthMaximum
Maximum health value for health effect visibility.
Definition humanRenderUpdater.h:255
virtual void stopHitEffect(HitEffectEnum hitEffect)
Stops a hit effect timer.
makVrv::DtSceneObject * myDisSceneObject
Main scene object for the player entity.
Definition humanRenderUpdater.h:279
void configureDeadReckoningAndSmoothing()
Configures dead reckoning and movement smoothing.
void onHealthChanged(double val)
Handles changes in player health.
makVrv::DtCharacterModelAgent * myFirstPersonModelAgent
Agent managing the first-person character model.
Definition humanRenderUpdater.h:267
void hideFirstPerson()
Hides the first-person model.
diguyCharacter * findDisDiguyCharacter()
Finds the DI-Guy character for the player.
void updateBloodSightEffects()
Updates blood sight (damage) overlay effects.
double myArmsPitch
Current pitch angle of the arms model.
Definition humanRenderUpdater.h:331
virtual makVre::DtVreMessageResult handleFireMessage(makVre::DtVreMessage *msg)
Handles fire messages.
bool initializeRenderObjects()
Initializes render objects like models and effects.
void updateThirdPersonModel(double dt)
Updates the third-person model state and position.
enum { HIT_EFFECT_STATE_OFF, HIT_EFFECT_STATE_ON, HIT_EFFECT_STATE_INTERRUPT } HitEffectState
Enumeration of hit effect states.
Definition humanRenderUpdater.h:354
void updateAimingEffects()
Updates aiming-related visual effects.
double myHitEffectDuration
Duration of hit effects in seconds.
Definition humanRenderUpdater.h:245
void updateHealthEffects()
Updates health-related visual effects.
makVrv::DtSceneObjectAgent * myFirstPersonSceneObjectAgent
Agent managing the first-person scene object.
Definition humanRenderUpdater.h:270
Table-based access to Lua state for configuration data.
Definition initializer.h:38
Base class for all role components in VR-Engage.
Definition playerComponent.h:78
virtual DtPlayerStation & player()
Gets the player station.
Class for managing the user interface for engaged roles.
Definition playerStation.h:51
Abstract base class for all VREngage messages.
Definition vreMessage.h:50
Provides coordinate conversion functionality between different coordinate systems.
constexpr const char * firstPersonModelMap
Definition humanRenderUpdater.h:60
constexpr const char * healthEffectOpacityMaximum
Definition humanRenderUpdater.h:69
constexpr const char * healthEffectHealthMinimum
Definition humanRenderUpdater.h:66
constexpr const char * healthEffectHealthMaximum
Definition humanRenderUpdater.h:63
constexpr const char * hitEffectDuration
Definition humanRenderUpdater.h:75
constexpr const char * hideFirstPersonModelWhileAiming
Definition humanRenderUpdater.h:72
Defines export macros for the Human Frontend library.
#define HUMAN_DLL
Definition export.h:19
Definition humanRenderUpdater.h:52
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
HumanPosture
Enumeration of human posture states.
Definition stateDefines.h:30
constexpr const char * DtHumanRenderUpdaterType
Type identifier constant for DtHumanRenderUpdater components.
Definition humanRenderUpdater.h:93
DtVreMessageResult
Enumeration of possible message handling results.
Definition vreMessage.h:33
Equipment
Enumeration of equipment types that can be held or used.
Definition stateDefines.h:55
Definition appLauncherComponent.h:28
Defines the DtPlayerComponent base class for VR-Engage role components.
Common enumeration definitions used throughout the VREngage system.
HitEffectInfo()
Default constructor.
Definition humanRenderUpdater.h:367
std::string effectName
The Post Processor name. Used to enable/disable the effect.
Definition humanRenderUpdater.h:373
HitEffectState hitEffectState
Current state of this hit effect.
Definition humanRenderUpdater.h:376
double timer
The timer to determine when the effect should be removed. This timer needs to be coordinated with any...
Definition humanRenderUpdater.h:374
Defines the base class for all VREngage messages.