주소복사 | 조회 수 401 추천 수 0 댓글 3
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
Extra Form

C4D를 이용한 프로젝트 제작시 좀 더 간편한 도구들을 이용하려 파이썬 스크립트를 제작 중에 있습니다.

예를 들어 10 프레임 마다 Red, Green, Blue로 변환되어 적용 되게끔 (궁극적인 목표는 레인보우 효과 같은 다양한 연출 입니다.)하는 파이썬 스크립트를 제작하고자 합니다.

 

캡처.JPG

 

C4D 스크립트를 활용한 예제들이 찾기 힘들고 c4d SDK를 최대한 찾아 보았으나 Set_Matreial_color와 같은 함수는 찾지 못하여 이렇게 질문드립니다.ㅠㅠ

첨부 되는 이미지는 제가 적용하고자 하는 스크립트 UI 구요 ! 보시면 어떤 것을 진행하려하는지 이해하실까 첨부합니다,!!

 

** 또 이건 별도로 질문 올립니다. 혹시 파이썬 스크립트를 백그라운드로 실행 시키는 방법이 있을까요? 스크립트 매니저로 실행 시키면 해당 스크립트를 종료하지 않는한 다른조작이 불가하더라구요,,,ㅎㅎ 혹시나 아시는 분은 답변 부탁드립니다.!**

 

 

 

 

  • profile
  • ?
    도베 2020.09.23 13:25

    답변 감사합니다! , 한가지만 더 여쭤보고자 합니다! 올려주신 답변은 Python Tag로 사용하셨는데

    저의 경우는 Script Manager를 통하여 사용하려 합니다.

    그래서 달아주신 답변을 토대로 코드를 작성하였으나 Material의 색상 적용이 안되더군요 ㅠㅠㅠ

    혹시 실례가 안된다면  Script Manager에서 사용할 수 있는 Matrerial 색상의 변수 명을 알려주시면 감사하겠습니다.!

    다시 한번 감사합니다.!

    
        def toggle (self):
            start = int(self.GetString(TXT_FRAME_START))
            end = int(self.GetString(TXT_FRAME_END))
            gap = int(self.GetString(TXT_SEQUENCE))
            color = c4d.Vector(int(self.GetString(TXT_R)) / 255,int(self.GetString(TXT_G)) / 255,int(self.GetString(TXT_B)) / 255)
            color2 = c4d.Vector(int(self.GetString(TXT_R2)) / 255, int(self.GetString(TXT_G2)) / 255,
                               int(self.GetString(TXT_B2)) / 255)
            fps = doc.GetFps()
            strin = ''
            try:
    
                for i in range(0,len(self.obj)):
                    ob = self.obj[i]
                    count = 0
                    for f in range(start, end+1):
                        if not (f % gap):
                            doc.SetTime(c4d.BaseTime(f, fps))
                            doc.ExecutePasses(None, True, True, True, c4d.BUILDFLAGS_NONE)
                            if count % 2 == 0: ob[c4d.ID_BASEOBJECT_COLOR] = color
    
                            else: ob[c4d.ID_BASEOBJECT_COLOR] = color2
                            strin += str(ob[c4d.ID_BASEOBJECT_COLOR])+"\n"
                            count += 1
                            c4d.CallCommand(12410)  # Record Active Objects
                self.SetString(TXT_LOG,strin)            
            except Exception as e:
                self.SetString(TXT_LOG,e)
    
    def main():
        # Get the selected objects, including children.
        dlg = OptionsDialog()
    
        if len(dlg.obj) <= 0:
            gui.MessageDialog('Must select objects!')
            return
    
        # Open the options dialogue to let users choose their options.
    
        dlg.Open(c4d.DLG_TYPE_MODAL, defaultw=320, defaulth=300)
    
        if not dlg.ok:
            return
    
        c4d.EventAdd()  # Update C4D to see changes.
    
    if __name__ == '__main__':
        main()
  • profile
    정석 2020.09.25 14:04
    색을 어디에 어땧게 지정하느냐의 문제인데요. 재질을 제어하는 거라면 일단 특정 재질을 먼저 찾아야합니다.
    BaseDocument.SearchMaterial(self, name) 로 찾던지 오브젝트 옆에 재질 태그를 검색해서 지정된 재질을 먼저 찾고 색을 변경합니다.
    씬이나 상황을 좀더 잘 이애해야 답변을 드릴수있으니 도움이 필요하시면 https://open.kakao.com/me/c4d 여기로 말걸어주세요.

질문과 답변

question and answer

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 일반 Cinema 4D Education 학생용 라이센스 사용방법 2 그래바 2020.09.03 18003
공지 Octane 옥테인 크래시 관련 자주 올라오는 질문들과 해결하는 법을 정리해보았습니다. 13 file 이효원 2020.04.19 48532
공지 [필독] 단톡방 질문 방식 관련 공지사항 4 file 권오훈 2019.06.27 12811
공지 일반 [필독] 질문 게시판 유의사항 ! 권오훈 2019.06.27 4746
9 Python 학원을 다니지 않고 오롯이 혼자 포폴을 준비해도 괜찮은 걸까요? 2 연. 2022.04.09 624
» Python Python Script 제작 시 Material의 색상 입력 부분 질문 입니다! 3 file 도베 2020.09.22 401
7 Python 라이 모션을 주고 싶습니다 2 file 못진놈 2020.10.23 273
6 Python Y축 길이가 0이상인 엣지만 삭제시키고 싶습니다 2 file 무연 2020.09.07 263
5 Python 프렉탈 이미지 3D로 만들려면... file 안졸리나젤리 2022.02.13 246
4 Python 여려분은 어떤 마우스 사용하시나요? 2 영상은장비빨 2021.10.08 185
3 Python 조인트 애니메이션 fbx 익스포트 1 델리만두 2022.04.19 173
2 Python Visible Animation FBX 추출 방법 노명균 2022.07.15 87
1 Python 파이썬 변수이름 조합하는 방법이 궁금합니다. 1 심토지 2023.02.01 70
목록
Board Pagination Prev 1 Next
/ 1
닫기

마이페이지

로그인을 해주세요