Navigation
API > API/Runtime > API/Runtime/Engine > API/Runtime/Engine/Particles > API/Runtime/Engine/Particles/Location
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UParticleModule
- UParticleModuleLocationBase
- UParticleModuleLocationBoneSocket
References
| Module | Engine |
| Header | /Engine/Source/Runtime/Engine/Classes/Particles/Location/ParticleModuleLocationBoneSocket.h |
| Include | #include "Particles/Location/ParticleModuleLocationBoneSocket.h" |
Syntax
class UParticleModuleLocationBoneSocket : public UParticleModuleLocationBase
Variables
| Type | Name | Description | |
|---|---|---|---|
| uint32: 1 | bInheritBoneVelocity | If true, particles inherit the associated bone velocity when spawned | |
| uint32: 1 | bOrientMeshEmitters | If true, rotate mesh emitter meshes to orient w/ the socket. Currently does nothing. | |
| uint32: 1 | bUpdatePositionEachFrame | If true, update the particle locations each frame with that of the bone/socket | |
| TObjectPtr< class USkeletalMesh > | EditorSkelMesh | The name of the skeletal mesh to use in the editor | |
| float | InheritVelocityScale | A scale on how much of the bone's velocity a particle will inherit. | |
| int32 | NumPreSelectedIndices | When we have no source locations and we need to track bone velocities due to bInheritBoneVelocity, we pre select a set of bones to use each frame. | |
| TEnumAsByte< enum ELocationBoneSocketSelectionMethod > | SelectionMethod | The method by which to select the bone/socket to spawn at. | |
| FName | SkelMeshActorParamName | The parameter name of the skeletal mesh actor that supplies the SkelMeshComponent for in-game. | |
| EBoneSocketSourceIndexMode | SourceIndexMode | How particle SourceIndex should be interpreted. | |
| TArray< struct FLocationBoneSocketInfo > | SourceLocations | The name(s) of the bone/socket(s) to position at. | |
| TEnumAsByte< enum ELocationBoneSocketSource > | SourceType | Whether the module uses Bones or Sockets for locations. | |
| FVector | UniversalOffset | An offset to apply to each bone/socket |
Constructors
| Type | Name | Description | |
|---|---|---|---|
UParticleModuleLocationBoneSocket
(
const FObjectInitializer& ObjectInitializer |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | GetBoneInfoForSourceIndex
(
FModuleLocationBoneSocketInstancePayload* InstancePayload, |
||
| int32 | GetMaxSourceIndex
(
FModuleLocationBoneSocketInstancePayload* Payload, |
||
| bool | GetParticleLocation
(
FModuleLocationBoneSocketInstancePayload* InstancePayload, |
Retrieve the position for the given socket index. | |
| void | GetSkeletalMeshComponentSource
(
FParticleEmitterInstance* Owner, |
Retrieve the skeletal mesh component source to use for the current emitter instance. | |
| bool | GetSocketInfoForSourceIndex
(
FModuleLocationBoneSocketInstancePayload* InstancePayload, |
||
| bool | If we're updating our position each frame, there's no point in inheriting bone velocity. | ||
| void | RegeneratePreSelectedIndices
(
FModuleLocationBoneSocketInstancePayload* InstancePayload, |
||
| int32 | SelectNextSpawnIndex
(
FModuleLocationBoneSocketInstancePayload* InstancePayload, |
Selects the next socket or bone index to spawn from. | |
| void | |||
| void | UpdatePrevBoneLocationsAndVelocities
(
FModuleLocationBoneSocketInstancePayload* InstancePayload, |
||
| void | ValidateLODLevels
(
UParticleEmitter* Emitter, |
Validate that all LOD levels will not have issues with indexing into SourceLocations |
Overridden from UParticleModule
| Type | Name | Description | |
|---|---|---|---|
| void | AutoPopulateInstanceProperties
(
UParticleSystemComponent* PSysComp |
Helper function used by the editor to auto-populate a placed AEmitter with any instance parameters that are utilized. | |
| bool | Return false if this emitter requires a game thread tick | ||
| void | FinalUpdate
(
FParticleEmitterInstance* Owner, |
Called on an emitter when all other update operations have taken place INCLUDING bounding box cacluations! | |
| bool | GetCustomMenuEntryDisplayString
(
int32 InEntryIndex, |
Get the display name of the custom menu entry. | |
| int32 | Custom Cascade module menu entries support Get the number of custom entries this module has. | ||
| bool | PerformCustomMenuEntry
(
int32 InEntryIndex |
Perform the custom menu entry option. | |
| uint32 | PrepPerInstanceBlock
(
FParticleEmitterInstance* Owner, |
Allows the module to prep its 'per-instance' data block. | |
| uint32 | RequiredBytes
(
UParticleModuleTypeDataBase* TypeData |
Returns the number of bytes that the module requires in the particle payload block. | |
| uint32 | Returns the number of bytes the module requires in the emitters 'per-instance' data block. | ||
| void | Spawn
(
FParticleEmitterInstance* Owner, |
Called on a particle that is freshly spawned by the emitter. | |
| bool | Return true if this module impacts rotation of Mesh emitters | ||
| void | Update
(
FParticleEmitterInstance* Owner, |
Called on a particle that is being updated by its emitter. |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally | |
| void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |