-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Add parsing for adobe splat meta fields in PLYs #17492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Add parsing for adobe splat meta fields in PLYs #17492
Conversation
|
Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). |
|
Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). |
|
Snapshot stored with reference name: Test environment: To test a playground add it to the URL, for example: https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/17492/merge/index.html#WGZLGJ#4600 Links to test babylon tools with this snapshot: https://playground.babylonjs.com/?snapshot=refs/pull/17492/merge To test the snapshot in the playground with a playground ID add it after the snapshot query string: https://playground.babylonjs.com/?snapshot=refs/pull/17492/merge#BCU1XR#0 |
|
WebGL2 visualization test reporter: |
|
Visualization tests for WebGPU |
|
Devhost visualization test reporter: |
|
I can't seem to add a label to this PR now that it's created. But it's a new feature |
| safeOrbitCameraRadiusMin?: number; | ||
| safeOrbitCameraElevationMinMax?: [number, number]; | ||
| upAxis?: "X" | "Y" | "Z"; | ||
| chirality?: "LeftHanded" | "RightHanded"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
chirality and upAxis read but not used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a good question I saw we had these headers and wanted to add support for them but was not sure if you wanted that and if you already had handling for that I should wire up somewhere?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For reference this is how we are handling things in our plugin:
if (chirality === AdobeGSplatChirality.RightHanded) {
this.scaling.y *= -1.0;
}
switch (upAxis) {
case AdobeGSplatUpAxis.X:
this.rotation = new Vector3(0, 0, Math.PI / 2);
break;
case AdobeGSplatUpAxis.Y:
this.rotation = new Vector3(0, 0, Math.PI);
break;
case AdobeGSplatUpAxis.Z:
this.rotation = new Vector3(-Math.PI / 2, Math.PI, 0);
break;
}
Think this is fine to apply directly to the mesh or should we wrap the mesh or transform the data?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like making bakeCurrentTransformIntoVertices work on GaussianSplattingMesh. I'm a little unsure if applying the Chirality through scaling is standard enough practice to not cause issues.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An intermediate transform is added with imported GLTF. bakeCurrentTransformIntoVertices is not supported for the moment. I think this is something we will have to revisit with Gaussian Splatting GLTF extension.
This PR adds support for reading the up_axis, chirality, safe_orbit_camera_elevation_min_max_radians, and safe_orbit_camera_radius_min header values and applies them if the active camera is a ArcRotateCamera.