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

Add support for "Coordinate system change" modifier to PhysX tab in FBX Settings #14649

Closed
moraaar opened this issue Feb 17, 2023 · 5 comments · Fixed by #15028
Closed

Add support for "Coordinate system change" modifier to PhysX tab in FBX Settings #14649

moraaar opened this issue Feb 17, 2023 · 5 comments · Fixed by #15028
Labels
feature/physics This item is related to the physics subsystem. feature-need/important-soon Feature: Must be staffed / worked on either currently or very soon ideally in time for next release 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/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

@moraaar
Copy link
Contributor

moraaar commented Feb 17, 2023

Is your feature request related to a problem? Please describe.
Currently the Mesh tab in FBX Settings allows to add a modifier to the mesh called "Coordinate system change", but that modifier is not available in the PhysX tab, so the physx colliders generated for the mesh will not get the same transformation and collider and mesh won't align.

Example of a mesh using a "Coordinate System change" modifier to do an 180 degree rotation and having a physx mesh collider:
image

Describe the solution you'd like
Solution 1
Add support for "Coordinate system change" modifier to PhysX tab so the user can add the transformation to the PhysX collider as well.

Describe alternatives you've considered
Solution 2
Remove "Coordinate system change" modifier from Mesh tab and add a new generic section to the FBX Setting UI that allows modifiers to be applied globally, not only to an specific tab. With this solution the user will only add the "Coordinate system change" modifier once and it'll be applied to both mesh and physx collider. This also avoids the user to make errors like different parameters in Mesh and PhysX modifiers.

Solution 1 works and it's faster to implement, but the user would have to remember to add the modifier in 2 places and use the same parameters.

Solution 2 is more ideal, but it requires more work to modify the UI and the internal code to add a new "generic section" in FBX Settings. This solution would have to be careful of not breaking the .assetinfo that uses the modifier and adapt correctly.

@moraaar moraaar added needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. sig/content Categorizes an issue or PR as relevant to SIG Content. sig/simulation Categorizes an issue or PR as relevant to SIG Simulation priority/major Major priority. Work that should be handled after all blocking and critical work is done. and removed priority/major Major priority. Work that should be handled after all blocking and critical work is done. labels Feb 17, 2023
@moraaar
Copy link
Contributor Author

moraaar commented Feb 17, 2023

Note: Added both sig-simulation and sig-content because Solution 1 would fit more under sig-simulation and Solution 2 under sig-content.

@AMZN-stankowi
Copy link
Contributor

My recommendation is to do Solution 1 for now, and long term we think about Solution 2. I like Solution 2, but that's a lot of work.

@moraaar
Copy link
Contributor Author

moraaar commented Feb 17, 2023

My recommendation is to do Solution 1 for now, and long term we think about Solution 2. I like Solution 2, but that's a lot of work.

I agree. I didn't want to make assumptions in case Solution 2 approach was already part of an initiative or something. I'm fine with Solution 1 short term.

@AMZN-stankowi
Copy link
Contributor

Nope, nothing actively planned for Solution 2. Just something in the back of my mind so far. It's a challenge to manage scene settings with a lot of product assets, you end up needing to apply certain modifiers multiple times and it can be easy to miss one or apply the wrong setting.

I think the other side of this to keep in mind is, the Python integration for scene processing. Ideally, teams would rely on that to automate a lot of scene settings work, instead of needing to manually click through the UI, and this UI would mostly be used for one-off scene files, and initial engine evaluation. I think the Python technology is getting there, we just need to improve the funnel to help with discoverability. With that setup, it's much less important to have Solution 2, the trade-offs of managing a bunch of rules in Python is much less of a problem than in a UI.

@moraaar moraaar added feature/physics This item is related to the physics subsystem. and removed sig/content Categorizes an issue or PR as relevant to SIG Content. labels Feb 20, 2023
@lgleim lgleim added kind/feature Categorizes issue or PR as related to a new feature. feature-need/important-soon Feature: Must be staffed / worked on either currently or very soon ideally in time for next release priority/major Major priority. Work that should be handled after all blocking and critical work is done. triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Feb 23, 2023
moraaar added a commit that referenced this issue Mar 10, 2023
…cene Settings (#15028)

## What does this PR do?

Added support for "Coordinate system change" modifier to PhysX tab so the users can add the transformation to the PhysX collider to match the transformation applied to the Mesh.

Fixes #14649
Fixes #11330
Fixes #2426

## How was this PR tested?

Manually tested in a level using a Mesh Collider with a mesh exported as:
- primitive
- primitive with decomposition
- convex
- convex with decomposition
- triangle mesh

Tested with "Coordinate system change" modifier simple and advance modes.

Signed-off-by: moraaar <moraaar@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature/physics This item is related to the physics subsystem. feature-need/important-soon Feature: Must be staffed / worked on either currently or very soon ideally in time for next release 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/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