Python kullanarak Maya'da X-Ray Modunu Değiştirin
Maya'da X-Ray moduna geçebilmek için bazı Python kodunu bir anahtara bağlamaya çalışıyorum.
Kafamı karıştıran bir şey, bu kod satırını çalıştırdığımda ...
def xrayQuery():
cmds.modelEditor('modelPanel4', q=True, xr=True)
xrayQuery()
xray modunu sorgulamama rağmen sonuç döndürülmedi. Ama fonksiyon olmadan sadece komutu çalıştırdığımda ...
cmds.modelEditor('modelPanel4', q=True, xr=True)
İlk seferinde beklediğim şeyi aldım, bu xray modunun etkin olup olmadığına bağlı olarak bir boole sonucu. Biri bana bunun neden olduğunu söyleyebilir mi?
Maya'nın içindeki python konusunda çok yeniyim, bu yüzden herhangi bir yardım çok takdir edilecektir! Teşekkürler!
Yanıtlar
Kullanıcı tanımlı işlevin içinde çağrılanla aynı çıktıyı döndürmesini istiyorsanız, return çağrısı yapmanız gerekir. Aşağıdaki gibi:
def xrayQuery():
return cmds.modelEditor('modelPanel4', q=True, xr=True)
Bir yan not olarak, orijinal işlevi çağırmak yerine bir işlev yazmanın amacını açıklayabilirseniz, kullanım durumunu anlamak yararlı olacaktır.
Bu yüzden, başarmaya çalıştığım şeyi basitleştirmenin bir yolunu buldum; bu, belirli bir görüntü alanı için x-ışını görüntüleme modunu açıp kapatmak için birkaç satırlık koddu. Bu kod bloğunda 'not' operatörünü kullanarak if else deyimlerine olan ihtiyacı ortadan kaldırabildim:
import maya.cmds as cmds
def xray_toggle():
result = cmds.modelEditor('modelPanel4', q=True, xr=True)
cmds.modelEditor('modelPanel4', e=True, xr=not result)
xray_toggle()