StudioLibrary를 Python에서 조작해보십시오. 【Anim Save편】

StudioLibrary에서 애니메이션 등록을 Python에서 조작하는 방법을 소개합니다.

제작자님의 GitHub에 샘플이 공개되어 있으므로, 우선은 이쪽을 확인해 주시는 것이 추천입니다.
htps : // 기주 b. 이 m/k등 th지오/s ぢ ぢ b ら ry/bぉ b/아니 r/src/s ぢ ぢ b ら ry 마야/레아 D메. md

환경


  • python2.7
  • maya2019.2
  • studiolibrary2.7.1

  • Animation 등록



    선택한 장비의 애니메이션을 D 드라이브에 Tanuki.anim으로 저장하려는 경우.

    스크립트


    # studiolibrary2.7.1
    import os
    import maya.cmds as cmds
    from studiolibrarymaya import animitem
    
    path    = os.path.join("D:/studiolibrary/root/dev", "Tanuki.anim")
    objects = cmds.ls(selection=True) or []
    
    # Saving an animation item
    if objects :
        animitem.save(
            path, 
            objects         = objects, 
            frameRange      = (0, 40),
            fileType        = "mayaAscii",
            thumbnail       = "D:/studiolibrary/image/tibitanu.jpg",
            comment         = "This is Tanuki",
            bakeConnected   = False,
            )
    

    save에서 사용하는 플래그 설명



  • path
  • str
  • 애니메이션을 저장할 위치를 지정합니다.
  • D:/studiolibrary/xxx/xxx/hoge.anim


  • objects
  • [str, str, str, str]
  • 애니메이션을 등록할 객체를 지정합니다.
  • 샘플 구현에서는 cmds.ls(sl=True) 에서 선택한 객체의 애니메이션을 저장합니다.


  • frameRange
  • (int, int)
  • 등록할 애니메이션의 범위를 지정합니다.
  • 숫자를 지정하지 않으면 애니메이션의 시작과 끝이 자동으로 감지되어 해당 값으로 등록됩니다.


  • fileType
  • str
  • 생성되는 Maya 파일의 저장 형식을 지정합니다.
  • MayaAScii 또는 mayaBinary


  • thumbnail
  • str
  • 썸네일에 사용할 이미지의 파일 경로를 지정합니다.
  • D:/studiolibrary/image/tibitanu.jpg
  • 등록시 .anim 폴더에 이미지가 복사되고 thumbnail.jpg라는 이미지가 자동 생성됩니다.


  • comment
  • str
  • 코멘트입니다.


  • bakeConnected
  • 어떤 기능인지 모르기 때문에 Off로 하고 있습니다. 아는대로 추기.


  • 실행 결과



    실제로 움직이면 이런 느낌이 듭니다.




    Chibi Tanu는 좋다.

    studiolibrary2.5.7 이전 버전의 경우



    studiolibrary2.5.7 이전 버전을 사용하는 경우 쓰기가 약간 다릅니다.
    일단 item을 인스턴스화해야 하기 때문에 주의합시다.
    # studiolibrary2.5.7
    import os
    import maya.cmds as cmds
    from studiolibrarymaya import animitem
    
    path    = os.path.join("D:/studiolibrary/root/dev", "Tanuki.anim")
    objects = cmds.ls(selection=True) or []
    
    item = animitem.AnimItem(path)
    
    # Saving an animation item
    if objects :
        item.save(
            objects         = objects, 
            frameRange      = (0, 40),
            fileType        = "mayaAscii",
            bakeConnected   = False,
            )
    

    다음 번에는 Python을 사용하여 StudioLibrary에서 애니메이션을로드하는 방법을 씁니다.

    좋은 웹페이지 즐겨찾기