Name | maya-rig-core JSON |
Version |
0.2.5
JSON |
| download |
home_page | None |
Summary | 一个好用的Maya绑定核心库 |
upload_time | 2024-10-07 11:40:11 |
maintainer | None |
docs_url | None |
author | None |
requires_python | !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7 |
license | Apache Software License (Apache 2.0) |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# maya_rig_core
一个好用的绑定核心库
## 目录
- [快速开始](#快速开始)
* [安装](#安装)
* [使用](#使用)
- [版权说明](#版权说明)
## 快速开始
### 安装
注意下方的python是你的Python, 正常情况下可以直接通过python调用, 而Maya的python一般是C:\Program
Files\Autodesk\<Maya版本>\bin\mayapy.exe
```commandline
python -m pip install maya-rig-core
```
在windows下maya的安装例子
注意:
1. 请将Maya路径替换为自己的。
2. 请使用cmd
```commandline
"C:\Program Files\Autodesk\Maya2018\bin\mayapy.exe" -m pip install maya-rig-core
```
### 使用
#### 创建控制器与组
```python
# -*-coding:utf-8 -*-
from __future__ import print_function, unicode_literals, division
from rig_core.all import *
ctx = Ctx()
con = ctx.controller()
grp = ctx.add_group_to_object(con)
```
#### 创建名称空间上下文
```python
# -*-coding:utf-8 -*-
from __future__ import print_function, unicode_literals, division
from rig_core.all import *
ctx = Ctx()
with ctx.enter_new_name_space(prefix='prefix_'):
con_list = ctx.controller()
print('在这里你可以查看名称空间上下文结束之后的名称', con_list)
```
#### 创建生成块上下文
```python
# -*-coding:utf-8 -*-
from __future__ import print_function, unicode_literals, division
from rig_core.all import *
ctx = Ctx()
# nodes 就是这个生成块记录的节点, 两个nodes都是.
with ctx.enter_build_block(key=lambda nodes: print('从回调获得 生成块中创建了什么节点 >> ', nodes)) as nodes:
con_list = ctx.controller()
print('从变量获得 生成块中创建了什么节点 >> ', nodes)
```
#### 使用Tag过滤节点
```python
# -*-coding:utf-8 -*-
from __future__ import print_function, unicode_literals, division
from rig_core.all import *
ctx = Ctx()
# 进入一个新的Tag运行时(不进入其实也能跑,但是这里为了演示就进入了)
with ctx.enter_new_tag_rt('test_tag_rt'):
# 创建有one标签的控制器
one_con_list = ctx.controller(tags=['one'])
# 创建有two标签的控制器
two_con_list = ctx.controller(tags=['two'])
# 创建过滤器
f = ctx.filter()
# 过滤节点
nodes = f.tag_equal('one')
print('搜索到的节点', list(nodes))
```
#### 进入一个新的根对象
```python
# -*-coding:utf-8 -*-
from __future__ import print_function, unicode_literals, division
from rig_core.all import *
ctx = Ctx()
root_con = ctx.controller()
root_grp = ctx.add_group_to_object(root_con)
with ctx.enter_new_root_object(root_con):
child_con = ctx.controller()
child_grp = ctx.add_group_to_object(child_con)
```
#### 虚拟骨骼树的使用
```python
# -*-coding:utf-8 -*-
from __future__ import print_function, unicode_literals, division
from rig_core.all import *
ctx = Ctx()
# 创建控制器和组
con_list = ctx.controller_list(tags=['test'], count=10)
grp_list = ctx.add_group_to_object_list(con_list, tags=['test'])
# 将控制器添加虚拟骨骼树下面
ctx.root_joint.add_joint_chain_from_object_list(con_list)
# 将虚拟骨骼树转化为实体骨骼
create_real_joints_from_root(ctx.root_joint)
```
#### 进入一个新的根虚拟关节
```python
# -*-coding:utf-8 -*-
from __future__ import print_function, unicode_literals, division
from rig_core.all import *
ctx = Ctx()
root_con = ctx.controller()
root_grp = ctx.add_group_to_object(root_con)
# 进入一个新的根虚拟关节
with ctx.create_child_joint_as_new_root_joint(obj=root_con):
# 创建控制器和组
con_list = ctx.controller_list(tags=['test'], count=10)
grp_list = ctx.add_group_to_object_list(con_list, tags=['test'])
# 将控制器添加虚拟骨骼树下面
ctx.root_joint.add_child_from_object_list(con_list)
# 将虚拟骨骼树转化为实体骨骼
create_real_joints_from_root(ctx.root_joint)
```
# 节点数据库功能
```python
# -*-coding:utf-8 -*-
from __future__ import print_function, unicode_literals, division
from rig_core.all import *
ctx = Ctx()
con = ctx.controller()
grp = ctx.add_group_to_object(con)
# 进入一个新的节点数据库运行时(不进入其实也能跑,但是这里为了演示就进入了)
with ctx.enter_new_all_node_db_rt('test_attributes_name'):
# 向控制器储存
ctx.all_node_db_rt[con, 'test_key'] = 'test_all_db_rt_data'
# 从控制器读取数据
print('从控制器读取的数据', ctx.all_node_db_rt[con, 'test_key'])
```
## 版权说明
该项目签署了Apache-2.0 授权许可,详情请参阅 LICENSE
Raw data
{
"_id": null,
"home_page": null,
"name": "maya-rig-core",
"maintainer": null,
"docs_url": null,
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "cpcgskill <cpcgskill@outlook.com>",
"download_url": "https://files.pythonhosted.org/packages/46/7a/4618bbfe84dd20772606e73ecd6ba1abdc488392a0d68d549060c94a7ecb/maya_rig_core-0.2.5.tar.gz",
"platform": null,
"description": "# maya_rig_core\r\n\r\n\u4e00\u4e2a\u597d\u7528\u7684\u7ed1\u5b9a\u6838\u5fc3\u5e93\r\n\r\n## \u76ee\u5f55\r\n\r\n- [\u5feb\u901f\u5f00\u59cb](#\u5feb\u901f\u5f00\u59cb)\r\n * [\u5b89\u88c5](#\u5b89\u88c5)\r\n * [\u4f7f\u7528](#\u4f7f\u7528)\r\n- [\u7248\u6743\u8bf4\u660e](#\u7248\u6743\u8bf4\u660e)\r\n\r\n## \u5feb\u901f\u5f00\u59cb\r\n\r\n### \u5b89\u88c5\r\n\r\n\u6ce8\u610f\u4e0b\u65b9\u7684python\u662f\u4f60\u7684Python, \u6b63\u5e38\u60c5\u51b5\u4e0b\u53ef\u4ee5\u76f4\u63a5\u901a\u8fc7python\u8c03\u7528, \u800cMaya\u7684python\u4e00\u822c\u662fC:\\Program\r\nFiles\\Autodesk\\<Maya\u7248\u672c>\\bin\\mayapy.exe\r\n\r\n```commandline\r\npython -m pip install maya-rig-core\r\n```\r\n\r\n\u5728windows\u4e0bmaya\u7684\u5b89\u88c5\u4f8b\u5b50\r\n\r\n\u6ce8\u610f:\r\n\r\n1. \u8bf7\u5c06Maya\u8def\u5f84\u66ff\u6362\u4e3a\u81ea\u5df1\u7684\u3002\r\n2. \u8bf7\u4f7f\u7528cmd\r\n\r\n```commandline\r\n\"C:\\Program Files\\Autodesk\\Maya2018\\bin\\mayapy.exe\" -m pip install maya-rig-core\r\n```\r\n\r\n### \u4f7f\u7528\r\n\r\n#### \u521b\u5efa\u63a7\u5236\u5668\u4e0e\u7ec4\r\n\r\n```python\r\n# -*-coding:utf-8 -*-\r\nfrom __future__ import print_function, unicode_literals, division\r\nfrom rig_core.all import *\r\n\r\nctx = Ctx()\r\ncon = ctx.controller()\r\ngrp = ctx.add_group_to_object(con)\r\n```\r\n\r\n#### \u521b\u5efa\u540d\u79f0\u7a7a\u95f4\u4e0a\u4e0b\u6587\r\n\r\n```python\r\n# -*-coding:utf-8 -*-\r\nfrom __future__ import print_function, unicode_literals, division\r\nfrom rig_core.all import *\r\n\r\nctx = Ctx()\r\nwith ctx.enter_new_name_space(prefix='prefix_'):\r\n con_list = ctx.controller()\r\nprint('\u5728\u8fd9\u91cc\u4f60\u53ef\u4ee5\u67e5\u770b\u540d\u79f0\u7a7a\u95f4\u4e0a\u4e0b\u6587\u7ed3\u675f\u4e4b\u540e\u7684\u540d\u79f0', con_list)\r\n```\r\n\r\n#### \u521b\u5efa\u751f\u6210\u5757\u4e0a\u4e0b\u6587\r\n\r\n```python\r\n# -*-coding:utf-8 -*-\r\nfrom __future__ import print_function, unicode_literals, division\r\nfrom rig_core.all import *\r\n\r\nctx = Ctx()\r\n# nodes \u5c31\u662f\u8fd9\u4e2a\u751f\u6210\u5757\u8bb0\u5f55\u7684\u8282\u70b9, \u4e24\u4e2anodes\u90fd\u662f.\r\nwith ctx.enter_build_block(key=lambda nodes: print('\u4ece\u56de\u8c03\u83b7\u5f97 \u751f\u6210\u5757\u4e2d\u521b\u5efa\u4e86\u4ec0\u4e48\u8282\u70b9 >> ', nodes)) as nodes:\r\n con_list = ctx.controller()\r\nprint('\u4ece\u53d8\u91cf\u83b7\u5f97 \u751f\u6210\u5757\u4e2d\u521b\u5efa\u4e86\u4ec0\u4e48\u8282\u70b9 >> ', nodes)\r\n```\r\n\r\n#### \u4f7f\u7528Tag\u8fc7\u6ee4\u8282\u70b9\r\n\r\n```python\r\n# -*-coding:utf-8 -*-\r\nfrom __future__ import print_function, unicode_literals, division\r\nfrom rig_core.all import *\r\n\r\nctx = Ctx()\r\n\r\n# \u8fdb\u5165\u4e00\u4e2a\u65b0\u7684Tag\u8fd0\u884c\u65f6(\u4e0d\u8fdb\u5165\u5176\u5b9e\u4e5f\u80fd\u8dd1,\u4f46\u662f\u8fd9\u91cc\u4e3a\u4e86\u6f14\u793a\u5c31\u8fdb\u5165\u4e86)\r\nwith ctx.enter_new_tag_rt('test_tag_rt'):\r\n # \u521b\u5efa\u6709one\u6807\u7b7e\u7684\u63a7\u5236\u5668\r\n one_con_list = ctx.controller(tags=['one'])\r\n # \u521b\u5efa\u6709two\u6807\u7b7e\u7684\u63a7\u5236\u5668\r\n two_con_list = ctx.controller(tags=['two'])\r\n\r\n # \u521b\u5efa\u8fc7\u6ee4\u5668\r\n f = ctx.filter()\r\n # \u8fc7\u6ee4\u8282\u70b9\r\n nodes = f.tag_equal('one')\r\n print('\u641c\u7d22\u5230\u7684\u8282\u70b9', list(nodes))\r\n```\r\n\r\n#### \u8fdb\u5165\u4e00\u4e2a\u65b0\u7684\u6839\u5bf9\u8c61\r\n\r\n```python\r\n# -*-coding:utf-8 -*-\r\nfrom __future__ import print_function, unicode_literals, division\r\nfrom rig_core.all import *\r\n\r\nctx = Ctx()\r\n\r\nroot_con = ctx.controller()\r\nroot_grp = ctx.add_group_to_object(root_con)\r\n\r\nwith ctx.enter_new_root_object(root_con):\r\n child_con = ctx.controller()\r\n child_grp = ctx.add_group_to_object(child_con)\r\n```\r\n\r\n#### \u865a\u62df\u9aa8\u9abc\u6811\u7684\u4f7f\u7528\r\n\r\n```python\r\n# -*-coding:utf-8 -*-\r\nfrom __future__ import print_function, unicode_literals, division\r\nfrom rig_core.all import *\r\n\r\nctx = Ctx()\r\n\r\n# \u521b\u5efa\u63a7\u5236\u5668\u548c\u7ec4\r\ncon_list = ctx.controller_list(tags=['test'], count=10)\r\ngrp_list = ctx.add_group_to_object_list(con_list, tags=['test'])\r\n\r\n# \u5c06\u63a7\u5236\u5668\u6dfb\u52a0\u865a\u62df\u9aa8\u9abc\u6811\u4e0b\u9762\r\nctx.root_joint.add_joint_chain_from_object_list(con_list)\r\n\r\n# \u5c06\u865a\u62df\u9aa8\u9abc\u6811\u8f6c\u5316\u4e3a\u5b9e\u4f53\u9aa8\u9abc\r\ncreate_real_joints_from_root(ctx.root_joint)\r\n```\r\n\r\n#### \u8fdb\u5165\u4e00\u4e2a\u65b0\u7684\u6839\u865a\u62df\u5173\u8282\r\n\r\n```python\r\n# -*-coding:utf-8 -*-\r\nfrom __future__ import print_function, unicode_literals, division\r\nfrom rig_core.all import *\r\n\r\nctx = Ctx()\r\n\r\nroot_con = ctx.controller()\r\nroot_grp = ctx.add_group_to_object(root_con)\r\n\r\n# \u8fdb\u5165\u4e00\u4e2a\u65b0\u7684\u6839\u865a\u62df\u5173\u8282\r\nwith ctx.create_child_joint_as_new_root_joint(obj=root_con):\r\n # \u521b\u5efa\u63a7\u5236\u5668\u548c\u7ec4\r\n con_list = ctx.controller_list(tags=['test'], count=10)\r\n grp_list = ctx.add_group_to_object_list(con_list, tags=['test'])\r\n\r\n # \u5c06\u63a7\u5236\u5668\u6dfb\u52a0\u865a\u62df\u9aa8\u9abc\u6811\u4e0b\u9762\r\n ctx.root_joint.add_child_from_object_list(con_list)\r\n\r\n# \u5c06\u865a\u62df\u9aa8\u9abc\u6811\u8f6c\u5316\u4e3a\u5b9e\u4f53\u9aa8\u9abc\r\ncreate_real_joints_from_root(ctx.root_joint)\r\n```\r\n\r\n# \u8282\u70b9\u6570\u636e\u5e93\u529f\u80fd\r\n\r\n```python\r\n# -*-coding:utf-8 -*-\r\nfrom __future__ import print_function, unicode_literals, division\r\nfrom rig_core.all import *\r\n\r\nctx = Ctx()\r\n\r\ncon = ctx.controller()\r\ngrp = ctx.add_group_to_object(con)\r\n# \u8fdb\u5165\u4e00\u4e2a\u65b0\u7684\u8282\u70b9\u6570\u636e\u5e93\u8fd0\u884c\u65f6(\u4e0d\u8fdb\u5165\u5176\u5b9e\u4e5f\u80fd\u8dd1,\u4f46\u662f\u8fd9\u91cc\u4e3a\u4e86\u6f14\u793a\u5c31\u8fdb\u5165\u4e86)\r\nwith ctx.enter_new_all_node_db_rt('test_attributes_name'):\r\n # \u5411\u63a7\u5236\u5668\u50a8\u5b58\r\n ctx.all_node_db_rt[con, 'test_key'] = 'test_all_db_rt_data'\r\n # \u4ece\u63a7\u5236\u5668\u8bfb\u53d6\u6570\u636e\r\n print('\u4ece\u63a7\u5236\u5668\u8bfb\u53d6\u7684\u6570\u636e', ctx.all_node_db_rt[con, 'test_key'])\r\n```\r\n\r\n## \u7248\u6743\u8bf4\u660e\r\n\r\n\u8be5\u9879\u76ee\u7b7e\u7f72\u4e86Apache-2.0 \u6388\u6743\u8bb8\u53ef\uff0c\u8be6\u60c5\u8bf7\u53c2\u9605 LICENSE\r\n\r\n\r\n\r\n\r\n",
"bugtrack_url": null,
"license": "Apache Software License (Apache 2.0)",
"summary": "\u4e00\u4e2a\u597d\u7528\u7684Maya\u7ed1\u5b9a\u6838\u5fc3\u5e93",
"version": "0.2.5",
"project_urls": {
"Bug Tracker": "https://github.com/cpcgskill/maya_rig_core/issues",
"Homepage": "https://github.com/cpcgskill/maya_rig_core"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5c1fa7bb4066da76736728474a991460f297f3d9bc53e49f02aeaf9e8618c31f",
"md5": "e6dc0978c397622416eb96ff71270de7",
"sha256": "f04a596299a55eee8b34456f1c893357385468ba515cab9d615673904878b1ce"
},
"downloads": -1,
"filename": "maya_rig_core-0.2.5-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "e6dc0978c397622416eb96ff71270de7",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7",
"size": 19072,
"upload_time": "2024-10-07T11:40:10",
"upload_time_iso_8601": "2024-10-07T11:40:10.762442Z",
"url": "https://files.pythonhosted.org/packages/5c/1f/a7bb4066da76736728474a991460f297f3d9bc53e49f02aeaf9e8618c31f/maya_rig_core-0.2.5-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "467a4618bbfe84dd20772606e73ecd6ba1abdc488392a0d68d549060c94a7ecb",
"md5": "e830500914b05d63a4493b23963bce97",
"sha256": "7ab4277532f7680739ac629a86e290104fa10c3664852e6531642560af13abe9"
},
"downloads": -1,
"filename": "maya_rig_core-0.2.5.tar.gz",
"has_sig": false,
"md5_digest": "e830500914b05d63a4493b23963bce97",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7",
"size": 15063,
"upload_time": "2024-10-07T11:40:11",
"upload_time_iso_8601": "2024-10-07T11:40:11.937213Z",
"url": "https://files.pythonhosted.org/packages/46/7a/4618bbfe84dd20772606e73ecd6ba1abdc488392a0d68d549060c94a7ecb/maya_rig_core-0.2.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-07 11:40:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cpcgskill",
"github_project": "maya_rig_core",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "maya-rig-core"
}