Technical Art/2024

[Unity Editor Script] 팀스피리츠매니저 작업시 제작한 스크립트

anifilm 2025. 6. 5. 10:03

[애니메이션] Unity 타임라인 작업시 사용 가능한 Editer Scripts

 

Unity에서 애니메이션 타임라인 작업시 몇 가지 편의 기능을 추가하여 사용할 수 있다.

 

[작업 준비하기]

  1. 작업 타임라인 복제하기
    • Duplicate (Rename) - (추천) 선택한 타임라인 프리팹 게임오브젝트를 원하는 이름 (폴더 지정가능) 으로 복제하도록 기능 지원, 타임라인 프리팹인 경우 Playable Director 항목을 포함하여 복제한다.
    • Duplicate Selected Prefab with Timeline (단축키 Alt + N) - 씬 하이어라키에서 복제를 원하는 프리팹 게임오브젝트를 선택하고 메뉴 또는 단축키를 사용하여 실행하면 해당 프리팹 이름 + _NEW 상태로 복제하여 준다. ( Playable Director 항목을 포함) 작업 진행시 원하는 이름으로 rename 후 작업 진행 가능
  2. Timeline Preview Values Transfer - Timeline 작업 후 Preview 적용과 그렇지 않을 때 카메라 또는 캐릭터 포즈 및 위치가 달라지게 된다. 이를 Sync 해주기 위해 기능 제공
    • Sync 작업할 프리팹 또는 TimeLine을 선택 후 Initialize 하여 현재 Preview의 0frame 상태를 저장
    • Transfer Values를 누르면 해당 상태를 현재 프리팹 하위에 적용해 줌
    • 프리팹의 Overrides를 Apply All 하여 상태를 유지하도록 저장
  3. CutScene Ball Simulator - Timeline 컷씬에 사용할 Ball 애니메이션을 시뮬레이션으로 타구 각도, 높이, 힘을 시뮬레이션 하여 결과를 보여주고 해당 시뮬레이션을 애니메이션 파일로 저장해주는 기능 제공

[My Macro Button / Utils 기능 사용]

  1. Activate Selected GameObject
    • 선택한 타임라인 프리팹 활성 상태로 전환
    • 두번째 클릭부터 타임라인 활성시간 0으로 변경하며 Timeline 창을 Lock 설정(토글) 해준다.
  2. Timeline Lock Toggle (단축키 Alt + T) - 타임라인 작업시 Hierarchy 노드중 TimeLine 이외의 항목을 선택하더라도 Timeline 창을 유지 시켜 주도록 Lock 을 단축키로 토글
  3. Timeline Binding Restore
    • 복제된 Timeline 프리팹은 요소의 Bindings가 Missing되어 있음. 이를 현 프리팹의 Timeline 기준으로 복구 해주는 기능 (My Macro Button에 기능 통합되어 개별 사용하지 않음)
  4. Character Parts Hand Change - (선수 프리팹 선택 후) 타임라인 프리팹의 각 투수 및 수비 선수의 글러브 손 위치를 왼쪽 / 오른쪽으로 토글 기능 지원 (타자의 경우 배트 위치 변경 가능)
  5. Animation Clip Duplicate Export (단축키 Alt + D)
    • 애니메이션 FBX 에서 Clip을 지정된 폴더 위치에 Duplicate (덮어쓰기) 하도록 기능 지원
    • Clip 이름이 “Take 001” 인 경우 파일명과 동일하게 변경하도록 기능 지원
  6. Timeline Prefab Duplicate Export
    • 작업 완료된 타임라인 프리팹을 정리하여 최종 폴더에 복제하도록 기능 지원
    • 작업용 프리팹에 포함된 선수 프리팹과 runner 이하 프리팹은 자동 삭제

[기타 지원 기능]

  1. Timeline Clip Info Editor - Timeline Playable 을 등록하고 대상 트랙을 선택후 해당 애니메이션 클립의 Left (or Right) 클립을 토글 전환 할 수 있도록 기능 (My Macro Button - Character Parts Hand Change에 기능 통합하여 개별 사용하지 않음)
  2. Timeline Path Drawer
    • 작업 중인 타임라인 게임오브젝트에서 Path를 출력하고 싶은 오브젝트를 등록하여 애니메이션 이동 경로를 Line Renderer를 사용 하여 가시적으로 보여주는 기능
    • Playable Director - TimeLine 게임오브젝트 등록
    • Target GameObejct - Ball_move 등과 같이 이동 경로를 Path로 출력하고 싶은 게임오브젝트를 등록
  3. Timeline Prefab Comparer
    • 작업 완료된 타임라인 프리팹을 정상적으로 폴더에 복제하였는지 확인하는 기능 지원
    • Cut_Cut 이하 작업 폴더 선택 후 비교하여 1:1 매칭이 되지 않은 프리팹을 출력
  4. Timeline Group Creator - 타임라인 그룹을 편하게 생성 / 관리 할 수 있도록 기능 지원

  5. Timeline Playable Clip Viewer
    • Assets / Resources / Timeline 의 하위 폴더에 있는 Playable 리소스에서 선수 Position 관련하여 내부 생성한 Animation Clip의 정보를 보여 준다.
    • Check Famerate 60FPS - Samples (Framerate) 가 60fps로 되어 있는 항목을 보여 준다.
    • Check Label Validate - Track 레이블이 지정되지 않은 목록을 보여 준다. (Animation Track …)
  6. Timeline Animation Framerate Converter
    • 활성화된 작업 Timeline 프리팹을 기준으로 해당 Playable Director에 내부 생성한 Animation Clip 중 Samples (Framerate) 가 60fps로 되어 있는 목록을 보여준다.
    • 선택한 목록 버튼을 클릭하면 해당 클립이 활성화 된다.
    • 하단 버튼을 클릭하면 Convert 60fps to 30fps로 변경하는 기능 지원
    • (기존 프레임을 60 → 30으로 변경하는 경우 Duration 또한 두배로 길어진다. 이 부분을 기존의 Duration을 유지하면서 변경하는 기능을 자동화하여 구현하였다.)
    • Animation 창의 Samples 항목은 해당 창의 [:] 을 클릭하여 Show Sample Rate를 체크 활성해주면 보여진다.

  7. Timeline Remove Unused Bindings - Timeline을 복제해서 작업하다보면 이전 연결된 Bindings가 연결은 끊어졌지만 정보는 그대로 남아 있음. 쓰레기 값이라고 볼 수 있는데 해당 내용을 삭제하여 최적화 해주는 기능을 제공 (적용 테스트 결과는 파일 용량 최적화 결과가 미미 해서 사용 추천은 하지않음)

 

[애니메이션] 3dsmax 에서 사용 가능한 Max Script

 

3dsMax_Scripts_-_anifilm_tools.zip
0.01MB

 

  1. TimeConfig.ms 를 제외한 나머지 스크립트는 맥스창에 드래그 앤 드롭으로 설치 가능하다.
  2. TimeConfig.ms 는 맥스 설치 경로 C:\Program Files\3ds Max 2021 에 복사하여 준다.

[메뉴 구성 방법]

Customize User Interface 설정에서 Toolbars 탭에서 구성 가능

New 버튼을 눌러 새로운 툴바를 생성하고 Category / anifilm tools 항목에서 등록 원하는 Action을 드래그 하여 추가해 준다.

 

[사용 방법]

  1. TimeConfig 스크립트는 맥스 하단의 타임슬라이더를 좀 더 편하게 사용할 수 있도록 구성
  2. BoneToggle 은 단축키를 지정하여 Bone 과 Biped 를 Hide & Show 토글 사용할 수 있다.
  3. Edit Biped Anim Tools 바이패드 작업시 필요한 몇 가지 기능을 버튼으로 구성
    • Select Biped COM - Bip001 을 선택
    • Select All Biped - 모든 바이패드 오브젝트 선택 (Footsteps, Twist, Nub 제외)
    • Unlink Bip001 from Root_Dummy - Root_Dummy에서 Bip001을 Unlink & Link 토글 사용 (바이패드 Move All Mode 사용시 Unlink 필요)
    • Toggle Move All Move / Mirror In Place 는 Biped 제공 기능을 버튼으로 빠르게 접근 하도록 구성

  1. Create Ball Keys
    • Player_Ball_control 을 원하는 오브젝트에 링크 애니메이션을 편하게 제작하도록 구성

  1. SaveAsMax2020 - 2021 또는 2022 버전으로 저장된 맥스파일을 2020 버전으로 저장
  2. ExportCharAnim / ExportCharParts - 애니메이션 FBX 익스포트 또는 All Parts 익스포트시 오브젝트 자동 선택 후 익스포트 하도록 구성
  3. Biped Anim Loader
    • Open Biped Animation File List 를 통해 폴더에 있는 Biped (.bip) 파일 목록을 불러 올 수 있다.
    • 목록을 불러 올때는 폴더가 아닌 파일 기준으로 해당 폴더에 있는 모든 파일을 불러들인다.
    • BIP File Lists: 목록 중 불러올 항목을 선택하고 [Load Selection Animation .BIP to Biped] 버튼을 통해 편하고 빠르게 불러들일 수 있도록 구성 하였다.