Yeah ok, I can go over that tomorrow, i’ll try and make a note of it.
Even if no-one shows with questions i’ll still stream it tomorrow and just make the change log / feature talk, I recorded a video for it for the people that talk to me through youtube:
Was way cool you did , but unfortunately I wasn’t able to participate…
“I don’t have the hands in the template totally seperate like in Epics template.”
I set my hands up the same way (taking the cue from yours), and prefer it to Epic’s because now I only need to make changes to 1 hand to affect both.
Is there anything that can’t be done when you have the hands share the same mesh and AnimBP? (Hand-specific sockets could get messy, and the way you interface with the AnimBP has to be different, but other than that I can’t think of anything.)
I haven’t done it yet, I just lost track of dates on my week off :eek: its tomorrow July** 6th** at 12 est.
Also no, not really, both hands should function pretty much the same, also separate hand specific sockets have an implementation in the working copy from week that I can go over tomorrow.
Appreciation for the live Q&A. Unfortunately i missed the live session, hope i can see the recorded version.
Currently i am facing a problem with the latest build of the plugin.
while opening your latest template it reports some vrexpansion.dll missing and do a manual build.
when i did a manual build using visual studio the following error appears. Please help
Your filenames are too long, drop the project back a folder as it has the auto generated zip title twice in there and is bloating the path length to longer than visual studio can handle.
Hey, I’ve been playing around with the example project, and I’ve found something that kind of bugs me.
One of the blueprints I made has a trigger volume on one end. For some reason, you can actually grab invisible volume and climb on it. Everything that that I’ve tried that changes also disables its trigger events.
Is there some way to have a working trigger volume that the VR character can’t grab onto? Like, some sort of setting you can change either in the character or on the trigger volume itself?
Thank you very much . you saved a couple of days. I thought it was some installation issue as i updated Visual studio to 2017 and also unreal update… thanks a lot it also asked for windows SDK 8.1 although i had SDK10
thanks for the helap and thanks for the Q&A video upload going through it
Update: I figured out how to make the grabbing ignore trigger boxes and trigger spheres. Basically I had to edit the “Get Nearest Overlapping Object” function in the Vive_PawnCharacter blueprint, and filter out any primitive components with the class “Box Collision” or “Sphere Collision” from the primitive component array. Sadly meant turning off the “trace sphere” method and sticking with the overlap method.
might be something you would wanna change sometime, unless you want the ability to grab these kinds of objects.
So, I replaced the laser activate action in the left-controller, with a hold-pressing to show a VRStereoWidget that I’ve attached to the HeadMeash … but it is not interactable with the laser from the right-controller – like the server menu is (the one on the cube that has the “mirror”).
I understand that VRStereoWidget is alpha now; have you made any headway into its use as an interactable HUD? (I’m pretty sure I’m implementing it incorrectly on the Vive_PawnCharacter.)
? You don’t have to do that, just set things not to be blocked by VRTraceChannel and it won’t be a problem. I added a custom trace channel specifically for that reason.
How would I go about turning off the feature where the object you are holding stops moving if it hits non-movable collision (like a wall) and instead pass through it? I can’t find where it is doing that in the Blueprints. I’m trying to test a simple pool game and the cue keeps stopping when I go to hit the ball because it hits the collision of the table. Would I just need to disable it entirely, or would I be able to put in exclusions? How would I do either of these? Thanks!
It obeys all common collision rules, so you can simply turn off collision with the table if you want to keep the physics rules.
However considering that you are making a pool game, the physics rules would be unwanted, so switch the grip type for the held cue to “Physics Only” (yes the naming may be a little confusing), PhysicsOnly means that it has no interactive collision and that the only collision is when physics objects get pushed around by it, basically it acts just like attaching but with all of the two handed grips and replication functionality.
Thanks for the response! I’m really sorry for my ignorance from being extremely new to , but I dont understand how I would change the grip type to physics only for the cue? I found the “set grip collision type” function, but not sure how I would use it to set the grip for the cue.
If it is a grippable object base then you can simply change it in the VRGripInterfaceSettings on the object. There will be a grip type dropdown that you can change.
Pushed a new commit to the template and plugin - I’m still waiting on someone with touch to test something for me but the rest of it should be ok.
Template Changes
Changed up the VRCharacter so that gripping and using is also gameplay tag defined now.
Everything is now run off of one generic function that manages any button passed in
by comparing gameplay tags. Falls back to default tag values where appropriate.
*Note* Original character is now "VRCharacter_Legacy" and will be dropped at some point.
allowed me to delete many extra functions that were pretty much just re-implementing
drop or grip logic for different buttons.
Removed a bunch of functions from VR character that were not needed.
Sorted all functions in VR character into categories.
Unlinked all OpenVR specific code (except for the controller loading since it just fails when out of platform).
Added an example StereoViewIndex post process material with a custom node that returns the eye index both in AND out of instanced stereo mode. can be used for
stereoscoptic textures.
Added HadHandSpecificSlots to gameplay tags so that the GetCorrectSocketPrefix can return VRGripLP or VRGripRP / VRGripTouchLP / VRGripTouchRP.
Plugin changes
initial setup of lever component, working on physics side of it.
Combined axis enums from button and lever components into EVRInteractibleAxis
Couldn't find a generic public XYZ enum in engine already to use.
*Note c++ lever component is still unfinished in update*
Added an OverridePrefix string intput to the FindClosestSlotInRange function.
more easily allows the end user to do things like controller (touch vs vive)
or hand (Left vs Right) define custom grip sockets to a mesh.
IE: Pass in VRGripPLTouch for Left Hand Touch socket.
Moved secondary grip information into a seperate struct in the grip structure, not only does allow me to add some replication specific
additional properties to it. But it also should be more efficient to replicate as I can boolean control its replication without forcing
NetSerializer on the main struct. It also lets me just pass the struct for notification functions.
Added bIsSlotGrip to both primary and secondary grip structs, can be set when calling the grip function, useful for checking in the object later on.
Made it default to set physics gripped objects Center Of Mass to the controller location for the grip.
Added Option in advanced physics to turn off setting COM to grip location