Maya 第九周 作业

1.lesson25_Maya API 中的多边形处理 - MFnMesh/MItMesh


image.png

2.lesson26_Maya API 中的指针 - MScriptUtil


image.png

image.png
def get_vtx_uv_point(obj, vtx_index):
    """
    """
    shape_mobj = pm.PyNode(obj).getShape().__apimobject__()
    mfn = om.MFnMesh(shape_mobj)
    s_util = om.MScriptUtil()
    uv_ptr = s_util.asFloat2Ptr()
    m_point = om.MPoint()
    mfn.getPoint(vtx_index, m_point)
    mfn.getUVAtPoint(m_point, uv_ptr)
    u_value = s_util.getFloat2ArrayItem(uv_ptr, 0, 0)
    v_value = s_util.getFloat2ArrayItem(uv_ptr, 0, 1)
    return (u_value, v_value)

get_vtx_uv_point('pSphere2', 2)

3.lesson27_Maya API 中的事件捕获 - MMessage


image.png

写法1:

import maya.OpenMaya as om
import maya.cmds as cmds
from functools import partial

def rename_ref_func(*args, **kwages):
    new_name_space = kwages.get('new_name_space')
    file_path = args[1].resolvedFullName() 
    cmds.file(file_path, e=1, namespace=new_name_space)

ref_callback_id  = om.MSceneMessage.addReferenceCallback(om.MSceneMessage.kAfterCreateReference, 
                                                         partial(rename_ref_func,new_name_space='Test'))
# remove
om.MMessage.removeCallback(ref_callback_id)

写法2:

import maya.OpenMaya as om
import maya.cmds as cmds
from functools import partial

def rename_ref_func(new_name_space, *args):
    file_path = args[1].resolvedFullName() 
    cmds.file(file_path, e=1, namespace=new_name_space)

ref_callback_id  = om.MSceneMessage.addReferenceCallback(om.MSceneMessage.kAfterCreateReference, 
                                                         partial(rename_ref_func, 'Test'))
# remove
om.MMessage.removeCallback(ref_callback_id)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。