본문 바로가기

Code/cinema4d & 3dsmax

[c4d python] 스크립트 사용법 (+ Plugin)

Cinema 4D

3D 디자이너들은 다양한 툴을 다루는것 같은데, 그중 Cinema 4D 라는 툴도 유명한것 같습니다. 

우연히 기회가 생겨 Cinema 4D 플러그인을 만들어 볼려고 합니다. 😎 

환경구축

자동완성이나 Lint도 있는 것 같지만, 일단 제일 기본적인 환경구축을 해볼려고 합니다.

Script 탭에서 ConsoleScript Manager를 킵니다. 

그리고 저는 파이참에서 코딩을 하고, 파일을 Script Manager로 Open 해서 실행을 했습니다.

 

 

첫 코드!

선택한 오브젝트의 이름을 출력해보자!

 

obj = doc.GetActiveObject()
print obj.GetName()

 

 

출력이 되네요! 저 파란색부분을 드래스 해서 위에 버튼으로 만들수도 있습니다😀

하지만 두개를 클릭하면 에러가 납니다. 그러면 아래처럼 해주면 됩니다.

 

objs = doc.GetActiveObjects(0) # s 가 붙었습니다.

for obj in objs:
    print obj.GetName()

 

 

 

두번째 코드!

이번에는 내가 선택한 모든 오브젝트의 Visible 을 False로 바꿔서 씬에서 안보이도록 해보겠습니다.

어떤 속성을 바꿔야 할지 모르다면 아래 캡쳐 처럼 드래그해서 확인할 수 있습니다.

 

 

import c4d

objs = doc.GetActiveObjects(0)

for obj in objs:
    obj[c4d.ID_BASEOBJECT_VISIBILITY_EDITOR] = 1
    
c4d.EventAdd() # Event를 발생시켜 바로 적용!

 

위 코드를 실행하면 큐브랑 피라미드가 사라집니다!

 

 

후기

cinema 4D에서 스크립트를 처음 작성해봤는데요. 확실히 3ds max 보다 문서화가 잘되어있어서 쉽다고 생각을 했습니다.  앞으로 가끔 공부할때마다 이렇게 블로그에 적어가겠습니다 :)

 

 

+추가) 스크립트와 플러그인 사용방법의 정석

위에서는 Script Manager 를 통해 스크립트를 사용해봤습니다. 

스크립트와 플러그인을 사용하는 다른 방법이 있는데, 

 

스크립트는 폴더채로:

.py 파일을

C:\Users\UserName\AppData\Roaming\MAXON\Cinema 4D R19_BFE04C39\library\script

여기에 두고

 

플러그인은:

.pyp파일을

C:\Users\UserName\AppData\Roaming\MAXON\Cinema 4D R19_BFE04C39\plugins

여기에 두면 됩니다.

 

 

참고 자료

공식 문서:

developers.maxon.net/docs/Cinema4DPythonSDK/html/index.html

 

깃허브 Example:

github.com/PluginCafe/cinema4d_py_sdk_extended