标签: maya

maya和其他3d应用程序的python版本

我有几个小项目,我想用来学习python.如果我想稍后转移到Maya,Blender等脚本,我应该使用什么版本?此外,那些程序的脚本有哪些资源?

python 3d maya

3
推荐指数
1
解决办法
2058
查看次数

将Maya模型引入iPhone

做这个的最好方式是什么?谷歌搜索给了我一些方法,但目前最好的是什么?我很高兴能够从Maya导出模型并在iPhone屏幕上渲染,但如果有办法渲染它,那么我会被激发,然后支持缩放等等.

非常感谢,刚刚完成了我的第一个3D建模课程,我很激动!

iphone 3d opengl-es maya

3
推荐指数
1
解决办法
2546
查看次数

检查Python中是否存在变量 - 不适用于self

在你回复这篇文章之前,没有人问过我能找到的任何帖子.

我正在检查是否存在列表

if 'self.locList' in locals():
    print 'it exists'
Run Code Online (Sandbox Code Playgroud)

但它不起作用.它从未认为它存在.这一定是因为我正在使用继承而在self.其他地方引用它,我不明白发生了什么.

请问有人可以解决一些问题吗?

这是完整的代码:

import maya.cmds as cmds

class primWingS():
    def __init__(self):
        pass
    def setupWing(self, *args):
        pass
    def createLocs(self, list):
        for i in range(list):
    if 'self.locList' in locals():
        print 'it exists'
            else:
                self.locList = []
            loc = cmds.spaceLocator(n = self.lName('dummyLocator' + str(i + 1) + '_LOC'))
            self.locList.append(loc)
            print self.locList


p = primWingS()
Run Code Online (Sandbox Code Playgroud)

python maya

3
推荐指数
2
解决办法
8041
查看次数

Maya:删除节点不会直接调用析构函数

我在Maya中创建的自定义节点有一个小问题.如果我这样做:

createNode -n "MyInstance" "MyNode";
delete "MyInstance";
Run Code Online (Sandbox Code Playgroud)

它不会调用类析构函数.但是,如果你做一个新场景,打开一个新文件,或做任何强制破坏当前场景的事情,最后会调用析构函数.

问题是我有一些内存分配,我想立即清除,而不是等到最后才真正清除它们.因为他们不再需要了,所以他们应该被清除.

我查看了文档,我没有看到任何可以覆盖的虚拟函数,当实际删除节点或类似的事件时会调用这些函数.有这样的功能来跟踪属性之间的连接(在这种情况下实际使用它),但没有删除这样的东西.

因此,如果您有任何关于旁路的想法,或者模拟这个的方法,请分享!

谢谢.

w ^

c++ maya

3
推荐指数
1
解决办法
694
查看次数

如何将menuItems安全地添加到Maya MEL中的现有菜单中

我尝试使用MEL将菜单项添加到Maya中的现有菜单

例:

menuItem -label "Mylabel" -insertAfter "someEntry" -parent $gMainFileMenu;
menuItem -label "Mylabel2" -insertAfter "someEntry" -parent $gMainFileMenu;
Run Code Online (Sandbox Code Playgroud)

问题是菜单不会像普通条目那样填充,但只能通过我用这两行代码添加的条目来填充.

例如,文件菜单通常包含"新场景","打开场景","保存场景"等,但是当我执行这两行时,它只包含"Mylabel"和"Mylabel2".

是否有修复或解决方法以确保菜单完全填充?有没有办法迫使Maya在没有用户实际点击的情况下构建它?

menu maya mel

3
推荐指数
1
解决办法
4479
查看次数

如何在maya中查询当前视口渲染器

任何人都有一个很好的解决方案来查询python中当前的maya视口渲染器(Viewport 2.0,默认视口,高质量视口)?

python maya pymel

3
推荐指数
1
解决办法
5348
查看次数

Pythonic方式动态添加属性和setter

我正在开发一个用于3D应用程序的库,它将应用程序的功能包装到一组Python类中,并添加应用程序没有的其他功能.

我的基类中有一组属性,用于使用现有API向节点添加属性,但我想要一种更优雅的方式来动态添加属性.我目前有这个代码(如果不熟悉3D应用程序可能没什么意义),但重要的是

# Add block properties
Run Code Online (Sandbox Code Playgroud)

# PROPERTIES
Run Code Online (Sandbox Code Playgroud)

码.

class Block(pyunify.Transform):
    def __init__(self, name = "Character"):
        pyunify.Transform.__init__(self, name)
        self.LockTransform()


class Spine(Block):
    def __init__(self, name = "Character", numberOfJoints=6):
        Block.__init__(self, name+"_spine")

        # Add block properties
        self.AddAttr("numberOfJoints", "long")
        self.SetAttr("numberOfJoints", numberOfJoints)

        # Create block template
        self.Template()

    # PROPERTIES
    @property
    def numberOfJoints(self):
        return self.GetAttr("numberOfJoints")

    @numberOfJoints.setter
    def numberOfJoints(self, num):
        self.SetAttr("numberOfJoints", num)
Run Code Online (Sandbox Code Playgroud)

因此,我可以预见其他类具有更多属性,以及我现在的方式,我必须在_init__中添加它的每个属性

self.AddAttr("numberOfJoints", "long")
self.SetAttr("numberOfJoints", numberOfJoints)
Run Code Online (Sandbox Code Playgroud)

然后我必须在我的类中添加另外两个函数,一个getter和setter,用于该属性,以便我可以在我的类中调用它作为self.numberOfJoints,它将与类本身交互以及设置正确的属性3D应用程序中的伴随节点.

    @property
    def numberOfJoints(self):
        return self.GetAttr("numberOfJoints")

    @numberOfJoints.setter
    def numberOfJoints(self, num):
        self.SetAttr("numberOfJoints", num)
Run Code Online (Sandbox Code Playgroud)

与附加属性函数的唯一区别是名称,所以我想知道是否有一种方法可以在我的基类Block类中创建一个AddProperty函数,这样我就可以在我的_init__函数中执行此操作:

self.AddProperty("numberOfJoints", "long")
self.numberOfJoints = 5
Run Code Online (Sandbox Code Playgroud)

除了运行当前_init__行之外,它还将动态创建getter和setter函数 …

python properties class maya

3
推荐指数
1
解决办法
8039
查看次数

将Maya场景导出为Three.js

有没有办法将整个场景导出MayaThree.js.

导出的元素应该是: 所有网格,纹理,相机,包括灯光,阴影等.

这样我就可以获得maya中正确的渲染效果.

maya exporter scene three.js

3
推荐指数
1
解决办法
2056
查看次数

如何以编程方式清除Maya脚本编辑器?

在创建和调试脚本时,我为自己生成了很多反馈,但如果我不清除脚本编辑器,我可能会对我正在查看的反馈来自哪个尝试感到困惑.

有没有办法(最好使用PyMEL,但MEL可以)清除脚本编辑器历史记录?

python maya mel pymel

3
推荐指数
1
解决办法
1006
查看次数

PyQt5 Maya 2017

在使用Maya 2017设置PyQt5时遇到一些麻烦.我已经在我的mac上成功安装了PyQt5,我可以编写独立的应用程序,但是当我尝试使用(例如)在Maya脚本编辑器中导入PyQt5模块时

from PyQt5 import QtWidgets
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error: line 1: ImportError: file <maya console> line 1: No module named PyQt5
Run Code Online (Sandbox Code Playgroud)

在Maya中使用Python不是很有经验,我需要做一些配置吗?此外,PyQt5是否适用于Maya 2016?

python pyqt maya pyqt5

3
推荐指数
1
解决办法
1619
查看次数

标签 统计

maya ×10

python ×6

3d ×2

mel ×2

pymel ×2

c++ ×1

class ×1

exporter ×1

iphone ×1

menu ×1

opengl-es ×1

properties ×1

pyqt ×1

pyqt5 ×1

scene ×1

three.js ×1