ayon-core/website
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
..
docs Maya: implement matchmove publishing (#5445) 2023-09-29 17:33:28 +02:00
src documentation: Split tools into separate entries 2023-01-18 12:53:32 +00:00
static update Ellipse animation after re-brand 2022-07-22 14:21:06 +02:00
docusaurus.config.js Merge branch 'develop' of github.com:pypeclub/OpenPype into chore/testing_fixes 2022-02-22 11:46:32 +01:00
package.json docusaurus 2.0.0-beta15 2022-02-03 10:51:00 +01:00
publish.cmd update to correct docs 2021-04-06 20:57:52 +02:00
README.md Sync Server beginning of documentation 2021-05-05 15:34:26 +02:00
sidebars.js Merge remote-tracking branch 'origin/develop' into feature/OP-3933_RR-support 2023-06-05 12:35:53 +02:00
yarn.lock Merge develop 2023-03-29 14:46:41 +02:00

When developing on Windows make sure start.sh has the correct line endings (LF).

Start via yarn:

Clone repository

Install yarn if not already installed (https://classic.yarnpkg.com/en/docs/install) For example via npm (but could be installed differently too)

```npm install --global yarn```

Then go to website folder

```yarn install``` (takes a while)

To start local test server:

```yarn start```

Server is accessible by default on http://localhost:3000

Start via docker:

Setting for docker container:

docker build . -t pype-docs
docker run --rm -p 3000:3000 -v /c/Users/admin/openpype.io:/app pype-docs