본문 바로가기

3ds max

(4)
[3dsMax python] GUI with pymxs 파일탐색기 Pyside2를 사용하지 않고 파일을 불러와봤습니다. from pymxs import runtime as rt path = os.path.dirname(os.path.abspath(__file__)) path_to_file = rt.getOpenFileName(caption="Open A Test Excel:", filename=path+'\\') 폴더경로를 가져올려면 아래처럼 하시면 됩니다. from pymxs import runtime as rt rtrt = rt.getSavepath() print rtrt Dialog Example wikidocs.net/35742\ max gui는 pyside2 를 사용하는데, 아주 좋은 문서가 나왔습니다. 저걸 보고 Dialog 창을 만들어봤습니다. ..
[3dsMax python] Material with pymxs 모든 재질 가져오기 아래코드를 사용하면 Slate Material Editor에서 Scene Materials 에 모든정보를 가져옵니다. 😎 특정재질을 찾으려면 for문에서 이름만 비교하면 됩니다. 특정재질을 복사하려면 주석부분을 풀면됩니다. import pymxs for m in pymxs.runtime.scenematerials: print m # m2 = pymxs.runtime.copy(m) 재질의 맵에 접근하기 재질은 map을 가지고 있습니다. 그중 Diffuse map에 접근하는 방법입니다. 그렇다면 다른 map에는 어떻게 접근할까요? (이 문서를 참고해주세요) import pymxs for material in pymxs.runtime.scenematerials: print material...
[3dsMax python] Object with pymxs 전체 씬그래프 탐색 맥스 왼쪽에 보면 레이어와 씬그래프를 볼 수 있는곳이 있습니다. 전체를 가져올때도 좋지만, 특정계층을 오브젝트를 가져올때 유용합니다. from pymxs import runtime as rt def output_node(node, indent=''): """Print the scene graph as text to stdout.""" print(indent, node.Name) for child in node.Children: output_node(child, indent + '--') output_node(rt.rootnode) 계층없이 모든 오브젝트 가져오기 objs = pymxs.runtime.objects for o in objs: print(o.name) 특정 오브젝트 가져오..
[3dsMax python] pymxs 사용해보기 MAXScript 런타임 사용하기 자바스크립트의 런타임은 브라우저가 될수도 있고, node.js 가 될 수 있는것 처럼 맥스스크립트를 인식할 수 있는 런타임이 있고, 파이썬을 인식할 수 있는 런타임이 따로 있습니다. 근데 pymxs 는 맥스스크립트를 랩핑한거니깐 맥스스크립트의 런타임도 사용하는 것 같습니다. 근데 뭐.. 맥스스크립트를 잘 몰라서 큰 의미는 없을것 같습니다. 일단 '그냥 rt. 뒤에 나오는게 맥스스크립트에서 사용하는것과 비슷하게 사용하고, 맥스스크립트 런타임을 사용한다'고 이해하고 넘어야야 겠습니다. import pymxs rt = pymxs.runtime t = rt.Teapot() rt.classOf(t) MAXScript Undo System 이거 돌려봤는데 호출해서 사용했을때 버그가..