|
virtual ezVec3 | GetWindAt (const ezVec3 &vPosition) const =0 |
|
virtual ezSimdVec4f | GetWindAtSimd (const ezSimdVec4f &vPosition) const |
|
ezVec3 | ComputeWindFlutter (const ezVec3 &vWind, const ezVec3 &vObjectDir, float fFlutterSpeed, ezUInt32 uiFlutterRandomOffset) const |
| Computes a 'fluttering' wind motion orthogonal to an object direction. More...
|
|
ezWorld * | GetWorld () |
| Returns the corresponding world to this module.
|
|
const ezWorld * | GetWorld () const |
| Returns the corresponding world to this module.
|
|
ezUInt32 | GetWorldIndex () const |
| Same as GetWorld()->GetIndex(). Needed to break circular include dependencies.
|
|
virtual const ezRTTI * | GetDynamicRTTI () const |
|
bool | IsInstanceOf (const ezRTTI *pType) const |
| Returns whether the type of this instance is of the given type or derived from it.
|
|
template<typename T > |
EZ_ALWAYS_INLINE bool | IsInstanceOf () const |
| Returns whether the type of this instance is of the given type or derived from it.
|
|
|
| ezWindWorldModuleInterface (ezWorld *pWorld) |
|
| ezWorldModule (ezWorld *pWorld) |
|
void | RegisterUpdateFunction (const UpdateFunctionDesc &desc) |
| Registers the given update function at the world.
|
|
void | DeregisterUpdateFunction (const UpdateFunctionDesc &desc) |
| De-registers the given update function from the world. Note that only the m_Function and the m_Phase of the description have to be valid for de-registration.
|
|
ezAllocator * | GetAllocator () |
| Returns the allocator used by the world.
|
|
ezInternal::WorldLargeBlockAllocator * | GetBlockAllocator () |
| Returns the block allocator used by the world.
|
|
bool | GetWorldSimulationEnabled () const |
| Returns whether the world simulation is enabled.
|
|
virtual void | Initialize () |
| This method is called after the constructor. A derived type can override this method to do initialization work. Typically this is the method where updates function are registered.
|
|
virtual void | Deinitialize () |
| This method is called before the destructor. A derived type can override this method to do deinitialization work.
|
|
virtual void | OnSimulationStarted () |
| This method is called at the start of the next world update when the world is simulated. This method will be called after the initialization method.
|
|
virtual void | WorldClear () |
| Called by ezWorld::Clear(). Can be used to clear cached data when a world is completely cleared of objects (but not deleted).
|
|
◆ ComputeWindFlutter()
ezVec3 ezWindWorldModuleInterface::ComputeWindFlutter |
( |
const ezVec3 & |
vWind, |
|
|
const ezVec3 & |
vObjectDir, |
|
|
float |
fFlutterSpeed, |
|
|
ezUInt32 |
uiFlutterRandomOffset |
|
) |
| const |
Computes a 'fluttering' wind motion orthogonal to an object direction.
This is used to apply sideways or upwards wind forces on an object, such that it flutters in the wind, even when the wind is constant.
- Parameters
-
vWind | The sampled (and potentially boosted or clamped) wind value. |
vObjectDir | The main direction of the object. For example the (average) direction of a tree branch, or the direction of a rope or cable. The flutter value will be orthogonal to the object direction and the wind direction. So when wind blows sideways onto a branch, the branch would flutter upwards and downwards. For a rope hanging downwards, wind blowing against it would make it flutter sideways. |
fFlutterSpeed | How fast the object shall flutter (frequency). |
uiFlutterRandomOffset | A random number that adds an offset to the flutter, such that multiple objects next to each other will flutter out of phase. |
The documentation for this class was generated from the following files:
- /home/runner/work/ezEngine/ezEngine/Code/Engine/Core/Interfaces/WindWorldModule.h
- /home/runner/work/ezEngine/ezEngine/Code/Engine/Core/Interfaces/WindWorldModule.cpp