Examples
def get_camera_imageplane() -> str | None:
""" 選択しているカメラのイメージプレーンを取得
"""
_sel = cmds.ls(selection=True, long=True) or []
if not _sel:
return None
_camera_name = _sel[0]
# transform が来た場合は shape に変換
if cmds.nodeType(_camera_name) == "transform":
shapes = cmds.listRelatives(_camera_name, shapes=True, type="camera") or []
if not shapes:
return None
camera_shape = shapes[0]
else:
camera_shape = _camera_name
# 接続されている imagePlane を取得
image_planes = cmds.listConnections(camera_shape, type="imagePlane") or []
if image_planes:
return image_planes[0]
else:
return None
def switch_imageplane_displaymode():
""" 画像プレーンON/OFF """
_imageplane = get_camera_imageplane()
if _imageplane:
_current_state = cmds.getAttr(f'{_imageplane}.displayMode')
if _current_state == 0:
cmds.setAttr(f'{_imageplane}.displayMode', 2)
print('Image Plane OFF')
else:
cmds.setAttr(f'{_imageplane}.displayMode', 0)
print('Image Plane ON')
if __name__ == '__main__':
switch_imageplane_displaymode()