I’m making a vr game and when my hands grab they move the collision capsule that is the player. I can also grab cubes and they push me really fast, like prop surfing. How can I disable collision between the vr hands and capsule?
Your going to want to explore the collision presets and custom settings: [Collision Overview | Unreal Engine Documentation][1] You can modify the collision portion to ignore or only generate overlaps with other objects. You can also create new custom channels if you need to create new specific interactions: [Add a Custom Object Type to Your Project | Unreal Engine Documentation][2]
In this example I added a Custom Collision channel and set the sphere and cube to my CustomObjectChannel Object Type. I then set the Right cylinder to ignore that object type:
So i got the capsule to ignore the cubes, but when making a game it would take forever to set the collision settings for every cube or item, is there a way to disable collision between objects through blueprints? Also there are no collision settings for the hands -
I’m guessing your looking at the BP_MotionController(self) to get that specific collision list. collision is handled by either the meshes or the collision volumes, so you would need to look at those to see the specific settings for the components.
To additionally answer your question and point you towards whats changing the collision response on grip, here as a snippet of some of the logic in there. You can see that you may indeed set using nodes the collision response of something and change it based on events, in fact the VR hand is doing exactly that. Once its been told to “grip” it is turning its collision on.
If you simply don’t want the hand ever colliding consider breaking that node connection and testing things out to see how it goes.
Also as a note, if your using the custom collision channel settings, you can always have it default to never or overlap only, and then enable it when you specifically want it.
I got it all working! thanks. One more thing, in VR games, when you try to stick your head through the wall, the wall will push so your unable to push your head through and it prevents you from seeing through the wall. In unreal however, I can stick my head through, any specific collision settings or blueprint settings I have to change?
That one is beyond me, you may want to post a new question on that one. I haven’t worked with VR much, but it sounds like something a number of people will have needed or wanted to tackle in the past.
Another quick question if your still here, I need to make the collision capsule a child of the camera, so that the collision capsule always stays on the camera no matter how I move my head around in vr, if that’s not how, then how could I do that?
You can try dragging the VROrigin over the capsule component to make it the new root, and then making the capsule a child of the Camera. I’m not 100% how that will shake out but the capsule will follow the camera at that point. Note though, it will also inherit the rotation/tilt/etc from the camera, so you may want a sphere rather than a capsule.