كيفية الوصول إلى حقل الملاحظات كائن في مايا

StackOverflow https://stackoverflow.com/questions/1346046

  •  20-09-2019
  •  | 
  •  

سؤال

هل من الممكن للوصول إلى حقل "ملاحظات" كائن من خلال واجهة برمجة مايا؟ أحاول لحملها على العمل داخل بيثون، ولكن أفترض أي مؤشر في الاتجاه الصحيح من أي فئة / وظيفة أنا بحاجة إلى استخدام في API سوف مساعدتي.

هل كانت مفيدة؟

المحلول

ويتم إضافة سمة تسمى "notes" حيوي إلى العقد عند الكتابة في حقل الملاحظات في محرر السمة. لذلك، للتحقق من قيمة يمكنك معرفة ما اذا كان سمة تسمى "الملاحظات" موجود على عقدة، ثم استرداد قيمة.

والإجراء ميل التي يستخدمها مايا UI لإنشاء وتعيين سمة الملاحظات يسمى

setNotesAttribute(string $nodeName, string $longAttrName, string $shortAttrName, string $attrType, string $newAttrValue)

وأين اسم طويل هو "notes"، الاسم القصير "nts"، النوع هو "string".

نصائح أخرى

ولأن الجميع يستخدم PyMEL هذه الأيام، وهنا كيفية الحصول عليها باستخدام PyMEL:

import pymel.core
# cast selected into PyNode
node = pymel.core.ls(sl=1)[0]

# PyMEL's convenient getAttr syntax
node.notes.get()

وهذا على افتراض كنت قد أضفت شيئا إلى حقل الملاحظات في محرر السمة. وكما ذكر أعلاه الملاحظات ATTR فقط يحصل على خلق ذلك الحين.

إذا كنت تقوم بتشغيل كل من رمز وكنت لا أعرف ما إذا الملاحظات ATTR تم إنشاؤه، يمكنك التحقق من وجود مثل ذلك:

if node.hasAttr('notes'):
    node.notes.get()
else:
    # go ahead and create attr
    node.addAttr('notes', dt='string')
    node.notes.get()

والنظر في استخدام PyMEL، انها مثل maya.cmds، سوى المزيد من Pythonic.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top