Skip to content

Latest commit

 

History

History
336 lines (218 loc) · 16.3 KB

File metadata and controls

336 lines (218 loc) · 16.3 KB

프린세스 커넥트! Re:Dive Resource 추출 도구

게임 '프린세스 커넥트! Re:Dive'의 클라이언트 파일을 오프라인 환경에서 국가 상관 없이 Resource를 추출 및 변환하는 도구입니다.
(* 미처 발견하지 못한 오류가 있을 수 있습니다.)




🔍 주요 기능

■ 클라이언트 파일이 있는 위치에서 스크립트를 실행하면 각 파일 이름을 원본 이름으로 변경 후 파일이 추출됩니다.
(* 확장자 별 변환 과정은 다음과 같습니다.)

  • *.unity3d -> *.png, *.txt
  • *.awb, *.acb -> *.wav
  • *.usm -> *.mp4
  • *storydata.bytes -> *.json
  • *storydata_storydata.bytes -> .




💾 다운로드

icon_item_91001

※ 추출 도구는 상단 쥬얼 아이콘을 클릭 또는 본 Repositories의 Releases로 이동하여 다운로드 하십시오.

※ 본 도구를 사용할 때 필요한 모든 파일들은 zip 파일 내 📁\01_Install 폴더에 포함되어 있습니다.

*.zip 파일 내 제공 된 파일들을 사용하려는 경우 개별 다운로드 과정을 생략해도 되며, 제공 된 설치 파일들을 신뢰하지 않을 경우 아래 링크를 통해 개별 다운로드 하시기 바랍니다.

Program URL 필수여부 비고
Python 3.10.11 Download 필수 ◼ Python Script 동작, 파이썬 3.10.xx 버전 중 아무거나 사용 가능
◼ 단, 3.10.xx 버전이 아닌 다른 버전은 확인한 적 없으므로 정상적인 작동을 보장하지 못 함
dotNET 3.1 Download 필수 ◼ Audio 파일 또는 Video 파일을 변환할 때 사용
K-Lite Codec Pack 18.3.0 (Mega) Download 선택 ◼ Audio 및 Video 코덱 설치
◼ 추출 된 Audio 파일 또는 Video 파일이 정상적으로 재생되지 않을 때 설치
◼ 18.3.0 버전이 아니어도 됨




❗ 주의 사항 ❗

※ 모든 내용은 2024-05-29 JP, KR 서버 업데이트 기준이며, 작업 시점 또는 방법에 따라 총 용량 및 파일 개수가 달라집니다.

※ 반드시 저장 장치의 여유 공간을 확인 후 작업하시기 바랍니다.

※ 발견 된 문제를 미리 확인하여 작업 중 적절히 대처할 수 있도록 준비하십시오.

📛 지금까지 발견 된 문제

01. 한국 서버 클라이언트 일부 *.usm 파일 소리 깨짐
\m\t 폴더에 있는 *.usm 파일 중 일부 *.usm 파일이 정상적으로 변환되지 않음



클라이언트 또는 manifest.db에서 가르키는 각 폴더별 명칭은 아래 목록을 클릭하여 참고하십시오.

🗂 각 폴더별 이름
\a = Asset
\b = BGM
\s = SE(Sound Effect)
\v = Voice
\t = Temp

각 manifest의 구조는 아래 목록을 클릭하여 참고하십시오.

🧾 All Manifests (Level 2)

※ 원본 국가, 작업하는 시점 또는 방법에 따라 일부 다르게 표기될 수 있음

📁 Priconne_Extractor
  ├📁 a
  │  ├📁 all
  │  ├📁 animation
  │  ├📁 arcade
  │  ├📁 banner
  │  ├📁 bg
  │  ├📁 caravan
  │  ├📁 clanbattle
  │  ├📁 colosseum
  │  ├📁 comic
  │  ├📁 consttext
  │  ├📁 dailytask
  │  ├📁 dungeon
  │  ├📁 event
  │  ├📁 font
  │  ├📁 gacha
  │  ├📁 howtoplay
  │  ├📁 icon
  │  ├📁 jukebox
  │  ├📁 knightenhance
  │  ├📁 lipsyncothers
  │  ├📁 loginbonus
  │  ├📁 masterdata
  │  ├📁 minigame
  │  ├📁 resourcedefine
  │  ├📁 room
  │  ├📁 roomeffect
  │  ├📁 roomfinger
  │  ├📁 roomgrid
  │  ├📁 roomicon
  │  ├📁 roomitem
  │  ├📁 roomthumb
  │  ├📁 shader
  │  ├📁 spine
  │  ├📁 storydata
  │  ├📁 talentquest
  │  ├📁 travel
  │  ├📁 unit
  │  └📁 wac
  ├📁 assets
  ├📁 b
  ├📁 m
  │  └📁 t
  ├📁 manifest
  ├📁 s
  └📁 v
     └📁 t




⏩ 사용 방법

  1. zip 파일 다운로드 후 적절한 위치에 압축 해제 합니다.
    2024-05-31 20 47 50


  2. 01_Install 폴더로 이동 후 본문 상단 💾 다운로드을 참고하여 파일을 설치합니다.
    2024-05-31 20 53 59
    2024-05-31 20 48 52
    [ ※ 주의 ] Python 설치 시 Add python.exe to PATH 에 반드시 체크 후 Install Now 클릭
    (📌 미처 누르지 못했다면 설치파일을 다시 실행 또는 소프트웨어 제거 후 재 설치)


  3. 모두 설치가 끝났다면 02_Tools 폴더로 이동합니다.
    2024-05-31 20 55 06


  4. 00. Install required Python packages.bat 파일을 실행하여 Python Package를 설치합니다.
    2024-05-31 20 50 43
    녹화_2024_05_31_17_38_16_882 mp4_snapshot_00 00 000
    녹화_2024_05_31_17_38_16_882 mp4_snapshot_00 11 697
    (📌 필수 Python Package 설치가 끝나면 위와 같은 화면이 표시됩니다.)


  5. 게임 클라이언트 원본 구조를 그대로 유지한 상태로 스크립트가 있는 경로로 불러옵니다.
    2024-05-31 21 00 58


  6. 01. Manifest File Renamer.py 파일을 실행하여 SHA1 Hash로 저장 된 파일 이름을 변경합니다.
    2024-05-31 21 02 05

녹화_2024_05_31_21_06_50_102 mp4_snapshot_00 00 000

ezgif-6-3dc6ee929c

녹화_2024_05_31_21_06_50_102 mp4_snapshot_00 01 282
(📌 파일 이름이 모두 변경되면 위와 같은 화면이 표시됩니다.)


  1. 02. unity3d File Converter.py 파일을 실행하여 *.unity3d 파일에서 Asset을 추출(변환)합니다.
    2024-05-31 21 12 57

녹화_2024_05_31_20_20_40_361 mp4_snapshot_00 00 000

[ 🛑 경고 🛑 ] 반드시 저장 공간이 여유로운 곳에서 작업하십시오.

ezgif-4-d611beffd8

녹화_2024_05_31_20_20_40_361 mp4_snapshot_00 01 294
(📌 작업이 성공적으로 끝나면 위와 같은 화면이 표시됩니다.)

2024-05-31 21 15 56
(📌 \a\_Converted 폴더)

작업이 성공적으로 끝나면 원본 Resource 폴더 내 _Converted 폴더가 생성되며, 해당 폴더 내부에 원본 *.unity3d 파일 이름으로 추출(변환) 된 Asset이 저장되어 있는 것을 확인할 수 있습니다.


  1. 03. Audio File Converter.py 파일을 실행하여 *.acb, *.awb 파일에서 Resource를 추출(변환)합니다.
    2024-05-31 21 22 58

녹화_2024_05_31_20_26_39_551 mp4_snapshot_00 00 000

[ 🛑 경고 🛑 ] 반드시 저장 공간이 여유로운 곳에서 작업하십시오.

ezgif-4-575f84a008

녹화_2024_05_31_20_26_39_551 mp4_snapshot_00 07 285
(📌 작업이 성공적으로 끝나면 위와 같은 화면이 표시됩니다.)

2024-05-31 21 23 46
(📌 \b\_Converted 폴더)

작업이 성공적으로 끝나면 원본 Resource 폴더 내 _Converted 폴더가 생성되며, 해당 폴더 내부에 원본 *.acb 파일 이름 또는 *.awb 파일 이름으로 추출(변환) 된 Resource가 저장되어 있는 것을 확인할 수 있습니다.


  1. 04. Video File Converter.py 파일을 실행하여 *.usm 파일에서 Resource를 추출(변환)합니다.
    2024-05-31 21 25 04

녹화_2024_05_31_20_26_57_870 mp4_snapshot_00 00 000

[ 🛑 경고 🛑 ] 반드시 저장 공간이 여유로운 곳에서 작업하십시오.

ezgif-4-37e0380221

녹화_2024_05_31_20_26_57_870 mp4_snapshot_00 02 951
(📌 작업이 성공적으로 끝나면 위와 같은 화면이 표시됩니다.)

2024-05-31 21 28 45
(📌 \m\_Converted 폴더)

작업이 성공적으로 끝나면 원본 Resource 폴더 내 _Converted 폴더가 생성되며, 해당 폴더 내부에 원본 *.usm 파일 이름으로 추출(변환) 된 Resource가 저장되어 있는 것을 확인할 수 있습니다.




선택 작업

아래 작업은 필수 작업은 아니며, 필요에 따라 사용하시면 됩니다.

[선택 작업]
캐릭터 명을 모두 추출하고 싶다면 05. Character List Export.py 파일을 실행합니다.

녹화_2024_05_31_20_34_50_160 mp4_snapshot_00 00 000

ezgif-5-fbc7712a65




[선택 작업]
입력 한 캐릭터명 전체 또는 일부를 기준으로 대사 정보 및 Audio 파일 정보를 찾고싶다면 06. Vocal Resource Info Export.py 파일을 실행합니다.

캡처_2024_05_31_21_53_33_344

ezgif-6-c9bead1666

예를 들어, 'コッコロ(=콧코로)'를 입력하지 않고, 'コ'만 입력 후 검색을 하면 모든 캐릭터 이름 중 'コ'가 포함 된 캐릭터 모두 결과값을 반환합니다.
(📌 위 GIF에 녹화 된 내용 기준으로 'コッコロ(콧코로)', 'ペコリーヌ(=페코린느)', 'マコト(=마코토)', 'ミヤコ(=미야코)' 등 'コ'가 포함 된 결과가 출력 된 것을 확인할 수 있습니다.)




[선택 작업]
원본 Resource 파일을 모두 제거하려는 경우 07. Original Resource Remover.bat 파일을 실행하여 원본 Resource 파일을 제거합니다.

녹화_2024_05_31_20_43_14_736 mp4_snapshot_00 00 263
ezgif-6-5b02b54d9b




⚙ 고급 설정 (선택)

※ 이 작업은 Python 언어로 작성 된 Script의 내용을 이해하고 응용할 수 있는 분들께 추천드리는 작업입니다.

❗ 필수 작업 ❗

PRICONNE_EXTRACTION_TOOLS(Portable)_AIO 숨김폴더 해제 지시
파일 -> 옵션 -> 보기 -> 숨김 파일 및 폴더상태를 숨김 파일, 폴더 및 드라이브 표시로 변경 후 확인

PRICONNE_EXTRACTION_TOOLS(Portable)_AIO 읽기전용 해제 지시
수정하고자 하는 파일 선택 후 마우스 우클릭 -> 속성 -> 일반 -> 특성항목 중 읽기 전용(R)상태 해제 후 확인

위 작업을 모두 끝낸 후 작업하시기 바랍니다.


🛠 *.usm 파일을 *.mp4 파일이 아닌 다른 확장자로 변환하고자 하는 경우?

PRICONNE_EXTRACTION_TOOLS(Portable)_AIO에 포함 된 UsmToolkit은 FFmpeg 표준 구문을 사용합니다.

  1. \04. Video File Converter.py코드 중 extract_path = output_folder_path / (usm_file.stem + ".mp4") 부분에서 .mp4 수정
  2. \02_Tools\usmtoolkit로 이동 후 config.json파일 내용 중 OutputFormat부분 수정

    # 만약, *.mp4 파일이 아닌 *.mkv 파일로 저장하고 싶다면?

    # ▼ 04. Video File Converter.py 파일 내용 중 일부 ▼
    # 변환할 *.mp4 파일 경로 생성
    extract_path = output_folder_path / (usm_file.stem + ".mp4")  # <--- 확장자 수정

    # ▼ config.json 파일 내용 ▼
{
    "VideoParameter" : "-c:v copy",
    "AudioParameter" : "-c:a ac3",
    "OutputFormat" : "mkv"  # <--- 확장자 수정
}

보다 자세한 설정은 FFmpeg 표준 구문을 확인하시기 바랍니다.
📚 FFmpeg 표준 구문 보러 가기




해야 할 일

  • 게임 출석
  • 콧코로 수첩
  • 지역
  • 이벤트 스토리
  • 던전
  • 아레나, 프레나
  • 클랜전




Special Thanks to

✨ Princess Connect! Re:Dive Game Users