标签: maya

如何在Maya MEL语言中创建空节点

我想在Maya(mel语言)中创建一个空节点,我可以在其中存储我的属性(对最终用户可见).
我之所以需要一个空节点,是因为我不需要任何定位器信息或额外的标准Maya信息,只需要几个自定义属性.在节点中是visibl.

createNode "<What_type_should_I_put_here?>" -n "MyCustomEmptyNode";
Run Code Online (Sandbox Code Playgroud)

maya mel nodes

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

PYTHON in MAYA: get all attributes

I would like to know if there is a way to get the list of attributes that we can get with pymel.core.getAttr() (or maya.cmds.getAttr() for cmds users). __dict__ doesn't give that list.

import pymel.core as pmc

myCubeTrans, myCubeShape = pmc.polyCube()

>>> print myCubeTrans.__dict__

{'__apiobjects__': {'MDagPath': <maya.OpenMaya.MDagPath; proxy of <Swig Object of type 'MDagPath *' at 0x00000000132ECCC0> >, 'MObjectHandle': <maya.OpenMaya.MObjectHandle; proxy of <Swig Object of type 'MObjectHandle *' at 0x00000000132EC9F0> >, 'MFn': <maya.OpenMaya.MFnTransform; proxy of <Swig Object of type 'MFnTransform *' …
Run Code Online (Sandbox Code Playgroud)

python maya

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

如何在 Maya Api 中对齐顶点和法线?

我想使用 Maya Api 在 OpenGL 中复制形状,包括法线。让我们以立方体作为源形状。

Maya 的 MFnMesh::getPoints 将返回 8 点。
Maya 的 MFnMesh::getNormals 将返回 24 个法线(每个顶点 3 个法线,或每个面每个顶点 1 个法线)。

glDrawElements 要求顶点列表和法线列表相对应,但这里的情况并非如此。如何对齐两个列表以便 glDrawElement 正确地将法线分配给顶点?

我认为顶点列表中的顶点需要复制才能成为 24 个点,并且 MFnMesh::getPolygonVertices 需要指向复制的顶点。有办法做到这一点吗?

c++ opengl maya normals

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

如何在 ThreeJS 中获取 3D 对象尺寸?

我正在使用 WebRTC(网络摄像头访问)、JSARToolKit(标记检测)和 ThreeJS(3D 库)开发 AR 应用程序。

我想将 3D 对象(使用 Threejs Maya 导出器从 Maya 导出)放置在检测到的标记的中心。

这是我使用 JSONLoader 加载 3D 对象的代码:

// load the model
var loader = new THREE.JSONLoader;
var object;
//var geometry = new THREE.BoxGeometry(1, 1, 1);
loader.load('js/cube.js', function(geometry, materials){
var material = new THREE.MeshFaceMaterial(materials);
object = new THREE.Mesh(geometry, material);

object.position.x -= ***3DobjectWidth/2***;
object.position.y -= ***3DobjectHeight/2***;
object.position.z -= ***3DobjectDepth/2***;

scene.add(object);
});
Run Code Online (Sandbox Code Playgroud)

我需要获取对象的宽度、高度和深度来改变他的位置(参见3DobjectWidth ecc)。

有什么建议?

3d json maya dimension three.js

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

Maya – 通过 Python 在视口中选择对象

谁能帮我?是否可以使用Python编写一个脚本来自动选择Maya视口中的每个对象?

是否可以?

python viewport maya

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

PyQt 5:扩展窗口时如何保持相对小部件大小

我正在 Maya 2018 中开发一个自定义 ui,它使用 PyQt5(通过 PySide2 - 有一些微小的差异,但它本质上是 PyQt5)。

我有一个QHBoxLayout里面有两个小部件,它们的大小策略都设置为“扩展”。我将其中一个的最小宽度设置为另一个的两倍左右。

每当我扩展窗口时,较小的小部件都会扩展,直到它的大小与较大的小部件相同(这根本不会改变大小)......然后它们都继续以相同的速率扩展 - 都占据了一半的大小窗户。

我希望它们在整个扩展过程中保持相对大小。

有没有一种方法可以做到这一点,我完全忽略了?

这是我为重现该问题而编写的一些简化代码:

import PySide2.QtWidgets as QtWidgets

class TestDialog(QtWidgets.QDialog):
    def __init__(self, *args, **kwargs):
        QtWidgets.QDialog.__init__(self, *args, **kwargs)

        main_layout = QtWidgets.QHBoxLayout()
        self.setLayout(main_layout)
        main_layout.setContentsMargins(5, 5, 5, 5)
        main_layout.setSpacing(5)

        w1 = QtWidgets.QPushButton('small')
        w2 = QtWidgets.QPushButton('large')
        w1.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        w2.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        w2.setMinimumWidth(250)

        main_layout.addWidget(w1)
        main_layout.addWidget(w2)

        self.setMinimumWidth(450)
        self.setMinimumHeight(100)
        self.resize(450, 100)


test = TestDialog()
test.show()
Run Code Online (Sandbox Code Playgroud)

python maya pyqt5 pyside2

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

查询点是在网格maya python api中

我正在试图找出一种计算世界空间点是否在任意网格内部的方法.

如果它不是立方体或球体,我不太确定如何计算它的数学.

任何帮助都会很棒!

python api mesh maya

2
推荐指数
1
解决办法
5250
查看次数

如何使用PySide获取maya主窗口指针?

我在maya中使用了PyQt4,通常我发现切换到PySide很容易,但是我无法获得指向主窗口的指针.也许有人可以理解出了什么问题.

这是我在PyQt4中所做的:

import sip, PyQt4.QtCore
import maya.OpenMayaUI as mui
ptr = mui.MQtUtil.mainWindow()
parent = sip.wrapinstance(long(ptr), PyQt4.QtCore.QObject)
Run Code Online (Sandbox Code Playgroud)

这很好用.当我在PySide中尝试相同时:

import sip, PySide.QtCore
import maya.OpenMayaUI as mui
ptr = mui.MQtUtil.mainWindow()
parent = sip.wrapinstance(long(ptr), PySide.QtCore.QObject)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

# Error: wrapinstance() argument 2 must be sip.wrappertype, not Shiboken.ObjectType
# Traceback (most recent call last):
#   File "<maya console>", line 4, in <module>
# TypeError: wrapinstance() argument 2 must be sip.wrappertype, not Shiboken.ObjectType # 
Run Code Online (Sandbox Code Playgroud)

谁知道出了什么问题?

python pyqt maya pyside

2
推荐指数
1
解决办法
7479
查看次数

有没有办法缩进Python而不影响代码

我正在尝试在Maya中编写一个用户界面,并且它会让父母的多个级别变得令人难以置信,并且没有缩进.基本代码(没有任何功能)目前大约有400行,需要一段时间才能找到我需要的位.

例如,在没有注释的情况下使用以下代码

#Earlier user interface

py.rowColumnLayout( numberOfColumns = 5 )
py.text( label="", width = 1 )
py.text( label="Column 1", enable = False, width = 250 )
py.text( label="", width = 1 )
py.text( label="Column 2" enable = False, width = 250 )
py.text( label="", width = 1 )

py.text( label="" )
py.rowColumnLayout( numberOfColumns = 4 )
py.text( label="   Input data:", align="left" )
py.text( label="" )
py.text( label="" )
py.text( label="" )
py.textField( text = "Text here" )
py.text( label="" ) …
Run Code Online (Sandbox Code Playgroud)

python maya pymel

2
推荐指数
1
解决办法
762
查看次数

Maya Python:如何获取场景名称,但不能获取路径或扩展名

我只想获取当前打开的文件的场景名称。不是路径或扩展名。

cmds.file(q=True, sn=True)
Run Code Online (Sandbox Code Playgroud)

我不能使用上述内容,因为它会返回完整路径。

谢谢

python maya

2
推荐指数
1
解决办法
5677
查看次数

标签 统计

maya ×10

python ×7

3d ×1

api ×1

c++ ×1

dimension ×1

json ×1

mel ×1

mesh ×1

nodes ×1

normals ×1

opengl ×1

pymel ×1

pyqt ×1

pyqt5 ×1

pyside ×1

pyside2 ×1

three.js ×1

viewport ×1