Grabbed object with custom pose "wiggles" when moving controller or hands rapidly back and forth
I posted an issue at https://github.com/oculus-samples/Unreal-InteractionSDK-Sample/issues/16 but adding here for visibility also. I found that if I grabbed an object with a custom pose and moved the controller back and forth quickly the grabbed object doesn't seem to to track my virtual hand quite right. It kind of looks like the object "wiggles" or jiggles/lags behind the hands. This was only happening with pose mode set to "Snap Object to Pose". I tracked it down to CalculateInteractorSnapTransform() in OculusInteraction\Private\Interaction\Grabbable\IsdkGrabTransformerComponent.cpp but I'm not sure the best way to fix. I notice some of the other branches in UIsdkGrabTransformerComponent::UpdateTransform() end up calling TransformTarget->SetRelativeTransform(TargetRelativeTransform); which doesn't exhibit the issue. Hands tracking also seems to have the same issue. I asked Gemini for a solution and it suggested this code: FTransform UIsdkGrabTransformerComponent::CalculateInteractorSnapTransform( FTransform& TargetTransformIn, FTransform& InteractorTransformIn) { const FTransform OffsetInverse = InteractorSnapOffset.Inverse(); const FTransform FinalTransform = OffsetInverse * InteractorTransformIn; return FinalTransform; } It did fix the problem, but I'm not sure what other purposes the original code had as it was more complex. Thanks!53Views0likes0CommentsInteraction SDK for Unreal Engine
It's a simple question, in the IsdkSamplePawn, in the EventGrapth, when I add an Enhanced Input Action (for example IA_AButton_Down) , when I press the A button nothing happens. What I need is to listing the inputs from the hands or controllers so I can call actions for them ( for example I can build a Teleport sistem taken from the UE Vr Template ). Thanks.Solved119Views0likes1CommentScene Change interaction issues
I'm very new to this world and learning curve is real. I've been teaching myself Unity all summer for an art exhibit in two weeks where I plan to have this VR project. It's close, but I can't seem to get the controllers to interact with the UI Buttons and change scenes. I have four UI canvases (each with a UI button child) that will connect to the 4 different scenes. I started with Unity's XR Interaction Toolkit and switched to Meta Interaction and using Building blocks hoping it would simplify the process. I've read so many different ways to get the ray to change scenes, but so far it isn't working. At this point, I think I have too many components on my game objects so I'm not sure how to troubleshoot. On the one UI Canvas I'm testing, I have graphic raycaster, tracked device graphic raycaster, pointable canvas. On the UI Button I have a button component with OnClick set to the scene via SceneLoader script (which was working with mouseclick, but now its not), Pointable Unity Event Wrapper with When Release set to the scene it should go to, and Ray Interactable. On the Event System I have XR UI Input Module and Pointable Canvas Module. I'm also not sure it isn't something I'm missing on the Controller Tracking Settings. I also added XR Ray Interactor on the Building Block GameObjects for left and right. At this point I'd be happy to start from scratch on the UI scene with new UI Canvas GameObjects if it means getting this to work, but I need to understand the most streamlined process to take first. I'd be very grateful for guidance. Can anyone help?Solved230Views0likes9CommentsWrong Thumb Placement for Meta Avatars after Update to v38 and v40
Hello everyone, we have been using the Meta Avatars in our projects for the last few months now and after putting in some work we were quite happy with the results. However since we recently tried to update from v35.2 to v38 or now even to v40 we noticed a weird displacement in the Avatars thumbs. The thumbs or joints of the thumbs seem to be shifted towards the palm of the hand somehow ( see images for comparison) . It does not hinder the grab functionality - but it makes all hand grab poses look wrong, which renders it unusable for us. I could not find any indication where this is coming from or any way to fix this. Does anyone have an idea or a tip on how this could be solved? Additional Information: Unity 6.2 All-in-One-SDK v78 XR-Plugin: Open XR We are using an OVRCameraRig with Hands and ControllerDrivenHands. Hand Skeleton in OVR Manager: Open XR Skeleton53Views0likes0CommentsController driven hands don't trigger custom grab poses in Interaction SDK
Hello, in the Interaction SDK sample if I use controller driven hands and try to grab the mug I can pick up the mug by pressing the controller side button, but it just "sticks" to my hand and the custom grab poses are never triggered. Pure hand tracking does trigger the custom poses. Are custom grab poses supported for controller driven hands? I'm currently using the "Hands Only" procedural controller hand behavior on my VR pawn blueprint. I would like to grab objects while holding a controller, but still use the custom poses so the virtual hand wraps around the objects more naturally. I'm using a Quest 3 headset and Unreal 5.5 with the Meta interaction SDK plugin v77.Solved151Views0likes4Commentsv77 Grab Hand Pose Translation/Rotation
Hi, I'm using v77 of the Interaction SDK in Unreal 5.5.4 for hand tracking, and am having issues with a HandGrabPose not following the grab location/rotation when using rotation and location transformers. I am using an object setup with multiple grabbable pieces. My blueprint hierarchy is essentially: Mesh -- GrabbableComponent1 -- SubMesh ---- GrabbableComponent2 ------ HandGrabPose GrabTransformer1 (for main mesh, with free transformer) GrabTransformer2 (for sub mesh, with translate constraint applied) The actual interactions of the meshes work without issue. I can grab the main mesh, and grab the submesh to move it with its translation applied. My HandGrabPose component has the following properties set: The initial posing is fine and the hand will move to the intended pose position, but as the submesh is moved, the hand pose stays in the same location rather than following the submesh as I would like. Looking at the source for hand poses, I can see that the hand pose override is set via a call in OculusInteractionPrebuilts/Rig/IsdkHandPoseRigModifier to HandMeshComponent->SetHandPoseOverride once the grab state changes to Selected, but as this is only called upon initial grab, the required RootPoseOffset does not get updated upon translation/rotation of the grabbed component. This is not an issue for components with only one grabbable where the entire object will be moved and thus the offset remains constant, but for my case with sub-objects the pose offset obviously does change but the hand remains in its initial location. Has anyone run into a similar issue and could recommend a solution or workaround? I'd be happy to provide more information on my setup if needed. Thanks!106Views0likes2CommentsHow To Use FIsdkDigitRangeParams
Good Afternoon, Unreal Engine Version: 5.5.4 Meta Interaction SDK Version: v77.0.0 We're currently trying to create a system to recognise hand poses using the UIsdkHandDigitRecognizer class. We're trying to find documentation about how to use the FIsdkDigitRangeParams struct and what ranges these values work in. We're assuming that it uses a normalized range (e.g. for CalcType::Curl, 0 is a straight finger and 1 is completely curled), but would like some clarification as to how these values are intended to be used. If there are any samples that show an example of the UIsdkHandDigitRecognizerbeing used with the FIsdkDigitRangeParams struct, that would be best. Cheers.Solved122Views0likes4CommentsDisabling RayInteractor
Good Afternoon, Unreal Engine Version: 5.5.4 Meta Interaction SDK Version: v77.0.0 We've set up a IsdkHandRigComponent on our Pawn and are using ray interactions to highlight and select objects in a scene. We want to disable the Ray Interactor during parts of the level so that the player isn't able to interact with objects, but we haven't found a solution yet. We've tried disabling the interactable but the cursor still appears when the player hovers the hand over the object. We've considered simply disabling the niagara systems that the UIsdkRayVisualComponent uses but that seems like a bandaid rather than an actual solution. Is there any way to disable the interactor on the pawns side? We've come across the UIsdkConditional class which might be what we're looking for but can't find any supporting documentation/samples to figure out how to use it. CheersSolved152Views0likes3Commentscustom hand mesh in Interaction SDK
I followed the instructions about how to add custom hand meshes within the Interaction SDK. So i tried it with the Unreal XR hand meshes, since I have many grab animations and other hand meshes that use its skeleton. Hand and finger tracking is working fine, but there is a strange distortion with the hand mesh. It seem to be caused by skin weighting, but I couldn't find any issue so far. In addition, the Unreal XR hand has the pose of the Oculus hand. Here is the my modified left UnrealXR hand, with the renamed bones and the bones added for finger tips, according to the documentation. If anyone has an idea what is causing that issue or has a solution, please let me know.I've been trying for days to use the UnrealXR hand meshes with finger tracking and I'm about to go crazy.Solved256Views0likes3CommentsInputOVR Poke Interactor "Active State" and "Interactable Filters"
Hello, I'm trying to get the poke interactor to only poke buttons when pointer finger is extended (otherwise I have lots of accidental pokes). I'm using the CustomHandLeft and CustomHandRight prefabs. I did a little workaround with a script that turns off the "Controller Pointer Pose" component when the hand collider is not active, but I noticed there is an optional "Active State" and "Interactable Filters" inputs in the ControllerPokeInteractor script component. When I search the script, I don't see anything related to "Active State" or "Interactable Filters" and I can't find anything (or maybe don't understand) in the documentation. It feels like I made a workaround for something that is already implemented (and probably implemented better than what I did). Any help is appreciated.4.6KViews0likes7Comments