[Question][Request] How use Skel Mesh Vert Location for Particle Systems With a Weapon?
Dear Friends at Epic,
My goal = to use an emitter to spawn small fireball explosions from random places on the blade of a weapon that a character is holding, over time, via
Skel Mesh Vert Location https://rocket.unrealengine.com/docs/ue4/INT/Engine/Subsystems/Rendering/ParticlesAndEffects/ParticleSystems/Reference/Modules/Location/index.html#skeletalmeshvertex/surfacelocation_skelvert/surfloc_
I have read the related documentation and have two issues:
I can see how to set the Actor parameter via code:
But this seems to assume that the actor will be a skeletal mesh actor,
whereas my actor is a Character who has a weapon skeletal mesh attached by socket.
So it would seem to me that the way Skel Mesh Vert. Location system works needs expanded functionality to allow for specifying an exact Skeletal Mesh Component, rather than limiting to only using Skeletal Mesh Actors whose component is known to be exactly SkeletalMeshComponent?
(as opposed to a randomly named weapon skeletal mesh component pointer)
The Editor Skeletal Mesh value, when given a value, does not cause any change within Cascade, the skeletal mesh component does not appear.
Expansion of this Feature Would be Awesome
It would be awesome if we could use Characters and Character Weapons attached by socket (independent components from the Character itself)
with this feature! https://rocket.unrealengine.com/docs/ue4/INT/Engine/Subsystems/Rendering/ParticlesAndEffects/ParticleSystems/Reference/Modules/Location/index.html#skeletalmeshvertex/surfacelocation_skelvert/surfloc_
asked Mar 11 '14 at 03:43 AM in Using UE4
ue4-archive ♦♦ STAFF
We had a similar post come up in the Licensee side. I will copy the question & answer given for that. I hope it helps!
Trying to get the Skel Vert/Surf Loc module to work on the player character. The problem I'm having is that I can't set the Instance Parameters - Actor Parameter in the blueprint. I've tried setting it to the playerpawn, as well as a skeletal mesh actor spawned by the blueprint. I've even tried manually building the struct and setting the parameters actor parameter in the array element manually. It seems to only want to work with placed instances of a skeletal mesh actor.
Any information/advice is appreciated.
I'd guess the problem is in one of two places:
1) Setting the parameter from blueprint is just not working. I wouldn't expect this to be the case. You might try setting a code breakpoint to verify.
2) The module is caching off the component before you set the parameter. You could try setting the parameter THEN calling SetTemplate to set the effect you want to fire off.
As per the rocket forum thread, you can use vertices or materials to emit from surfaces or meshes. This is a documented module: https://udn.unrealengine.com/docs/ue4/INT/Engine/Subsystems/Rendering/ParticlesAndEffects/ParticleSystems/Reference/Modules/Location/index.html#skeletalmeshvertex/surfacelocation_skelvert/surfloc_
Here's a basic example on how to set up an example in the world:
1) Add a skeletal mesh to the level. 2) Create a Particle System and open it. 3) In Cascade, right-click on the emitter and choose a Location > Skel Vert/Surf Loc module. 4) Click on Skel Vert/Surf Loc, and in the Properties panel, and fill in "Skel Mesh Actor Param Name". 5) Add the your new particle emitter to the level near the Skeletal Mesh. 6) In the Details panel of the placed particle emitter, find the "Instance Parameters", add a new element and enter your chosen parameter name. 7) Set Param Type to PSPT_Actor 8) For "Actor", click the "Pick Actor" icon, and select the Skeletal Mesh actor located in the level
Hope it helps.
Follow this question
Once you sign in you will be able to subscribe for any updates here