Maya 第九周 作業(yè)

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)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容