Is there a way to know the location of a socket on my character through the help of c++.
Suppose I have a socket on my characters hand. And I want to spawn a effect in the position of that socket, is there a way to do so?
Is there a way to know the location of a socket on my character through the help of c++.
Suppose I have a socket on my characters hand. And I want to spawn a effect in the position of that socket, is there a way to do so?
You can get the location with GetSocketLocation()
https://docs.unrealengine.com/latest/INT/API/RuntimeModules/Engine/Components/USceneComponent/GetSocketLocation/index.html
You can also attach the ParticleSystem at the socket by simply providing the name of the socket in the AttachTo() method.
https://docs.unrealengine.com/latest/INT/API/RuntimeModules/Engine/Components/USceneComponent/AttachTo/index.html
How do I use it?
Something like this?
SocketLocation = USceneComponent::GetSocketLocation("FirePoint");
FirePoint is the name of the socket
FVector socketLocation = Mesh->GetSocketLocation(“FirePoint”);
Where Mesh is your USkeletalMesh / USkeletalMeshComponent.
Ok worked. Thanks…
Are all USceneComponents are used in this way?
How do you mean?
Like other function using USceneComponents need to use its mesh as an pointer.
Means if I am using USceneComponent::AttachTo() to attach a particle emitter,
I should write it like
Particle->Attachto(Mesh, "FirePoint", KeepRelativeOffset);
Something like this?
Yes, but Mesh in this case is defined in the ACharacter class and is a USkeletalMesh. You can see it here in the list of variables:
https://docs.unrealengine.com/latest/INT/API/RuntimeModules/Engine/GameFramework/ACharacter/index.html
The name Mesh would be replaced with the name of the variable holding whatever component you wish to attach the Particle to (in your example).
Also there’s a difference between USkeletalMesh and USkeletalMeshComponent.
USkeletalMesh derives from UObject which means it’s not a USceneComponent.
Is this only for particle systems or could this work for projectiles as well?