Comments (6)
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.
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.
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.
You can re-download the zip, or build off of the main branch to get this fix.
from splatapult.
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.
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)
- Camera is moving too fast when fps is low HOT 2
- Compilation errors on Linux. HOT 5
- Error on loading files HOT 4
- pre sort by depth sould be "float depth = p.z / p.w"? HOT 3
- How to change the height of the camera? HOT 3
- Question about render result on different PC HOT 19
- VR creator with limited amount of CLI experience HOT 1
- Quest 3: VR head not working HOT 2
- Some questions. Thank you HOT 2
- Multi VAO loading HOT 6
- Qestion about quantizedZs value in presort_compute.glsl HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from splatapult.