VR Expansion Plugin

Its not the capsule that you don’t want to rotate, sounds like you want to stop the ParentRelativeAttachment from tracking the HMD, the character mesh isn’t attached to the capsule itself.

You can adjust settings on the Parent Relative Attachment, or even detach your skeletal mesh from it entirely if you want. bIgnoreRotationFromParent in the Parent Relative Attachment will decouple it from the rotational influence if you want, retaining positional.

As for scaling, you need to calibrate to the players height, either by scaling the mesh, or by scaling WorldToMeters so that the tracked information downscales to match your mesh, either way will require some calibration pose or manual scaling selection from the end user generally.

Thanks for your answer !

I noticed the property bIgnoreRotationFromParent just before you answered me. does the job.

For the scaling, I guess I can’t change the WorldToMeters property as must be done per player, and I think property is global for all players.

I think I’ll use a calibration step where I’ll ask players to stand up, and use the replicated camera component Z location to apply a scale to the mesh accordingly.

I have another question: I’ve set up an animation blueprint controller for the full body skeletal mesh which I use to visualize the other players.

I would like to play some locomotion animations when the players move locally. Unfortunately, the Velocity is always 0 for the VR characters.

Is intended? Am I missing something?

Hi,

I want to know the location of the headset in relation to the playspace origin (eg 1m to the left of the centre). Is possible?

Cheers,

i set GrippableCharacter’s CapsuleComponent ignore all the CollisionResponse except WorldStatic, but fingers still cannot fit on the bodySurface while grab…

in C++ inherite from the Camera class? or inherite from Blueprint? i know both are possible, which is better? C++ ?
spring arm is a Component?

is related to that Fingers fit on the Character body-surface? could you please tell me the ClassName or var to search, i’ll go search in the VRExp code.Thanks!

No you can change it, it only effects tracked devices and everyone else gets other players tracked devices as hard transforms (unless two sets of tracked devices on same computer running same instance somehow).

World To Meters doesn’t effect the level or world, its a scaler applied to the motion information from controllers / hmds to convert from the std meter value to UU’s.

You can get velocity from the hmd / parent relative to track movement, the velocity of the character is 0 during roomscale because the character itself isn’t moving. I have some notes to add some easier function for people but its so simple to calculate that it hasn’t been a big push yet.

Oh that’s good to know. Thanks ! will definitely be a better solution than scaling the mesh

Yes it’s indeed trivial to compute the Velocity but I wanted to be sure I was not overseeing things before doing it.

how to make a Character be able to be Splashed away?
OnActorBeginOverlap → SetSimulatePhysics → AddForce to a Bone ?

Hello, I can’t just figure out how to set as default the Left hand to be the Movement Hand

EventTick in GraspingHand is Invalid??
test by PrintString, but not work…
GraspingHand is the Real Hand while using Physics Hands, right?
EventBeginPlay is valid.
image

if i want to use VR hands to slap NPC character down or far away. should i dev in GraspingHand, right?

  1. caculate the direction and velocity of the RootPhysics or SkeletonMeshComponent(maybe return 0, not test yet) of GraspingHand?
  2. onOverlapBegin, make the NPC ragdoll by setSimulatePhysics to whole body.
  3. based on the directon and velocity, Add a Force or Impulse to the NPC character.(if could add the Force ot Impulse to the Overlapped Bone is better…) Then the NPC will be slap down or far away?

is it able to Dynamically add/remove the CapsuleComponent of the NPC character, while dynamically change the Character ragdoll(setPhysics) or not.
because i found the CapsuleCompnent effect the fingers to fit on the body-surface while grip, and the capsuleComponent is actually not exact the size of a fall down ragdoll

Hay. I was wondering if there is a way to change the VOIP Attenuation settings during gameplay.
In the VR expansion Demo project the attenuation settings are set on the pawn as soon as it beings being possessed.
I want to add a microphone OBJECT to the game, so that when one of the players picks it up his VOIP attenuation settings change from being blocked by walls to be heard by all everywhere in the map.
Can that be done? I tried to set new attenuation on the pawn when mic is picked up but that doesn’t work.


image
why always cast to GraspingHand fail in the Overlap of a mesh of a Character?

how should i set the Collision for GraspingHand & CharacterNPC in order to get effect ?

very weird…both test Hit/Overlap on CharacterNPC, the CapsuleComponet can get the other Actor as GraspingHand, but the SkeletonMesh can only get the other Actor as FPS_VivePawnCharacter…
so can i get GraspingHand from FPS_VivePawnCharacter?

There is a boolean on the current example template that switches between the hands, the testing menu on the wall in game toggles it with the characters SetMovementHands function.

while using Physics Hands, when open the gen Overlap events, the GrippableManniquin is able to be grabbed with fingers fit on the body-surface. is AGrippableSkeletalMeshActor.
BUT, anyone know how to do (fingers fit on body-surface) on a Character which means should use normal childClass from ACharacter(the default inherited MeshComponent is there, so use it or additionally add UGrippableSkeletalMeshComponent??), or manually create a Class with UGrippableSkeletalMeshComponent(but seems impossible to add CharacterMovementComponent…)
Thanks for help!~

does the example include Beat Down NPC with sword and bullet from gun?

, could you help me here?