Comments (8)
Ok looks like scaniverse produces a PLY file with different data order compared to what most other 3DGS software does. To fix this, I'd have to implement some code to rearrange the data into the expected order. I don't know if/when I'd do that (or someone could implement this and contribute a PR to this repo?). This could also perhaps be fixed on scaniverse side by making their export match the data order used by others.
Scaniverse data layout is this:
float3 pos;
float3 scale;
float4 rot;
float opacity;
float3 color;
float3 sh[15];
whereas the "standard" order is:
float3 pos;
float3 normal;
float3 color;
float3 sh[15];
float opacity;
float3 scale;
float4 rot;
from unitygaussiansplatting.
I have reported the format issue to the Scanniverse team, it should be fixed in the next release.
from unitygaussiansplatting.
I'm having the same issue.
I've sent an email to Scaniverse, asking what they can tell me about their format. I'll report back here if I get an answer.
I thought of fixing it myself (or maybe writing a ply-file converter), but I can't find the normal
data in the scaniverse files.
Incidentally, that's also the reason the Scaniverse files give an error: each point is 3 floats short of the expected size (hence 12 bytes shorter).
from unitygaussiansplatting.
Hi! The latest version of Scaniverse (3.0.2) exports to PLY with the "standard" layout and is compatible with UnityGaussianSplatting.
from unitygaussiansplatting.
@jackjansen oh the scaniverse format/layout is known (see my previous comment here). The normal
in the "standard" 3DGS PLY layout is not used for anything whatsoever, just putting zeroes in there would work fine.
from unitygaussiansplatting.
That sounds exactly like #81 (comment) i.e. the PLY file is "somehow" not matching the standard data layout, but hard to say how exactly without having the file in question. Can you share some file from that scaniverse thing?
from unitygaussiansplatting.
Thanks for you fast answer.
Here is a sample file
Regards
Ben
from unitygaussiansplatting.
I attempted to patch GaussSplatAssetCreator.cs and GaussSplatRendererEditor.cs to load the original Scaniverse file format, but just disabling the normals check and changing the data format didn't work. The color and transparency did not load correctly. I was able to fix problematic Scaniverse ply files and load in Unity after converting them from 3DGS format to Cloud Compare and back to 3DGS using 3dgsconverter. HTH anyone waiting on the Scaniverse app update.
from unitygaussiansplatting.
Related Issues (20)
- splat render looks weird on vr HOT 1
- Rendering: non-standard projection matrix with non-full viewport does not render correctly HOT 2
- Question of Unity in MacOS HOT 4
- PLY vertex size mismatch,expected 248 but file has 236 HOT 1
- Sort not working on Android devices, Quest 3 and Lenovo A3 HOT 21
- Cannot find GaussianSplat in object hierarchy in Unity on macOS HOT 2
- Display anomaly in Iphone14 HOT 4
- How to edit Gaussian splats HOT 2
- Shader error in 'SplatUtilities': undeclared identifier 'WaveGetLaneCount' HOT 1
- Support for mobile device HOT 1
- How to export Gaussian Splats HOT 1
- PLY {filePath} read error: currently files larger than 2GB are not supported HOT 1
- Platforms: Does not work on Vision Pro Simulator HOT 1
- Rendering order issue HOT 1
- Scene size limit HOT 1
- Scene Freezes in Game Mode HOT 1
- Platform: Apple visionOS with Polyspatial / Shader compilation error HOT 1
- No camera control slider HOT 3
- Unable to build the apk for quest 3 properly. HOT 1
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 unitygaussiansplatting.