일반

C4D 10Frame 씩가는 단축키 있을까요?

by 저격총 posted Aug 12, 2021 Replies 5
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

안녕하세요 시포디에는 에펙처럼 십프레임씩 가는 단축키가 없나요?

구글링해봐도 시포디 한국유저그룹 에서 제가 못찾는건지 아무리 찾아봐도 안보이네요

아니면 억지로라도 만드는 방법이 있을까요??

플러그인이라도...혹시 있을까요?

아무것도 아니어도 시간을 너무 잡아먹더라구요 제가 계산을 잘하는 것도 아니고 수학제일못햇어서 도중에 계속 틀려서요 

없으면 할수 없지만 있으면 알려주시면 진심 정말 감사하겠씁니다 !!!!

  • profile
    정석 2021.08.12 12:59 Files첨부 (1)

    import c4d

    def main():
        
        step = 10

        frame = doc.GetTime().GetFrame(doc.GetFps())
        frame += step
        doc.SetTime(c4d.BaseTime(frame, doc.GetFps()))
        c4d.DrawViews(c4d.DRAWFLAGS_ONLY_ACTIVE_VIEW|c4d.DRAWFLAGS_NO_THREAD|
            c4d.DRAWFLAGS_STATICBREAK|c4d.DRAWFLAGS_FORCEFULLREDRAW)

        c4d.EventAdd()

    if __name__ == "__main__":
        main()

     

    frame_jump.py

  • ?
    저격총 2021.08.12 22:02
    정석님 감사합니다!! 도대체 그런건 어떻게 알아내시는건지 올려주신 팁같은것들 잘활용하고 있습니다 감사해요 !!
  • ?
    아쿠 2021.08.12 13:25

    Shift F11 눌러서 스크립트 매니저 열어준 뒤 File - New 해서 새 스크립트 만들고

    import c4d

    from c4d import gui

     

    def main():

        # main class here: BaseTime

        bt = doc.GetTime()

        print bt.GetNumerator(), bt.GetDenominator(), bt.Get(), doc.GetFps(), bt.GetFrame(doc.GetFps())

        # WRONG: btAdd = c4d.BaseTime(10.0 / doc.GetFps()) will yield a nasty fraction

        # doc.SetTime(bt + btAdd)

        

        # instead, work with the rational numbers in terms of numerator and denominator

        bt2Num = 10.0 # jump forward so many frames

        bt2Den = doc.GetFps()

        print bt2Num, bt2Den

        bt2 = c4d.BaseTime(bt2Num, bt2Den)

        print bt2

        # the addition will take care of the different denominators

        doc.SetTime(bt + bt2)

        doc.ExecutePasses(None, True, True, True, c4d.BUILDFLAGS_0)

     

    if __name__=='__main__':

        main()

    이거 복붙해주신 뒤 단축키 지정해주시면 됩니다. 뒤로 가기는 

     

    import c4d

    from c4d import gui

     

    def main():

        # main class here: BaseTime

        bt = doc.GetTime()

        print bt.GetNumerator(), bt.GetDenominator(), bt.Get(), doc.GetFps(), bt.GetFrame(doc.GetFps())

        # WRONG: btAdd = c4d.BaseTime(10.0 / doc.GetFps()) will yield a nasty fraction

        # doc.SetTime(bt + btAdd)

        

        # instead, work with the rational numbers in terms of numerator and denominator

        bt2Num = 10.0 # jump forward so many frames

        bt2Den = doc.GetFps()

        print bt2Num, bt2Den

        bt2 = c4d.BaseTime(bt2Num, bt2Den)

        print bt2

        # the addition will take care of the different denominators

        doc.SetTime(bt - bt2)

        doc.ExecutePasses(None, True, True, True, c4d.BUILDFLAGS_0)

     

    if __name__=='__main__':

        main()

     

    R21까지는 되는데 23과 24는 안되네요 22는 확인 못했습니다.

  • ?
    저격총 2021.08.12 22:06
    아쿠님도 감사합니다 진짜 23은 안되네요 아쿠님도 이런 거 어떻게 알고 계시는건지 ㅜㅜ 저만 모르는건지 ㅜㅜㅜ 진심 대단 ㅜㅜㅜ 감사ㅡ해요 !!!!
  • ?
    아쿠 2021.08.23 15:57
    저는 구글에 먼저 찾아보다보니 나오더라구요..ㅎㅎ

    화이팅하세요~!