Download

[Feature Request] Expose SpringArm Collision Parameters As Variable/Statement

In the interest of flexibility, would it be possible in a future version of the engine to slightly Alter the way the Spring Arm Component decides what it should/shouldn’t test against for collision checks?

Right now the function ‘UpdateArmLocation’ defines and sets up its collision parameters inside the function. If you ever want to create a custom spring arm that ignores something other than a player pawn or a specific actor, you have to create an inherited class of the spring arm in code, and copy-paste the function and alter only one or two lines of code.

Although I don’t expect this function to change much in upcoming updates of the engine, it would be nice to pass in the collision parameters to this function somewhere else, and have them exposed as a variable or another function, where I can add specifically ignored actors, or groups of actors. Right now I have created a custom spring arm component instead.

Thanks!

Hi TheJamsh,

Thank you for your report, we will take this into consideration.

You can specify the trace channel to use with the ProbeChannel member. So you can create a custom ‘camera channel’ for your project and then set on each object whether it blocks that channel or not.

Hey James, I wanted to specify an individual actor to not collide with the channel.

My Spring-Arm / Camera set-up is connected to my Player Controller rather than to a pawn, so that I can connect it to different pawns and maintain the same camera settings easily (I don’t want to replicate anything, I’d just rather the player controller and corresponding camera-manager maintained the camera.

In order for that to work and not collide with the third-person mesh of my pawn, I have to tell the spring arm to ignore that specific pawn that I’m possessing, but the spring arm has no knowledge of it atm (so I made the slightly custom one). Admittedly it is probably a fairly unique scenario, so overriding/copy-pasting one function isn’t the end of the world.