Threw up a little video weekend about my new playthings, will likely go in depth about them at some later point
is hard porn, look awesome. The hands need to be animated, is a IK, or the hands loads with the model?
The new OpenInput API provides a solved skeletal pose for you based on the current state of the controllers buttons (and in the case of knuckles, the capacitive state of the finger curl detection). You can apply that pose onto any hand that has a skeletal structure that isn’t entirely abnormal (bone retargeting), though for that video those hands are skinned specifically to the skeleton that OpenInput returns.
You can use it with vive wands and the like as well, just without the finger curling.
Hey - Got a question for you. Do you plan on supporting the Oculus Santa Cruz when it comes out?
Has anyone made a way to attach the hand to the object you pickup? So when the object collides with a wall, your hand doesn’t go through that wall.
Edit: Just trying the same thing lots of other people are trying.
Trying to attach the weapon to an ik body mesh.
Not sure what you mean by support, the engine already abstracts away most interfacing, the plugin doesn’t do anything special except for the additional module for OpenVR extras.
However, if you mean make a default controller profile for it, yes I intend to do that for all controllers.
Plenty of people attach the hand, you can even directly get the correct offset by breaking the grip structure and inversing the RelativeGripTransform. RelativeGripTransform is the wanted offset of the object to the controller, inversing it makes it the offset of the controller to the object.
In the case of a socket snap grip, will end up being the socket location even.
Though you could always have sockets for HandMeshs on the objects as well to tailor it specifically.
Hi @mordental, I have a grippable mesh and on that I populated several vrsliders as children.
I saw your example for the parameters of quality setting but there is only one vrslider and I need to have an update of the scale value to be sent to different other variable.
How can I get those values when I have several vrsliders ?
Thanks
On your primary actor (the grippable mesh), bind to the OnSliderHitPoint event for each slider and assign a SnapIncrement and SnapThreshold so that the slider snaps between values. When the event is thrown then you can just set whatever value you want to the sliders CurrentProgress.
If you want a non “snap” setup then either OnChildGripReleased and check each slider and assign to its CurrentSliderProgress, or better yet, subclass a VRSlider and give it a new event OnReleasedFinalValue, fire it off when the slider is let go of and in the primary actor bind to it.
The custom event method is the best for a really generic settings slider, you can even add a var like “number of pips” and if it is > 0 then have it auto setup its thresholds and snap increments and have it fire up to the actor when it hits points as well, not just on release.
Its really up to you, the one in the template is hardcoded to a specific console variable, a generic one for your own use is likely where you want to go.
Thank you @mordental…I will go through.
Alright. Thank you for always providing a ■■■■ ton of great support btw. Everyday I see you typing out paragraphs for people.
With the attach, I guess I just can’t wrap my head around it since I haven’t successfully done it before yet. I’ll keep trying. Thanks!
I was doing it with the socket on objects like he was mentioning and it was very easy and smooth. And you could import posed positions in from your animation software and set it on specific objects.
Just on grip, spawn and attach hand and set pose. remove on release grip. You probably also want to use socket only gripping to make it easier.
You just need to make sure you hide and unhide the normal hands on grip so you dont have 2 hands. I stopped though because i was planning to make to many assets and it was a hassle.
Note could also probably come up with a easier way to pose with code
I was using a sphere trace to allow players to pickup objects from far away before I switch to the plugin. Is there any way to still use a sphere trace? Or do we have to use collision components.
If so, I’ll have to figure out how to stretch and rotate a capsule component to match the long sphere trace.
The plugin doesn’t care what you use, you tell it what to grip, you are confusing the plugin with the sample contents implementation.
The templates implementation is a combination of a sphere trace and an overlap, it falls out of one and into the other if nothing was found, there actually is a specific variable for how far to trace out of the sphere location, I extend it in the FPS testing pawn since it is harder to line up the hands with.
Oh wow I didn’t even see that. There’s just so much stuff in the plugin and examples it’s overwhelming to me. Thank you!
The template is overly complex since it is demoing everything and supports multiplayer, I intend to make a really simple version with bare basics eventually but I keep prioritizing new features over it.
Prioritizing new features sounds way better! I’m sure I’ll figure everything out.
Might not hurt to chop up the player template in to multiple pawns. Each with only nessiary code left in. You wouldn’t have to write to much code then just copy it and delete unnecessary stuff per certain features
So i used the gripable mesh actor class as the parent of a large portion of my current code. Does it not have the grip settings that the gripable component has
It does, its on the actor not the root component.
Ok. Ill give it another look when I get home