Skip to content
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

PhysX .pxmesh generation using the asset importer does not respect defined coordinate system changes #11330

Closed
lgleim opened this issue Aug 17, 2022 · 4 comments · Fixed by #15028
Labels
feature/asset-pipeline This item is related to the asset-pipeline subsystem. feature/physics This item is related to the physics subsystem. feature/scene-pipeline Tickets related to the scene pipeline kind/feature Categorizes issue or PR as related to a new feature. priority/major Major priority. Work that should be handled after all blocking and critical work is done. sig/content Categorizes an issue or PR as relevant to SIG Content. sig/simulation Categorizes an issue or PR as relevant to SIG Simulation triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@lgleim
Copy link
Contributor

lgleim commented Aug 17, 2022

Describe the bug
When specifying a Coordinate system change (such as scaling or rotation) in the asset importer, it are correctly applied to the visual mesh, yet ignored by the pxmesh generation. Subsequently, pxmesh and visual mesh are ill-aligned / ill-scaled.

Assets required
monkey.zip (an .fbx export of Blender's Suzanne)

Steps to reproduce
To reproduce the behavior:

  1. Add the monkey.fbx to the scene and wait for the asset processor to complete
  2. Click right on monkey.fbx in the Asset Browser and select Edit Settings
  3. In the Meshes tab, Add Modifier -> Coordinate System Change
  4. Specify a transform of choice
  5. In the PhysX tab, configure the generation of at least one pxmesh
  6. Update the asset and add it to the scene
  7. Add a PhysX Collider component to the monkey object (uses the PhysicsAsset by default)
  8. Enable helper rendering
  9. See the monkey business

Expected behavior
Derived .pxmesh assets generated by the asset importer should be aligned and uniformly scaled.
Therefore, the pxmesh generation should:

  1. support the coordinate change modifier
  2. by default follow/mirror any coordinate system change defined for the visual mesh

Actual behavior
The assets are not aligned and not uniformly scaled and no mechanism is provided to address this issue during asset import.
The user must manually align the assets each time they are added to the scene.

Screenshots/Video
image

image

Found in Branch
development @ cc6c096

Desktop/Device (please complete the following information):

  • Device: PC
  • OS: Linux
  • Version: Ubuntu 22.04
  • CPU: Intel I9
  • GPU: RTX 3080 Mobile
  • Memory: 32 GB RAM, 16GB VRAM

Additional context
While the provided asset is in FBX format, this behavior is consistent across asset formats (tested with .glb)

@lgleim lgleim added feature/asset-pipeline This item is related to the asset-pipeline subsystem. feature/physics This item is related to the physics subsystem. kind/bug Categorizes issue or PR as related to a bug. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. priority/major Major priority. Work that should be handled after all blocking and critical work is done. sig/simulation Categorizes an issue or PR as relevant to SIG Simulation labels Aug 17, 2022
@lgleim
Copy link
Contributor Author

lgleim commented Aug 17, 2022

The second screenshot apparently also exhibits the incorrect scaling behavior tracked in #6283

@lgleim
Copy link
Contributor Author

lgleim commented Aug 17, 2022

Potentially related to #2426 #5981 #5987

@lgleim lgleim added sig/content Categorizes an issue or PR as relevant to SIG Content. sig/ui-ux Categorizes an issue or PR as relevant to SIG UI-UX. kind/feature Categorizes issue or PR as related to a new feature. triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed kind/bug Categorizes issue or PR as related to a bug. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Aug 17, 2022
@lgleim
Copy link
Contributor Author

lgleim commented Aug 18, 2022

After discussing in today's issue triage:

  • A coordinate system change modifier should be added to the PhysX tab (temporary workaround)
  • Further discussion about the overall asset import pipelines is needed and how the UX can be improved
  • Consider the coordinate system change to be a global setting per FBX (import asset) instead of per "output" group

@rainbj
Copy link

rainbj commented Nov 17, 2022

@HogJonny-AMZN and @shawstar is this something your DCCsi tool could help with? It sounds like this is not a UX specific bug, but a bug that happens during the import process. Let Sig-UI-UX know if there is something we can do to help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature/asset-pipeline This item is related to the asset-pipeline subsystem. feature/physics This item is related to the physics subsystem. feature/scene-pipeline Tickets related to the scene pipeline kind/feature Categorizes issue or PR as related to a new feature. priority/major Major priority. Work that should be handled after all blocking and critical work is done. sig/content Categorizes an issue or PR as relevant to SIG Content. sig/simulation Categorizes an issue or PR as relevant to SIG Simulation triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
3 participants