이 튜토리얼에서는 Autodesk Maya에서 사용되는 쉐이더 리스트를 Excel 파일로 추출하는 방법을 단계별로 설명합니다.
이 과정을 통해 쉐이더의 관리와 문서화를 용이하게 할 수 있습니다.
필요한 준비
- Autodesk Maya가 설치된 시스템.
- Python 스크립팅에 대한 기본적인 이해.
- openpyxl 라이브러리가 설치된 Python 환경. (Excel 파일 작업을 위함)
스크립트 개요
이 스크립트는 Maya의 쉐이더 리스트를 조회하고, 지정된 쉐이더를 제외한 후, 나머지 쉐이더들을 Excel 파일에 기록합니다.
추가적으로, Excel 파일의 마지막에는 총 쉐이더 개수를 ‘COUNTA’ 함수를 이용하여 자동으로 계산합니다.
스크립트 작성
import maya.cmds as cmds
import os
from openpyxl import Workbook
from maya.OpenMaya import MGlobal
def get_shader_properties_xlsx():
# 건너뛸 쉐이더 이름 목록
skip_shaders = ['lambert1', 'particleCloud1', 'shaderGlow1', 'standardSurface1']
# 현재 Maya 파일 경로를 가져옵니다.
current_file = cmds.file(query=True, sceneName=True)
file_path = os.path.dirname(current_file)
# 결과를 저장할 XLSX 파일을 준비합니다.
output_file_path = os.path.join(file_path, "shader_list.xlsx")
wb = Workbook()
ws = wb.active
ws.title = "Shader List"
# 쉐이더 리스트 헤더
ws.append(["Shader Name"])
shaders = cmds.ls(materials=True)
for shader in shaders:
if shader not in skip_shaders:
ws.append([shader])
# COUNTA 함수를 사용하여 쉐이더 개수 카운트
last_shader_row = ws.max_row
ws.append(["Total Shaders", "=COUNTA(A2:A{})".format(last_shader_row)])
# 파일을 저장합니다.
wb.save(output_file_path)
# 명령 응답 부분에 메시지를 표시합니다.
MGlobal.displayInfo("Shader list creation is completed!!!")
get_shader_properties_xlsx()
실행 방법
- Autodesk Maya를 열고 스크립트 에디터를 실행합니다.
- 위 스크립트를 스크립트 에디터에 복사합니다.
- 스크립트를 실행하면 현재 Maya 프로젝트의 디렉토리에 ‘shader_list.xlsx’ 파일이 생성됩니다.
- 생성된 Excel 파일을 열어 쉐이더 리스트와 총 개수를 확인합니다.
결과
실행 후 생성된 Excel 파일에는 Maya의 모든 쉐이더가 나열되며, 파일의 마지막에는 총 쉐이더의 개수가 ‘COUNTA’ 함수를 사용하여 자동으로 계산되어 표시됩니다.
이를 통해 쉐이더 관리 및 문서화 작업을 효율적으로 수행할 수 있습니다.