Autodesk / Autodesk/maya-usd

[EMSUSD-8] Adding experimental support for different metersPerUnit exports

Open
#2,881 2 comments 0 reactions 1 assignee Claimed by @santosd View on GitHub
enhancement
Dominant language
Wolfram Language
Stars
905
Forks
223
Avg merge
2d 9h
Merged PRs (30d)
17

Description

**Is your feature request related to a problem? Please describe.**
The need to export USD files in different metersPerUnits than the default cm that Maya uses keeps coming up for our internal artists and external users. Currently our engine uses metersPerUnit (as do several other engines and DCCs), so we're forced to scale things on import into our USD stages.

It would be really great if Maya allowed exporting to different metersPerUnit values, and handled conversions on export.

This is similar to the issue reported here: https://github.com/Autodesk/maya-usd/issues/932

**Describe the solution you'd like**

I know this is a fairly large, and contentious ask, and previous requests have been perhaps too large a task, so I would like to propose that we start by handling some of the simpler cases first, and not try and handle everything at once.

For example it could be like so:
1. The first iteration would just scale mesh points and transform/rotation values (leaving scale alone)
2. A follow up iteration could handle skeletons etc..
3. After that we could do camera and light values., so on and so forth (just as a strawman)

Basically a staged setup.

Then from a user perspective they do:

1. Make the conversion opt in via flag. By default it would take the Maya working units (cm), but could be set to a specific unit or to the displayUnits.
5. If a user opts in to the converted units, it should be both documented and print a warning that this is experimental behaviour.

This would hopefully allow some people to get by in the first few iterations of this, and they'd know that the feature isn't completely supported. I think that's probably a reasonable compromise?

**Describe alternatives you've considered**
We've tried handling this elsewhere in our pipeline, but we can't extend that to every third party user as well.
Introducing the conversion inside our various engines works, but it does create some cruft that could be better handled if we modify the source of the assets.

**Additional context**
I'm very happy to work on this , hopefully with others, but I just want to see if Autodesk would be amenable to this compromise of a solution? I didn't want to start the work without some discussion first, in case this idea was anathema to some other ideas autodesk had.

I think it would be very helpful even if it's not perfect. I'm hoping we can make something where perfect doesn't have to be the enemy of good.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.