Giter Club home page Giter Club logo

gaussiansplattingvrviewerunity's Issues

Multiple 3DGS

Hi,
Thank you for the great work.
May I ask how can I import multiple 3DGS into this viewer?
I want to show the result after doing segmentation on a 3DGS, so it is gonna be multiple 3DGS.

Thanks.

Increase max scaling limit and fix viewing for large models

Hey, love the splat viewer. It's definitely the easiest way to view splats in VR.

I have a feature request: I sometimes find myself working with models that need to be scaled to large sizes to be accurate. The splat might start out with the model being the 10's of cm across, but in reality it needs to be 2+ meters to be accurately sized (like a car or building for example.)
However when I scale things up large, it seems like scaling doesn't work linearly and at a certain point trying to increase scale doesn't do much anymore. Also weird clipping occurs with my 'eyes' when trying to get close to largely scaled models. Almost as though my headset is getting in the way of viewing it close enough. Ideal behavior would be to size something large and then be able to interact with it like it was actually that size. Thanks!

Feature: Set floor and height

When loading a new model,

  1. set the floor. That means you move the model till you can see the floor. Then you point at three separate points on the floor. Based on this, the model is aligned in yaw, pitch and roll and the floor set at the user's floor
  2. set height. That means, you point at something that should be at eye level, and the model is scaled accordingly.
  3. This is saved at best in the ply, so next time you load the ply, it is already aligned.

All alignments should be correctable.

When loading a known model, load the data from the ply to align.

the Clarte startup screen appeared for 3 seconds then the full screen kept going black.

What a awesome project! So excited to find it! It's a pity that I haven't succeeded in implementing this project yet, so I really hope to get your help. Thanks a lot!

I've gotten the.ply file through Polycam and tried to see gaussian splatting on my pico neo3 headset. After connectted pico neo3 headset to Windows 10 PC using a USB cable, I launch the executable GaussianSplattingVRViewer.exe on Windows 10, I see the Clarte startup screen for 3 seconds then the screen kept going black.
image

More details:

  1. the.ply file had been put in the same folder as the windows executable GaussianSplattingVRViewer.exe
    image
  2. I also tried launching the GaussianSplattingVRViewer.exe without any ply file like:
    image
  3. I also tried the NoDepthSub version like the detail 1 and the detail 2, then got the same result(he Clarte startup screen for 3 seconds then the screen kept going black.
  4. I didn't set headset's runtime as the default OpenXR runtime,because I can't find where to set

If you need more details, please feel free to contact me. Looking forward to your reply.

Gaussian Splatting Relighting

Thank you for the update! I would like to try Gaussian Splatting Relighting in your Unity plugin. Do you have any clue or idea how to work this out?

HDRP issue

Hi,

Thank you for creating and sharing the project! I attempted to implement the plugin into an HDRP project, but the Gaussian splatting does not appear in the display. Does the project not support HDRP, and if that's the case, what can I do to make it work? Would the shaders need to be rewritten to function with HDRP?

Performance constrainsts (CPU/GPU?)

Hi,

Thanks for creating the project!

I have been playing around and it seems that I am running against performance issues that I cannot explain, as I am not certain what component is a bottleneck. The issue I am seeing is that I experience 'stuttering'. So it is not necessarily slow in the sense of low fps, but their is clear stutter. I.e. in the biking scene, whenever I am looking to the bike this stutter happens, when looking away from it, it does not. This means that for a few frames everything is smooth (as far as 30fps is smooth) and then the stutter happens.

The machine I am using has 32GB ram, i9 12900k and RTX 3090ti and I was using a link cable to stream the screen to the Quest 3.

I am getting around 30fps in the biking scene when running from Unity, which seems like a fairly low fps given the hardware. Gpu-z is telling the GPU is used between 70-85%, so there seems to be some room left here. Task-manager shows that cpu is not above 50%, however 2 threads seem to hit the 100% quite often. So this gave me the hint that their might be a CPU bounded bottleneck. However, when running the profiler, ~90% is semaphore.waitforsignal, which to my understanding means the GPU is working on something. Also, changing the resolution does not seem to effect the frame rate that much, which to my understanding would also hint a CPU bounded bottleneck.

All in all:

  1. Should I expect higher fps given the hardware?
  2. If this is a hardware limitation, given the story what would your guess be on which part is the bottleneck?
  3. Is anyone else experiencing this stutter?

Thanks!

Running two GaussianSplatting model at the same time

Hi Clarte,

Thank you for your excellent work on implementing Gaussian Splatting in VR.
I'm currently trying to launch two models at the same time to perform some comparison tasks. For example, the first model launched is rendering the main scene while the second model is rendering in a small quad. My initial attempts failed because it was not possible to load both models at the same time. Can you give me some hints on how to solve this problem, e.g. which part of the code should be changed?

Program starts then crashes immediately (varjo xr 3)

I am trying to use the Clarte VR Viewer with a Varjo XR 3 headset on Windows 10 with a point cloud I created using the original gaussian splatting research paper code.

Upon executing the application I briefly see the Clarte splash screen then the program exits, presumably via an error. Is this a problem with my headset or the application itself? Is there any way I can view the unity crash logs? If so, I'll post one here ASAP. Sorry for the lack of detail.

Thank you!

Left and Right eye Occlusion view in Unity

Hi there,
Thank you for creating this plugin. I want to get the left and right eye view in the game view in unity. How do I do that? Currently I select the GaussianSplattingVR scene then add the Gaussia Splatting Camera script using add component > add the render and depth material parameters to get the one camera view of the splats.

Feature: Cycle through multiple point_cloud.ply

Cycle through multiple point_cloud.ply in a list.txt

So you have a list.txt in GaussianSplattingVRViewer.exe's folder and in this there is

path\to\point_cloud.ply
path2\to\point_cloud.ply
...

And you can cycle through them using the joystick, fi by holding trigger and using the joystick.

Run without an HMD

Hi,
Is there a way to run this project without an HMD?
I am using a Win PC and want to make some 3DGS to show in this Unity Viewer.
Can I see the result directly on my PC or an Android phone?

Many thanks

No images in HMD display

The project is so awesome! I love it! May I konw the detailed configuration of build setting and project setting? I did succeed running the program while there is no images or scenes in my PC and HMD display. I am pretty sure that it has already generated the tex under Tex/Element0, Element1,and the texture can update when I move(rotate or transform) my HMD. However, I am still so lost why these are no images/display in my HMD and PC screen. I guess it might be related with the configurations? Many thanks. Hope to get your reply soon. Thanks a lot.

git clone Error : Host key verification failed

git clone --recursive https://github.com/clarte53/GaussianSplattingVRViewerUnity.git D:\5
Cloning into 'D:\5'...
remote: Enumerating objects: 1324, done.
remote: Counting objects: 100% (232/232), done.
remote: Compressing objects: 100% (155/155), done.
Receiving objects: 100% (1324/1324), 22.05 MiB | 5.00 MiB/s, done.1092Receiving objects: 100% (1324/1324), 18.79 MiB | 4.81 MiB/s

Resolving deltas: 100% (337/337), done.
Submodule 'UnityPlugin/dependencies/diff-gaussian-rasterization' ([email protected]:clarte53/diff-gaussian-rasterization.git) registered for path 'UnityPlugin/dependencies/diff-gaussian-rasterization'
Cloning into 'D:/5/UnityPlugin/dependencies/diff-gaussian-rasterization'...
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:clarte53/diff-gaussian-rasterization.git' into submodule path 'D:/5/UnityPlugin/dependencies/diff-gaussian-rasterization' failed
Failed to clone 'UnityPlugin/dependencies/diff-gaussian-rasterization'. Retry scheduled
Cloning into 'D:/5/UnityPlugin/dependencies/diff-gaussian-rasterization'...
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:clarte53/diff-gaussian-rasterization.git' into submodule path 'D:/5/UnityPlugin/dependencies/diff-gaussian-rasterization' failed
Failed to clone 'UnityPlugin/dependencies/diff-gaussian-rasterization' a second time, aborting

Using gaussian splatting's alpha channel

Thank you for the nice work! This repository gave me a lot of inspirations.

I wanna test object representation using gaussian splatting with this code.

What I wanna ask you is that, is there any way to get alpha channel of rendered results?
In the unity code, it seems that the rendered image from .dll file is sent to textures connected to XR Origin - Camera Offset - Main Camera. But the transparent parts looks black.

Can I modify it to transparent? (for example, showing unity's skybox or boundary scene when some part is empty...)

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.