Are you just looking for a touch event?
Hola Tengo problemas para nativizar el “personaje Vive_Pawn”. Tengo la última versión del complemento, estoy compilando para Quest. Todo se compila bien sin nativizar el personaje. Pero al nativizar obtengo estos errores:
/Plugins/VRExpansionPlugin/OpenVRExpansionPlugin/Source/OpenVRExpansionPlugin/Public/OpenVRExpansionFunctionLibrary.h(107,22): error: uso del identificador no declarado ‘vr’
UATHelper: Empaquetado (VR (Android) (VR) = vr :: k_ulOverlayHandleInvalid;
UATHelper: Empaquetado (Android (ASTC)): ^
UATHelper: Empaquetado (Android (ASTC)): /Plugins/VRExpansionPlugin/OpenVRExpansionPlugin/Source/OpenVRExpansionPlugin/Public/OpenVRExpansionFunctionLibrary.h(111,30): error: uso de ‘undecla’ vr ’
UATHelper: Empaquetado (Android (ASTC)): return VRKeyboardHandle! = Vr :: k_ulOverlayHandleInvalid;
UATHelper: Empaquetado (Android (ASTC)): ^
UATHelper: Empaquetado (Android (ASTC)): /Plugins/VRExpansionPlugin/OpenVRExpansionPlugin/Source/OpenVRExpansionPlugin/Public/OpenVRExpansionFunctionLibrary.h(136,19): error: uso de la biblioteca. INVALID_TRACKED_CAMERA_HANDLE ’
UATHelper: Empaquetado (Android (ASTC)): pCameraHandle = INVALID_TRACKED_CAMERA_HANDLE;
UATHelper: Empaquetado (Android (ASTC)): ^
UATHelper: Empaquetado (Android (ASTC)): /Plugins/VRExpansionPlugin/OpenVRExpansionPlugin/Source/OpenVRExpansionPlugin/Public/OpenVRExpansionFunctionLibrary.h(140,27): error: uso de ofibib. INVALID_TRACKED_CAMERA_HANDLE ’
UATHelper: Empaquetado (Android (ASTC)): return pCameraHandle! = INVALID_TRACKED_CAMERA_HANDLE;
UATHelper: Empaquetado (Android (ASTC)): ^
UATHelper: Empaquetado (Android (ASTC)): /Plugins/VRExpansionPlugin/OpenVRExpansionPlugin/Source/OpenVRExpansionPlugin/Public/OpenVRExpansionFunctionLibrary.h(194,8): identificador: uso de underse vr ’
UATHelper: Empaquetado (Android (ASTC)): estático vr :: ETrackedDeviceProperty VREnumToString (const FString & enumName, valor
uint8 ) UATHelper: Empaquetado (Android (ASTC)): ^
UATHelper: Empaquetado (Android (ASTC)): / Plugins / VRExpansionPlugin / OpenVRExpansionPlugin / Source / OpenVRExpansionPlugin / Public / OpenVRExpansionFunctionLibrary.h (199,10): error: uso del identificador no declarado ‘vr’
UATHelper: Empaquetado (Android (ASTC)): return vr :: ETrackedDeviceProperty :: Prop_Invalid;
UATHelper: Empaquetado (Android (ASTC)): ^
UATHelper: Empaquetado (Android (ASTC)): /Plugins/VRExpansionPlugin/OpenVRExpansionPlugin/Source/OpenVRExpansionPlugin/Public/OpenVRExpansionFunctionLibrary.h(204,10): error: uso de underse vr ’
UATHelper: Empaquetado (Android (ASTC)): return vr :: ETrackedDeviceProperty :: Prop_Invalid;
UATHelper: Empaquetado (Android (ASTC)): ^
UATHelper: Empaquetado (Android (ASTC)): /Plugins/VRExpansionPlugin/OpenVRExpansionPlugin/Source/OpenVRExpansionPlugin/Public/OpenVRExpansionFunctionLibrary.h(206,21): error: uso de la biblioteca. vr ’
UATHelper: Empaquetado (Android (ASTC)): return static_cast <vr :: ETrackedDeviceProperty> (FCString :: Atoi ( EnumName));
UATHelper: Empaquetado (Android (ASTC)): ^
UATHelper: Empaquetado (Android (ASTC)): ./Plugins/VRExpansionPlugin/OpenVRExpansionPlugin/Source/OpenVRExpansionPlugin/Public/OpenVRExpansionFunctionLibrary.h(701,9): error: uso de la biblioteca. ‘vr’
UATHelper: Empaquetado (Android (ASTC)): estático vr :: Texture_t CreateOpenVRTexture_t (UTexture * Texture)
UATHelper: Empaquetado (Android (ASTC)): ^
UATHelper: Empaquetado (Android (ASTC)): / Plugins / VRExpansionPlugin / OpenVRExpansionPlugin / Source / OpenVRExpansionPlugin / Public / OpenVRExpansionFunctionLibrary.h (703,3): error: uso del identificador no declarado ‘vr’
UATHelper: Empaquetado (Android (ASTC)): vr ::
UATHelper: Empaquetado (Android (ASTC)): ^
UATHelper: Empaquetado (Android (ASTC)): /Plugins/VRExpansionPlugin/OpenVRExpansionPlugin/Source/OpenVRExpansionPlugin/Public/OpenVRExpansionFunctionLibrary.h(703,17): error: uso de la biblioteca. VRTexture '; ¿quiso decir ‘textura’?
UATHelper: Empaquetado (Android (ASTC)): vr :: Texture_t VRTexture;
UATHelper: Empaquetado (Android (ASTC)): ^ ~~~~~~~~
UATHelper: Empaquetado (Android (ASTC)): Texture
UATHelper: Empaquetado (Android (ASTC)): / Plugins / VRExpansionPlugin / OpenVRExpansionPlugin / Source / OpenVRExpansionPlugin /Public/OpenVRExpansionFunctionLibrary.h(701,56): nota: ‘Texture’ declarada aquí
UATHelper: Packaging (Android (ASTC)): static vr :: Texture_t CreateOpenVRTexture_t (UTexture * Texture)
etc …*
puedes verificarlo? ¿O es algo que estoy haciendo mal? No estoy usando el ejemplo, solo he migrado a otro proyecto lo que necesitaba y todo se compila y funciona como se esperaba, pero cuando me naturalizo, recibo estos errores. Gracias:)
nope, joystick X and Y axis
unreal mappings only manage vector1 parameters and have separate events (axys X or Y) while the latest steam vr input dashboard only allows configuring vector2 parameters for joystick position.
steamvr input plugin for unreal has a function that merges unreal parameters called with anyname_X and anyname_Y in one merged parameter anyname.
Following a section from the generated manifest:
“/actions/main/in/anyname_X,anyname_Y X Y_axis2d”: “anyname”
that said I have another question: what’s the easiest way to just get fingers curls without messing up with steam vr input (in other words keeping old legacy controls)? I just want to get finger curls independently from player’s platform (oculu, steam, …)
as usual, thanks in advance!
I believe that the old legacy KnucklesCurl inputs are still functional, its not cross platform though, it is SteamVR only (which can be rift obviously if they actually pass out curl values which I doubt they do).
I haven’t tested them in a long time though as I use the open input stack.
https://i.imgur.com/QAK3Clm.png
As for the axis merging, pretty sure the default beta input does that already as well.
Pushed a new commit live today, some parts of it (melee script) is still unfinished but I wanted to get a lot of the core physics fixes in ASAP before going back and finishing it.
https://vreue4.com/path-notes-4-23?section=physics-and-template-work-10-7-19
@Decriment
I’m really at a loss here and hoping someone can help me out. I had gripping working through my own interface (I kept it in place and confirmed it still works if I switch back to using it) but I’m trying to switch to using plugin.
I set up my character blueprint to execute the Grip Object by Interface node (I confirmed the object I’m grabbing is correctly being passed in as well as the motion controller), but my weapon isn’t gripping. On my weapon blueprint (a simple AK47) I placed a grippable capsule at the weapon grip and set the grip logic script to GS Gun Tools. What else is there that’s needed for the gripping to work? Nothing happens when I try to grip it but I don’t get any errors or anything to help identify what the problem is. I know how to debug blueprints decently well but not C++, so I can’t figure out what happens once the Grip Object by Interface node is executed (I do see it being executed in the blueprint debugger). I set up a Grip event on my weapon and I don’t see THAT being executed, so something must be wrong at the Grip Object by Interface call.
Attached a screenshot to show how I’m calling Grip Object by Interface. The boolean checks are just to check whether it’s the left or right hand that is grabbing the object (I’ve simplified since the time of post, now I just have a single execute node for Grip Object by Interface)
My plugin supports gripping both actors AND components with various reasons to do one or the other. How you are trying to grip there is to pass in an actor without the interface, and the world transform of a component with the interface. The node is failing out because the object you are sending in to grip doesn’t have the interface on it.
In that use case your actual actor would have to implement the interface to grip it with that node.
I did realize though that I forgot to put console debug prints in for that specific node to warn that the passed in object is missing the interface, i’ll add that for clarities sake in the future.
The easiest way for you to fix by the way would be to reparent the base class of your AK (as far back as your inheritance tree goes) to a GrippableStaticMeshActor, then all of the guns down the branch from there would be grippables by default.
Also note, that although the gun tools will function by default, actions like secondary gripping the front of the gun still have to be called by you, I do not automate base controls like that as it would be too limiting for most users. The very latest example template now has gun tools on the example gun and it shows how to use the recoil system with it.
Hmmm… I do have the interface implemented so I’m not sure I follow. My base class is “item” which is just an actor, but with the VRGrip interface on it. From there I have weapon > primary weapon > AK47. Should that not work way?
? You said that you placed a grippable capsule at the weapon grip in your original post? If you implemented the interface manually in a base class then you need to override and fill out all of its functions as well.
Ahhh I see, thank you. The functions are probably it. I might go ahead and just reparent my base class like you originally suggested. I assume a GrippableActor should work instead of GrippableStaticMesh? Some of my items have a static mesh and others have a skeletal (though I do plan to go skeletal for all of them eventually).
Edit: Not having luck here still. I made a totally new blueprint to try and just get working to figure out what I’m doing wrong and I can’t get even the new blueprint to grip. I made a GrippableActor BP and added a grippable static mesh to it. Neither Grip Actor nor Grip Object are working for me (same as before, the Grip node gets executed but the On Grip event on the new BP object doesn’t seem to fire). I can’t seem to find the pre-built template for 4.22, is there an archive of pre-built packages somewhere?
Grippable actor is just for that case yes, however if you are going to be multiplayer at some point you may want to have two separate bases, one based on skeletal mesh and one based on static, as the engines replication does not actually handle some of the mesh stuff when just adding the components to a base actor instead of using the built actor for each of them.
In singleplayer it wouldn’t really matter ever.
You might want to check out the tutorial video that a community member made off of my “basic gripping” text overview.
Also if you want a specific version of the engine on one of the repositories, you can go to downloads and switch to branches and download the locked version of your specific engine version: https://bitbucket.org//vre…/?tab=branches
Keep in mind as well that the OnGrip event is going to fire on the root in that case, component gripping has precedence as it lets you grip child components in an actor. The parent actor would be receiving OnChildGripped with that setup. There is generally no reason to ever have both the root and the actor itself be a grippable class. You would generally have the root be normal, and then sub components can be additionally grippable over it.
Ah man. Thank you for sharing that video and the info on the build specific downloads. I searched all around for something like and couldn’t find it. I’m going to suggest that fellow that he rename the video from VREP to VR Expansion Plugin (or at least add that to the name) to help others find it more easily. I intend to support you shortly! I did get the VR character working nicely with locomotion and a little bit of animation including crouching and proning (not sure about the replication working yet).
www.vreue4.com under the documentation tab has tutorial videos now, he is WIP on them so they are fairly new (and only two so far). I understand that a lot of users prefer video over text based but that isn’t exactly my forte.
I’ve been developing on the Oculus Quest and seem to be getting random crashes without any indication as to what it could be. I’ve setup several different tests on both Unreal 4.22 and 4.23 but I still get random crashes that send the player back to the Oculus dashboard. I’ve also setup the same tests without the VRE plugin and things are very stable.I know you are not directly developing for the Android platforms but would you have any idea as to what it could be or what I could try out to prevent crashing?
If using the template there are some things that don’t play perfectly with the quest (namely some of the more intensive physics assets like the car). You’ll have to profile though to really know what it going on.
I would follow the Android Device Monitor instructions in Oculus article to get some info back from the device.
https://developer.oculus.com/blog/de…for-mobile-vr/
You can feel free to PM me the crash information afterwards if it is plugin related. I have quite a few plugin users on Quest without issues currently so it would either be something esoteric or an actual problem with an implementation you specifically have.
Thanks, glad to hear about the other developers. I realized the plugin was not at the latest release so that couldn’t help. Thanks for the fast response!
I finally have some basic weapon gripping working (I struggled a little bit even with the guides you so kindly provided, but I did get there). The problem I’m having now is if I’m holding a weapon and I stretch my hand out as far as I can, the gun is “floating” past my UE mannequin’s hands. I’m under the impression that using slot grips should be preventing that and I might just be missing something, correct? I’ve set up a VRGripP1 and VRGripS1 on my weapon skeleton. Why are there two “Optional Bone to Grip Name” inputs on the Grip Component function? The interact node in my screenshot is just an interface call I’m using to add the gripped item to my inventory and store it as the currently equipped item (goes back and breaks a loop of overlapping actors once the closest one is grabbed).
By the way, I intend to become a $10 Patreon when the paycheck hits ![]()
Slot grips define where relative to the object that you want the controller at (ie: it positions the object relative to the controller), it doesn’t force the object to sit anywhere on your body mesh (it doesn’t even have a way to know anything about your body mesh). You can SetPivotComponent on the controller to a scene component that you place on a socket on your mesh though and it will do that, generally though your approach is less ideal than allow bones to stretch or calibrating the body so that they can’t out reach the full body avatar that you made, otherwise you will get a lot of annoyed players with below or above average size.
As for the double BonetoGrip, its a typo in the grip component node, just fixed it. That node is the least used of all as generally you should be using GripObjectByInterface or GripObject instead. Also you shouldn’t be gripping a component primarily unless you have a very specific reason, most grips should be on actors, and on interfaced actors for that matter.
Hmmm thank you, I’ll look into the bone stretching solution. I’m only a few months fresh to UE and game development overall so that’ll be something new to learn. I definitely want that approach to accommodate for longer/shorter arms just as you say.
Before I started using your great plugin (the main thing I wanted it for was for sort out of the box roomscale, but I decided it would be best to just make more use of other stuff it offers), I was just attaching my weapons to my hand’s socket, and it would stay there regardless of stretching beyond the skeleton’s default limit until I decided to detach it when releasing my grip, so I take it the slot gripping isn’t attaching to sockets in the same way? I’m genuinely curious on what’s handled differently there.