用于autodesk maya的python api的扩展集

bana的Python项目详细描述


PyPI latest versionDocumentation statusLicense

bana是Autodesk Maya的python api的一组扩展。

每当 对系统的性能和鲁棒性进行了评价。但由于整体设计不好, 一些基本的功能缺少并不罕见 和/或需要太多的boilerplate才能运行。

其他需要考虑的问题包括方法变得过于令人望而生畏 使用后在^ {EM1} $WestEnEe>可能的方式从API到Python的API, 未记录的某些功能的行为,其中错误测试是 剩下的一切,以及方法在返回时引发异常 None更合适。

bana旨在减少这些缺点,以提供更友好的, 可预测的高效的开发环境。

使用monkey补丁包^{tt2}$,以^{tt3}为前缀的新方法$ 在maya.OpenMaya*模块的某些类中插入,因此 扩展它们的功能,同时使这些新方法看起来像 是玛雅固有的。

由于性能是使用api的主要原因,因此一组基准 在包的帮助下构建^{tt5}$有助于确保 分机保持尽可能快的速度。

注释

bana扩展了maya的python api 1.0而不是2.0,因为后者 版本似乎仍然不完整。尽管如此,还是鼓励使用 API2.0尽可能地提供了一个更加pythonic的接口 随着表演的增加。

bana的目的不是让api更像pythonic。在某些情况下 影响表现,这违背了巴纳保持速度的目标。

功能

  • 从场景中轻松检索节点。
  • 使用通配符进行模式匹配的健壮且可预测的规范。
  • 抽象掉maya.OpenMaya.MScriptUtil类的用法。
  • 表演是重中之重。

用法

>>>importbana>>>bana.initialize()>>>frommayaimportOpenMaya>>># Retrieve a transform node named 'root'.>>>root=OpenMaya.MFnTransform.bnGet(pattern='*|root')>>># Recursively iterate over all the DAG nodes child of 'root'.>>>fornodeinroot.bnFindChildren():...print(node)>>># Find all the mesh nodes in the scene containing the word 'Shape' but...# not belonging to any namespace.>>>fornodeinOpenMaya.MFnMesh.bnFind(pattern='*|*Shape*'):...print(node)

有关更详细的示例,请参见文档中的Tutorial部分 以及如何使用bana的解释。

文档

在线阅读bana.readthedocs.io上的文档或签入其源代码 doc目录。

作者

克里斯托弗·克劳泽 <;christophercrouzet.com>;

谢谢

  • Justin Israel发现多个实例指向同一个 maya对象返回不同的散列值。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用java向dropup html/css添加项目   如何从java中的向量向量打印   Java Maven库项目模板   java使用atmosphere api还是直接使用grizzly?   java JComponent仅部分显示   如何将动态值传递给自定义注释,以从Java数据进行映射。性质   java破解已实现方法的返回类型的最佳方法?   java Netbeans在JFrame Gui布局中覆盖图像   spring java仅向登录用户显示注销按钮   java如何对com进行身份验证。谷歌。云bigquery。带有服务帐户的BigQuery`   java禁止空字符串参数和抛出RuntimeException以阻止方法继续的利弊   java分析项目中的所有JAR以获取版本和许可证信息   Java,数据库为什么要分配一个新对象,而我们可以直接将它放入数据库