USD Export: New Curves/Hair Support #105375

Merged
Michael Kowalski merged 19 commits from SonnyCampbell_Unity/blender:unity/T102376-USD-Curves-Export into main 2023-05-16 20:04:26 +02:00

19 Commits

Author SHA1 Message Date
DESKTOP-ON14TH5\Sonny Campbell 93fa6259b2 Update to use function-style casts as in the style guide
buildbot/vexp-code-patch-coordinator Build done. Details
2023-05-16 14:13:56 +01:00
DESKTOP-ON14TH5\Sonny Campbell bbbd19ba96 Small tidy up changes 2023-05-16 10:52:37 +01:00
DESKTOP-ON14TH5\Sonny Campbell a7a1a3d3ca Update NURBS export logic so that knots are concatenated for all batched curves.
Added a test to cover batched NURBS export.
2023-05-16 10:49:24 +01:00
DESKTOP-ON14TH5\Sonny Campbell 88b89df207 Fix comment formatting. Use canonical name for `points`. Update report warning to use enum names. 2023-05-03 12:22:43 +01:00
DESKTOP-ON14TH5\Sonny Campbell 465ccb3842 USD doesn't support animating the type of curves. Due to this limitation we will only export curves if they match the curve type exported on the first frame. 2023-05-03 12:22:43 +01:00
DESKTOP-ON14TH5\Sonny Campbell a1cf11eafb More clear warning message for mixed curve types or mixed cyclic curves. 2023-05-03 12:22:43 +01:00
DESKTOP-ON14TH5\Sonny Campbell 57510ffdfe Use custom `unique_ptr` deleter to handle early return cases 2023-05-03 12:22:43 +01:00
DESKTOP-ON14TH5\Sonny Campbell 35df5aa325 Add descriptions to unit test checks and assertions 2023-05-03 12:22:43 +01:00
DESKTOP-ON14TH5\Sonny Campbell c72c159bab Move legacy curve conversion into `do_write` function as the context object data can and will change frame by frame. 2023-05-03 12:22:43 +01:00
DESKTOP-ON14TH5\Sonny Campbell a86c4e406c Remove `check_is_animated` to perform default animation check on usd export 2023-05-03 12:22:43 +01:00
DESKTOP-ON14TH5\Sonny Campbell a1587d6b01 Include first vert as repeated vert for bezier curve. Include comment to explain segment counts for linear and cubic curves. 2023-05-03 12:22:43 +01:00
DESKTOP-ON14TH5\Sonny Campbell 1399031b0f Switch to `is_cyclic` and `is_cubic` for bool parameters 2023-05-03 12:22:43 +01:00
DESKTOP-ON14TH5\Sonny Campbell 22e63a561c Rebased changes onto `main` and resolved compilation errors due to changed api for `CurvesGeometry`.
Moved tests into new `usd_curves_test` file.
2023-05-03 12:22:43 +01:00
DESKTOP-ON14TH5\Sonny Campbell 0a415d5e64 Refactor logic into more consistent abstraction levels. 2023-05-03 12:22:43 +01:00
DESKTOP-ON14TH5\Sonny Campbell 1e4bda4473 Handle memory management of curves when converting from legacy curves to new curves type with `unique_ptr` and freeing the memory when `usd_writer_curves` is disposed of.
Tidied up code style issues in the unit tests.
2023-05-03 12:22:43 +01:00
DESKTOP-ON14TH5\Sonny Campbell 1c7df5997f Remove unnecessary width interpolation code.
Updated changes to be consistent with style.
2023-05-03 12:22:43 +01:00
DESKTOP-ON14TH5\Sonny Campbell 79bf67a8dc Added logic for USD representation of periodic NURBS curves at export.
Fleshed out more unit tests.
2023-05-03 12:22:42 +01:00
DESKTOP-ON14TH5\Sonny Campbell 63ce89abbc Updated with feedback from the patch review comments.
Added NURBS export functionality.

Added tests to cover curves export.
2023-05-03 12:22:42 +01:00
DESKTOP-ON14TH5\Sonny Campbell db409c2193 This patch addresses the feature request T102376
Differential Revision: https://developer.blender.org/D16545
2023-05-03 12:22:42 +01:00