Commit graph

861 commits

Author SHA1 Message Date
Ondrej Samohel
cffe48fc20
♻️ simplify the code 2023-10-16 09:57:22 +02:00
Ondrej Samohel
971164cd7f
🐛 don't call cmds.ogs() if in headless mode 2023-10-13 18:06:53 +02:00
Toke Stuart Jepsen
f3e02c1e95 Add MayaPy application 2023-10-05 15:05:18 +01:00
Ondřej Samohel
4a418c4c28
Merge pull request #5669 from BigRoy/chore/reduce_get_project_settings 2023-10-05 13:01:17 +02:00
Ondřej Samohel
4bcad094e2
Merge pull request #5490 from BigRoy/enhancement/publish_instances_uuid_from_host 2023-10-04 12:24:31 +02:00
Kayla
8b16bacb53 make sure the get_namespace won't error out if it doesn't get anything 2023-10-03 20:21:37 +08:00
Kayla
71838b0515 abstract relativeNames namesapces into function 2023-10-03 20:06:14 +08:00
Kayla
4330281688 small bugfix on collect skeleton mesh and minor tweak 2023-10-03 13:53:30 +08:00
Roy Nieterau
1eab27d710
Merge branch 'develop' into enhancement/publish_instances_uuid_from_host 2023-10-02 11:57:43 +02:00
Kayla
2850df81b9 fix the over-indented of the namespace function under context manager 2023-10-02 17:52:34 +08:00
Kayla
0ddf5ffd90 minor tweak & abstract some codes into functions in rig content 2023-10-02 12:29:41 +08:00
Kayla
7967e9b0b9 Merge branch 'develop' into enhancement/OP-6629_Maya-Export-Rig-Animation-as-FBX 2023-10-01 20:18:10 +08:00
Roy Nieterau
31e64d0ef8 Pass project settings to menu install so it doesn't need to also retrieve it 2023-09-30 13:25:55 +02:00
Roy Nieterau
b0a62e3afe Remove unused imports 2023-09-30 13:17:21 +02:00
Roy Nieterau
6d451ccd09 Use settings from apply_settings 2023-09-30 13:15:12 +02:00
Petr Kalis
a66edaf1d0
Maya: implement matchmove publishing (#5445)
* OP-6360 - allow export of multiple cameras as alembic

* OP-6360 - make validation of camera count optional

* OP-6360 - make ValidatorCameraContents optional

This validator checks number of cameras, without optionality publish wouldn't be possible.

* OP-6360 - allow extraction of multiple cameras to .ma

* OP-6360 - update defaults for Ayon

Changes to Ayon settings should also bump up version of addon.

* OP-6360 - new matchmove creator

This family should be for more complex sets (eg. multiple cameras, with geometry, planes etc.

* OP-6360 - updated camera extractors

Added matchmove family to extract multiple cameras.
Single camera is protected by required validator.

* OP-6360 - added matchmove to reference loader

* Revert "OP-6360 - make ValidatorCameraContents optional"

This reverts commit 4096e81f785b1299b54b1e485eb672403fb89a66.

* Revert "OP-6360 - update defaults for Ayon"

This reverts commit 4391b25cfc93fbb783146a726c6097477146c467.

* OP-6360 - performance update

Number of cameras might be quite large, set operations will be faster than loop.

* Revert "OP-6360 - make validation of camera count optional"

This reverts commit ee3d91a4cbec607b0f8cc9d47382684eba88d6d0.

* OP-6360 - explicitly cast to list for Maya functions

cmds.ls doesn't like sets in some older versions of Maya apparently. Sets are used here for performance reason, so explicitly cast them to list to make Maya happy.

* OP-6360 - added documentation about matchmove family

* OP-6360 - copy input planes

* OP-6360 - expose Settings to keep Image planes

Previous implementation didn't export Image planes in Maya file, to keep behavior backward compatible new Setting was added and set to False.

* OP-6360 - make both camera extractors optional

In Settings Alembic extractor was visible as optional even if code didn't follow that.

* OP-6360 - used long name

* OP-6360 - fix wrong variable

* Update openpype/hosts/maya/plugins/publish/extract_camera_mayaScene.py

Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>

* OP-6360 - removed shortening of varible

* OP-6360 - Hound

* OP-6360 - fix wrong key

* Update openpype/hosts/maya/plugins/publish/extract_camera_mayaScene.py

Co-authored-by: Toke Jepsen <tokejepsen@gmail.com>

* Update openpype/hosts/maya/api/lib.py

Co-authored-by: Toke Jepsen <tokejepsen@gmail.com>

* Update openpype/hosts/maya/plugins/publish/extract_camera_alembic.py

Co-authored-by: Toke Jepsen <tokejepsen@gmail.com>

* OP-6360 - fix wrong variable

* OP-6360 - added reattaching method

Image planes were attached wrong, added method to reattach them properly.

* Revert "Update openpype/hosts/maya/api/lib.py"

This reverts commit 4f40ad613946903e8c51b2720ac52756e701f8b8.

* OP-6360 - exported baked camera should be deleted

Forgotten commenting just for development.

* OP-6360 - updated docstring

* OP-6360 - remove scale keys

Currently parentConstraint from old camera to new one doesn't work for keyed scale attributes. To key scale attributes doesn't make much sense so as a workaround, keys for scale attributes are checked AND if they are diferent from defaults (1.0) publish fails (as artist might want to actually key scale). If all scale keys are defaults, they are temporarily removed, cameras are parent constrained, exported and old camera returned to original state.

* OP-6360 - cleaned up resetting of scale keys

Batch calls used instead of one by one.
Cleaned up a return type as key value is no necessary as we are not setting it, just key.

* OP-6360 - removed unnecessary logging

* OP-6360 - reattach image plane to original camera

Image plane must be reattached before baked camera(s) are deleted.

* OP-6360 - added context manager to keep image planes attached to original camera

Without this image planes would disappear after removal of baked cameras.

* OP-6360 - refactored contextmanager

* OP-6360 - renamed flag

Input connections are not copied anymore as they might be dangerous. It is possible to epxlicitly attach only image planes instead.

* OP-6360 - removed copyInputConnections

Copying input connections might be dangerous (rig etc.), it is possible to explicitly attach only image planes.

* OP-6360 - updated plugin labels

* Update openpype/hosts/maya/plugins/create/create_matchmove.py

Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>

* OP-6360 - fixed formatting

---------

Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>
Co-authored-by: Toke Jepsen <tokejepsen@gmail.com>
2023-09-29 17:33:28 +02:00
Kayla
846bd0fd59 make sure there is a check in relative names in namespace before yield function & add docstring 2023-09-29 22:12:02 +08:00
Kayla
37cefd892c abstract namespaced functions for extract fbx animation and add fbx loaders in animatin family 2023-09-29 18:26:58 +08:00
Kayla
c5d54a522a make sure skeleton_Anim set and skeleton_Mesh set inside the loaded rig_sets 2023-09-28 22:51:53 +08:00
Kayla
dda932e83e code clean up and tweak on debug mesg 2023-09-28 22:37:30 +08:00
Kayla
a0d459eb69 Merge branch 'develop' into enhancement/OP-6629_Maya-Export-Rig-Animation-as-FBX 2023-09-24 13:11:37 +08:00
Kayla
b7995a41a7 enable the skeleton rig content validator and make the fbx animation collector optional and use the asset as both asset_name and asset_type data for custom subset in the loader 2023-09-20 21:26:02 +08:00
Ondřej Samohel
e6ce9fd9e1
Merge pull request #5573 from BigRoy/feature/maya_usd_native_support 2023-09-19 17:15:36 +02:00
Toke Stuart Jepsen
9f040265e7 Remove context prompt. 2023-09-18 16:07:54 +01:00
Kayla
7252acceb8 hound 2023-09-18 21:52:17 +08:00
Kayla
5429616e1e add fbx as representation to the loader and hound fix 2023-09-18 21:50:13 +08:00
Kayla
b5d789e09b remove animationOnly parameter as it would convert the joint to transform data 2023-09-18 20:36:00 +08:00
Kayla
c78d496ec9 including skeleton sets into animation sets during loading rig & fixing the rig fbx extractor not being displayed 2023-09-18 12:17:22 +08:00
Roy Nieterau
b56d4633e1
Merge branch 'develop' into enhancement/publish_instances_uuid_from_host 2023-09-13 22:51:31 +02:00
Kayla Man
c07e741b7a hound 2023-09-13 13:35:55 +08:00
Kayla Man
e64984d510 update fbx param to support skeleton definition exports and add the optional validators to make sure it's always a top group hierarchy of the rig in the sets 2023-09-13 13:34:44 +08:00
Kayla Man
6f23755873 make sure the rig family has published fbx and file version should be 2022 2023-09-12 19:48:36 +08:00
Kayla Man
09e797577b remove the irrelevant fbx output parameter 2023-09-11 21:35:58 +08:00
Kayla Man
83874c9db4 update the validator 2023-09-08 16:37:34 +08:00
Kayla Man
d58b5a42f7 implment fbx extractors in both animation and rig family 2023-09-07 20:46:39 +08:00
Kayla Man
da7c47ab2f add fbx extractors and new sets in rig family 2023-09-07 14:47:22 +08:00
Roy Nieterau
e79f1ef4b9 Replacing value only if value is in str is same as just replacing it 2023-09-06 23:30:17 +02:00
Roy Nieterau
ba6dfc5ead Remove unused variables + tweak logs 2023-09-06 23:28:39 +02:00
Roy Nieterau
862907079c Support special creator attributes in Maya's flattened creator_attributes structure that are not convertable to Maya native attribute types (list, tuple, dict), like e.g. EnumDef with multiselection=True 2023-09-06 15:23:11 +02:00
Roy Nieterau
8ceedd7b60 Draft for implementing a native Maya USD creator next to the Multiverse USD creator 2023-09-05 17:56:09 +02:00
Jakub Trllo
cb3e83118b maya create plugins do not expecte system settings 2023-09-01 17:14:39 +02:00
Roy Nieterau
5ff66afff7 Allow duplicating publish instances in Maya by not storin instance id as an attribute but using the (unique) node's name instead. 2023-08-23 22:40:25 +02:00
Petr Kalis
c5d882c7ea
Maya: Fix wrong subset name of render family in deadline (#5442)
* Use existing subset_name as group_name by default

New publisher already carries real subset name (`renderModelingMain`), it should build group name only if subset_name is weird.

* Let legacy conversion of render instance recreate subset_name

Without it would create subset names like `renderingMain` which are not matching to newly created `renderMain` instances. This would cause issue in version restarts.

* Let Render Creator for Maya create proper subset_name

It was using hardcoded logic not matching other DCCs.

* Hound

* Fix method calls

* Fix typos

* Do not import unnecessary

* Capitalize is wrong function for here

* Overwrite get_subset_name for standardized results

It makes sense to override this method for other parts of code getting same results.

* Force change

It seems that GH doesn't recognize changes with adding()

* Update openpype/hosts/maya/plugins/create/convert_legacy.py

Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>

* Hound

---------

Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>
2023-08-17 10:33:52 +02:00
Petr Kalis
8b128d91bc
Maya: allow not creation of group for Import loaders (#5427)
* OP-6357 - removed unneeded import

* OP-6357 - extracted logic for getting custom group and namespace from Settings

Mimicing logic in ReferenceLoader, eg. group could be left empty >> no groupping of imported subset.

* OP-6357 - same logic for abc animation as Reference

* OP-6357 - same logic for yeti rig as ReferenceLoder

Allows to not create wrapping group.

* OP-6357 - added separate import_loader to settings

Could be used to not creating wrapping groups when Group kept empty.

* OP-6357 - added product subset conversion for ayon settings

* OP-6357 - fix using correct variable

Artist input comes from `data` not directly from self.options

* OP-6357 - add attach_to_root to options to allow control by same key

* OP-6357 - added docstring

* Added settings for Import loaders in maya

* OP-6357 - refactored formatting
2023-08-11 16:12:05 +02:00
Petr Kalis
7d40debd64
Maya: do not create top level group on reference (#5402)
* OP-6358 - allow not creation of group for reference loader in Maya

Creation of wrapping group could be controlled by checkbox in ReferenceLoader options.

* OP-6358 - group name could be empty in Settings

This enables default behavior of not creating wrapping group without need of artists unchecking `Group imported assets`.

* OP-6358 - changed to safer logic

Stripping of | was weird and potentially dangerous (collision of names), this logic should be safer.
2023-08-08 11:00:02 +02:00
Jakub Trllo
ae3eb37776
AYON: Add folder to template data (#5417)
* added 'folder[name]' to template data

* removed asset <-> folder conversion from conversion utils

* use folder[name] in maya namespace
2023-08-07 17:22:28 +02:00
Jakub Trllo
6196ded1a9
Chore: Python 2 support fix (#5375)
* remove f-string formatting

* added python 2 compatible click into python 2 vendor
2023-08-01 10:46:59 +02:00
Milan Kolar
93260948bf
Merge pull request #5297 from tokejepsen/bugfix/maya_include_disabled_plugins 2023-07-27 09:55:53 +02:00
Milan Kolar
0b58144f2c
Merge pull request #5303 from tokejepsen/bugfix/maya_creators_apply_settings 2023-07-27 09:14:43 +02:00
Toke Stuart Jepsen
70f97b2738 Fix get_pre_create_attr_defs query 2023-07-22 09:24:21 +01:00