brightmoon

[nuke]누크에 플러그인을 추가하고, 디폴트 설정을 바꾸어보기 본문

- Movie/[nuke]

[nuke]누크에 플러그인을 추가하고, 디폴트 설정을 바꾸어보기

밝은달. 2018. 6. 3. 21:32
728x90
반응형



오늘 해볼 것은바로

누크에 플러그인과 기즈모를 추가해보는 활동이다!


개인적으로 신기하기도 했고 재미있던 부분이라 블로그에 공유겸,

나중에 잊을때를 대비한 메모겸 내용을 작성해 본다.



Gizmo.zip


우선 오늘 할 내용을 해보기 위해선 스크립트가 필요한데,

위 파일을 다운로드 받으면 된다.









우선, 기즈모를 적용해 주기위해,

c드라이브 > 사용자 폴더 > 해당 사용자이름폴더 >.nuke

파일로 이동해 보자. 

그럼 뭔가 알수없는 스크립트 파일들이 있는걸 확인할 수 있다.

나같은 경우에는 크립토 매트라는 플러그인을 이용하고 있어서,

뭔가 많아보이는데 아마 처음열어보는 사람들은 이렇게 많지는 않을것이다.



.nuke 파일은 누크가 처음 켜질때 가장먼저 인식하는 폴더로,

이 폴더의 스크립트를 추가하거나 수정해서 

다양한기능들을 추가하거나 수정할 수 있다.

단 그만큼 예민한 파일이므로,

스크립트를 잡못입력하면 누크가 아예 켜지지 않을수도 있으니 주의!







여기서 우리가 주목해야할 파일은  init.py 파일과, Menu.py 파일이다.

각파일의 이용 용도와 기능은 아래와 같다


init.py 파일

.nuke 파일 안쪽의 init.py 파일은 초기세팅이 무엇인지 확인하는 파일이며,

Menu.py 파일

디폴트로 메뉴 설정되어있는 스크립트 파일 (플러그인을 추가하는 영역)


플러그인을 한번도 추가해본적이 없는 경우, 

위 파일중 하나가 존재하지않을 수 있는데, 

이럴때는 간단하게 이름만 같은 아무것도 적히지않은 파일을

워드패드로 생성해서 해당위치에 저장해놓고 이용해주면된다


그리고 한가지더 알아야 할 개념은,

기즈모와 플러그인이라는 개념인데, 자세한 설명은 아래 표를 참조해주길바란다.


기즈모

노드를 여러 개를 모아서 하나의 노드로 만든 것. 충분히 만들 수 있음 how to make gizmo 검색하면 만들 수 있음

플러그인(.py파일)

프로그래머들이 창조한 기능.

직접 만드려면 스크립트와 코딩실력이 어느정도 있어야 함













1. 기즈모 추가하기





위 설명을 대충 훑어보았다면, 본격적으로 스크립트를 수정하여 보자

 헷갈리지않게, 내가 다운로드 받을 수 있게 올려둔 파일 안의 init 파일을 오른편에,

내컴퓨터 .nuke 폴더안의 init  파일을 왼편에 열어서 펼쳐보자.


여기보면 뭔가 #뒤에 영어로 문구가 쓰여져 있는 것을 발견할 수 있는데,

#은 #뒤에있는 언어는 명령어로 취급하지 않고 무시한다는 스크립트 언어로,

#을 앞쪽에 써놓고 뒤쪽에 메모를 함으로서 (한글을 써도된다!)

 간단하게 내가 어떤 스크립트를 썼는지 메모하는 용도로 많이 이용된다 



그건그렇고,,


우리가 본격적으로 해볼것은,

 오른편의 스크립트들을 복사하거나 

수정하여 왼편으로 복사하여 

누크의 설정을 변경할것이다.




자 시작해보자!

오른편의 스크립트 언어중,


# ADDING CUSTOM FORMATS


nuke.addFormat("960 540 HD_Proxy")



를 복사하여, 왼편의 아래쪽에 넣어주자.

위스크립트 언어는 새로운 포멧을 누크에 추가시켜주는 역할을 하게된다.

아까 말했다 시피, # 뒤의 영어는 메모이다


그리고 위스트립트 언어의 ("960 540 HD_Proxy") 

부분은 추가할 포멧을 입력한 부분으로,

980 540 이라고 쓰여있는 숫자를 수정하게되면 960 540 외의 

다양한 포멧들을 스크립트로 추가할 수 있게 된다




그다음은 디폴트 세팅을 변경하는 스크립트를 추가하는것이다.


1.2.우선 나중에 알아보기 쉽도록, #뒤에 어떤 기능을 추가한건지

 간단한 메모를 하고, (나는 귀찮아서 복붙했다)


3.4. 다운로드 파일에있던 스크립트 nuke.knobDefault("Root.format" , "HD") 를 복사한뒤,

 내컴퓨터 .누크 파일에있던 스크립트에 넣어주자


5. 그다음 HD 라고 쓰여져 있던 부분을 HD_1080 으로 수정해주면 끝!


이렇게하면 매번 누크를 켰을때,

매번 작업 시작전 s키를 누르고 1080사이즈로 세팅을 해야했던

 수고로움을 덜 수 있게 된다.


나 같은 경우에는 예로 들기위해서 1080 사이즈를 설정한 것 이긴 한데,

만약 자신이 쓰는 다른 사이즈가 있다면,

 누크에서 s키를 나오는 세팅 메뉴에서 해당 포멧의 이름을 확인하고, 

그 이름을 HD 라고 쓰여있던 위치에 HD를 지우고

 작성하면 응용해서 마찬가지로 시작 포멧이 해당 포멧으로 고정되게 된다 

















자 그럼 대충 원리는 파악했으니까 다른 스크립트 들도 옮겨 보자.

다운로드 된파일에 적혀있는,


nuke.knobDefault("RotoPaint.output" , "alpha")


스크립트를 복사해서 마찬가지로 .누크 파일안의 스크립트에 붙여넣기 해주자.

해당 스크립트는 로토페인트의 아웃풋이 항상 알파로 

디폴트설정되어있을 수 있게 해주는 스크립트 언어로,

매번 로토 페인트 할때 알파로 설정해주어야 하는 수고로움을 덜 수 있게끔 해준다.




그외에, 오른쪽파일 에 있던,


nuke.knobDefault("RotoPaint.toolbox", "brush {{brush ltt 0} {clone ltt 0}}") 


스크립트를, 왼쪽으로 복사해서 마찬가지로 옮겨주자.

해당스트립트 언어는 클론툴의 디폴트 세팅을 all 로 설정해주는 스크립트 언어이다.

마찬가지로 매번 싱글로 되어있던것을 

올로 설정하는 번거로움을 덜 수 있다.


그리고 설정이 끝났다면,

컨트롤 + s 키로 꼭 수정된 스트립트를 저장해 주어야,

최종적으로 누크에서 적용이된다.





그리고 누크를 실행해 보면,

이렇게 우리가 새로 추가한포멧이 들어와 있는것과,

디폴트 설정이 1080으로 바뀐것을 확인 할 수 있다



로토페인트의 디폴트 아웃풋이 알파로 설정되어있는모습!




쿨론툴도 깔끔하게 all 이 디폴트로 설정되어있는것을 확인할 수 있다





















2. 플러그인 추가하기



자그럼이제 본격적으로 플러그인을 설치해보자!




왼쪽 창은 컴퓨터내의 .누크 파일이고,

오른쪽 창은 새로이 다운로드 받은 스크립트들이 들어있는 파일이다.

여기에서 이번에는 init 파일과 menu 파일을 제외한 나머지 파일을 다운로드받은 파일에서 복사한후,

.누크 파일로 붙여넣기해주자.


이 파일들을 플러그인들이 정상적으로 작동 할 수 있게 해주는

 스크립트 뭉치라고 생각하면된다.


 이 파일들중 간혹 png와 같은 이미지 파일들이 존재하는데,

이는 누크내에서 표시되는 플러그인의 로고 모양을 관할하는 파일으로,

파일명과 확장자, 그리고 이미지 사이즈를 같게 한 다른 이미지로 교체해주면,

그 이미지로 로고를 마음대로 변경할 수 있게 된다.






파일을 옮긴다고 해서 끝인것이아니라,

그후, 이제 누크가 플러그인들을 인식할 수 있도록 스크립트를 수정해 주어야한다.

이미지에 쓰여져 있는것처럼, 오른쪽의 파일은 다운로드 받은 폴더안의 메뉴 파일,

왼쪽의 파일은 원래 .누크 파일 안쪽에 있던 스크립트 파일이다.




여기서 , 우리는 오른쪽파일의


m = nuke.menu('Nuke')


m.addCommand('MyCustom/Despill_Mad' , 'nuke.nodes.DespillMadness()')

m.addCommand('MyCustom/L_grain' , 'nuke.nodes.L_Grain()')

m.addCommand('MyCustom/SpillFill' , 'nuke.nodes.SpillFill()')

m.addCommand('MyCustom/normal' , 'nuke.nodes.normalLighting()' , icon = 'normalLighting.png')

m.addCommand('MyCustom/P2M' , 'nuke.nodes.Position_to_Mask()')



부분을 복사해서 왼쪽의 .누크 파일로 옮겨주어야

 누크가 플러그인들을 인식 할 수 있게 된다



그리고 까먹지 않게 반드시 #을 앞쪽에 두고 

내가 작성한 스크립트가 어떤스크립트인지 적어두는것을 잊지말도록하자




그리고 옮겨준 스크립트중 해당부분을 삭제하고,






줄친부분을 같은 위치에 적어준후,

 컨트롤 에스를 눌러 저장해주자!


 import channel_hotbox

m.addCommand('MyCustom/HotBox' , 'channel_hotbox.start()' , 'alt+q')



명령어는 한글자만 틀려도,

누크가 안켜지거나 문제가 생길수 있으므로,

 한글자 한글자 꼼꼼하게 체크해야한다

혹시모르니 위에 스트립트를 남겨본다. 해당스크립트를 

그대로 복붙하여도 된다




그러면 이렇게 상단에 이런식으로

 바가 생기면서 다양한 기능들을 사용 할 수 있게된다.


기능들의 사용법은 아래 필기를 참고






















반응형
Comments