Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leixingyu/shapemanager
Manager maya controller shapes
https://github.com/leixingyu/shapemanager
Last synced: 21 days ago
JSON representation
Manager maya controller shapes
- Host: GitHub
- URL: https://github.com/leixingyu/shapemanager
- Owner: leixingyu
- Created: 2022-03-20T22:14:53.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-04-23T00:35:35.000Z (over 2 years ago)
- Last Synced: 2023-03-09T23:47:04.120Z (almost 2 years ago)
- Language: Python
- Homepage:
- Size: 321 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Shape Manager
Create NURBS curves for custom controllers, then make a library out of it so you can
store and re-use them anytime.### Getting Started
1. Download and uzip the [shape-manager package](https://github.com/leixingyu/shapeManager/releases/tag/v.1.0.0) under
`%USERPROFILE%/Documents/maya/[current maya version]/scripts/`
or a custom directory under `PYTHONPATH` env variable.2. Launch through script editor:
```python
from shapeManager import shapeManager
shapeManager.show()
```### Dependencies
- [Qt](https://github.com/mottosso/Qt.py): a module that supports different
python qt bindings (Only needed if you need UI support functionalities)
```
pip install Qt.py
```Already packaged dependencies with locked version of the following,
but you could also manually clone the latest using `git clone --recursive`- [pipelineUtil](https://github.com/leixingyu/pipelineUtil)
- [mayaUtil](https://github.com/leixingyu/mayaUtil)
- [guiUtil](https://github.com/leixingyu/guiUtil)### How To
#### Right-Click Menu:
Load: load the selected controller in your scene
Delete: delete the selected entry in the shape library#### Create:
Select all the nurbs curves (transform) you want to save out,
enter the name of the controller and boom!#### Folder Structure:
All data and thumbnails live in `/shape-library` folder.
In which, controller shape is stored as .json files and thumbnails
as .jpg in `thumbnail` folder.> The pathing can be easily changed in code (`SHAPE_PATH` in _shapeFile.py_),
> but I didn't add the gui yet.### Shape Object
A controller shape is constructed by one or more nurbs curve(s).
With each curve sharing same data structure: curve CVs, form, and degree
represented in a .json file.> example of _circle.json_
```json
{
"shapes": [
{
"pts": [
[
0.7836116248912245,
4.798237340988473e-17,
-0.7836116248912246
],
[
6.785732323110912e-17,
6.785732323110912e-17,
-1.1081941875543877
],
[
-0.7836116248912245,
4.798237340988472e-17,
-0.7836116248912244
],
[
-1.1081941875543881,
3.517735619006027e-33,
-5.74489823752483e-17
],
[
-0.7836116248912245,
-4.7982373409884725e-17,
0.7836116248912245
],
[
-1.1100856969603225e-16,
-6.785732323110917e-17,
1.1081941875543884
],
[
0.7836116248912245,
-4.798237340988472e-17,
0.7836116248912244
],
[
1.1081941875543881,
-9.253679210110099e-33,
1.511240500779959e-16
]
],
"form": 2,
"degree": 3
}
],
"version": 0.1
}
```