3ds Max
3ds Max 는 많은 디자이너들이 사용하지만, 그 안에서 작동하는 Script에 대한 정보는 많지는 않습니다.
저도 잘 모르지만 파이썬 스크립트를 사용할 기회가 생겨 여기에 기록하며 공부해 보겠습니다.
Python3 vs. Python2
3dsMax2021 부터 Python3 를 지원합니다. 새로 유입되신 분들은 '그럼 아직도 Python2 를 사용해왔다는건가?ㄷㄷ' 라고 의문이 들 수 있습니다. 근데 놀랍게도 3dsMax2020 까지 Python2 를 사용했습니다.
저도 맘같아선 Python3 를 사용하고 싶지만, 업체에서는 기존에 레거시가 있기때문에 2021를 사용하는 곳은 거의 없습니다. 저의 타겟은 3dsMax2018 이기때문에 Python2 를 사용해야합니다.
MaxPlus vs. pymxs
맥스에 파이썬 라이브러리가 2개 있습니다. MaxPlus 는 3ds Max C++ SDK기반으로 만든 라이브러리고, pymxs는 maxscript의 랩퍼입니다. 일단 maxplus보다 pymxs가 기능이 많다고 합니다. 그리고 MaxPlus 는 deprecated 될거라고 하던데 실제로 2021에서 deprecated 되었습니다. 저는 pymxs를 사용해보겠습니다.
환경구축
파이썬을 다운받았습니다. 저는 3dsMax 2018에서 사용하는 파이썬이 2.7.12 버전이여서 똑같이 2.7.12 버전을 다운 받았습니다.
무료 파이썬툴인 pycharm community 를 다운받고 인터프리터를 방금 다운받은걸로 변경했습니다.
이렇게 Hello world 를 만들어봅니다.
그리고 3ds Max에서 호출합니다. 왼쪽은 Maxscript창이고 오른쪽은 리스너 입니다.
스크립트창에 아래 맥스스크립트를 사용해 파이썬을 실행시킵니다.
python.ExecuteFile @"C:\pymax_practice\main.py"
위에 있는 코드 한줄을 입력했으면, ctrl + e 누르면 작동합니다.
리스너에 결과가 잘 나옵니다. 리스너 창 부분을 clear 하고 싶으면 ctrl + d 를 누르면 됩니다.
관련자료
pymxs는 2020부터 공식자료가 있습니다..
- 2021 pymxs 문서
help.autodesk.com/view/MAXDEV/2021/ENU/?guid=Max_Python_API_using_pymxs_html
- 2021 pymxs GitHub
github.com/ADN-DevTech/3dsMax-Python-HowTos/tree/master/src/samples/pymxs
- 2018 pymxs 문서
help.autodesk.com/view/3DSMAX/2018/ENU/?guid=__developer_pymxs_api_introduction_html
- 2017 maxscript 문서
help.autodesk.com/view/3DSMAX/2017/ENU/?guid=__files_GUID_B83B4297_B521_4553_A22D_B812AFA766C4_htmhelp.autodesk.com/view/3DSMAX/2017/ENU/?guid=__files_GUID_B83B4297_B521_4553_A22D_B812AFA766C4_htm
- 2021 pymxs example