Controller shows up in the game (since I run dev build from apk, I have to press any button on the controller for it to initialize), but it doesn’t rotate with camera (doesn’t stay on the right side) as I turn 360 deg. in the swivel chair. Also, pressing trigger button does nothing (action is mapped to Motion Controller R trigger in the project’s Input settings).
I checked sample from github, but it’s not even remotely related to Gear VR controller (I didn’t see the component or any BP nodes related to it used).
I am not sure if Enable Arm Model node works at all - the tool tip on it is from CPU/GPU node and there no docs on what it does (I assume it should automatically place controller into its default position and have it swinging as user tilts/turns/rotates it, similarly as it’s in the Dead and Buried for Gear VR).
Could you please explain how to get it going ?
P.S. On top of that controller doesn’t duplicate touchpad functionality - nothing happens when I press touchpad on the controller (thus, it’s doesn’t duplicate touchpad on the HMD). Someone tested my app before I added BP nodes for the controller and the effect was the same - controller’s touchpad didn’t do what it suppose to do.
Not sure what you mean by this but the controller simulates being at the end of your arm - you don’t need to do anything special here. It should not rotate with the camera it only rotates when you move your arm. So if you keep your arm still and just move your head around the controller does not move
For the trigger I use “MotionController (R) Trigger” for the trigger which works fine. Perhaps try it without the mapping first to make sure it’s not a problem with that?
Imagine you look to the north and controller is on the right side of you. Then you turn 180 deg. and face south. Controller should be still on the right side, but it’s now on the left. That’s how it works for me. That’s why I won’t WTF!? (my guess is I have to update it’s location every tick to make it remain on the right or left side, depending on what hand was chosen).
Without mapping it doesn’t show up for me (unless I am overlooking it) among the BP nodes on right click.
I believe the rotation problem you are experiencing is related to the gearvrcontroller not being attached to your camera anchor. From my own tests it must be added to the camera anchor the same way the camera is. Once attached you should set the relative location to 0,0,0 just like you would with your camera.
As far as the trigger not working I used the motion controller R trigger input node and that worked fine for me, as far as unreal is concerned either motion controller trigger should be fine.
Did that - no go. Same effect as parenting GearVRController to the capsule and not to the camera anchor
I removed input mappings from the Settings, added Motion Controller R Trigger node and … wait for it… it didn’t work anyway As if trigger and touchpad on the controller are blocked, while volume, home and back buttons work fine.
It’s a boy! New development - apparently when multiview + multiview-direct are enabled, no 2D screen rendering stuff works (Print Screen doesn’t work, console doesn’t work, who knows what else doesn’t work).
Sounds like a massive bug to me - makes it debugging Gear VR even harder than it already is.
When I disabled those fancy rendering features, suddenly trigger started working. Now the only issue I have is with “arm”.
Yeah but it’s no blocker - just add a little extra BP logic:
if controller not active then use the usual Touch Input node
if controller active then use Motion Controller Thumbstick X & Y as per the Oculus Controller example project (when I switched the default controller they are using there with the proper gearvrcontroller component you can see the touchpad of the controller in action.)
FYI: Oculus have deprecated the GearVR controller component in 4.17 - so best to rework your project already to just use the default engine’s motion controller and grab the mesh from the plugin folder: