Giter Site home page Giter Site logo

Comments (6)

hyperlogic avatar hyperlogic commented on May 25, 2024

I don't have a functioning HTC Vive to test with, but likely the issue is that the hand controllers do not have a thumbstick, but instead have those weird trackpad things. It might be possible to map the trackpad_x and trackpad_y input to stick. Here's a suggestion to fix it:

diff --git a/src/app.cpp b/src/app.cpp
index 33e5cf4..dd9d741 100644
--- a/src/app.cpp
+++ b/src/app.cpp
@@ -784,6 +784,12 @@ bool App::Process(float dt)
         bool valid, changed;
         xrBuddy->GetActionVec2("l_stick", &leftStick, &valid, &changed);
         xrBuddy->GetActionVec2("r_stick", &rightStick, &valid, &changed);
+
+        xrBuddy->GetActionFloat("l_trackpad_x", &leftStick.x, &valid, &changed);
+        xrBuddy->GetActionFloat("l_trackpad_y", &leftStick.y, &valid, &changed);
+        xrBuddy->GetActionFloat("r_trackpad_x", &rightStick.x, &valid, &changed);
+        xrBuddy->GetActionFloat("r_trackpad_y", &rightStick.y, &valid, &changed);
+
         MagicCarpet::ButtonState buttonState;
         xrBuddy->GetActionBool("l_select_click", &buttonState.leftTrigger, &valid, &changed);
         xrBuddy->GetActionBool("r_select_click", &buttonState.rightTrigger, &valid, &changed);

The fix might be more involved then this... I'm not sure the trackpad origin is (0,0) and I'm not sure if the trackpad origin goes back to (0,0) after your thumb is lifted from it.

from splatapult.

oUp2Uo avatar oUp2Uo commented on May 25, 2024

This works! Thank you very much.
One trackpad for moving left/right and front/back, another for rotating roll.

Btw, HTC vive is too old, and trackpad is sooo hard to use.
How could they design such a control device at that time.

from splatapult.

hyperlogic avatar hyperlogic commented on May 25, 2024

I modified that patch a bit, I now check to see if the trackpad is "pressed" before moving the user. This should make it less prone to move if your thumb brushes up against the trackpad. Let me know if this works or not, if you get a chance.

Thanks

from splatapult.

hyperlogic avatar hyperlogic commented on May 25, 2024

You can re-download the zip, or build off of the main branch to get this fix.

from splatapult.

oUp2Uo avatar oUp2Uo commented on May 25, 2024

Hi, I have tested the latest version.
This latest version need to press the trackpad then move it.
Last old version both pressing or not worked.
I think the latest version is better, which could reduce mis-operation.

from splatapult.

oUp2Uo avatar oUp2Uo commented on May 25, 2024

And one more thing is about the rendering speed.
When using a small ply file(<100MB, like a figure/doll), the program can run >60 fps on Geforce RTX 2080 Ti.
But if using a big ply file(~2GB, like a room), the program can only run ~9 fps, whcih is hard for VR.
I saw an issue of gpu-radix-sort loryruta/gl-radix-sort#3
And I wonder if this is why having low FPS when points number is huge.

Btw, I have tried some other GS rendering program, like https://github.com/shg8/VulkanSplatting, this one can render the same big ply file very fast.
(Is Vulkan a new version of OpenGL? Sorry I have no knowledege about this.)

from splatapult.

Related Issues (12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.