반응형
import os
# 스케일 조정 비율 (원래 크기의 0.001배)
scale_factor = 0.1
# OBJ 파일이 있는 최상위 디렉토리 경로
directory_path = 'F:\\에셋데이터'
# 수정된 파일들의 리스트
modified_files = []
# 디렉토리 및 하위 디렉토리 내 모든 OBJ 파일 처리
for root, dirs, files in os.walk(directory_path):
for filename in files:
if filename.endswith(".obj"):
new_lines = []
path = os.path.join(root, filename)
with open(path, 'r') as file:
lines = file.readlines()
for line in lines:
if line.startswith('v '): # vertex 데이터만 찾기
parts = line.split()
x = float(parts[1]) * scale_factor
y = float(parts[2]) * scale_factor
z = float(parts[3]) * scale_factor
new_line = f"v {x} {y} {z}\n"
new_lines.append(new_line)
else:
new_lines.append(line)
# 변경된 데이터로 파일 다시 쓰기
with open(path, 'w') as file:
file.writelines(new_lines)
# 수정된 파일 리스트에 추가
modified_files.append(path)
# 수정된 파일 리스트 출력
print("모든 OBJ 파일의 스케일이 조정됨. 수정된 파일 목록:")
for file in modified_files:
print(file)
3D 데이터 애셋 200여개를 패키징 하던도중 여러문제점을 발견하였다.
스케일 문제... 편집한 3D툴마다 스케일이 10배~100배의 차이가 나는 문제가 있었다.
모든 파일을 열어 스케일을 맞추기 어려워. 한번에 변경하는 코드로 해결하였다.
반응형
'개발 > Python' 카테고리의 다른 글
🔍 딥러닝 OCR: EasyOCR vs PaddleOCR 비교 분석 (0) | 2025.03.26 |
---|---|
🧾 파이썬으로 이미지에서 텍스트 추출하기: OCR 기초 완전 정복 (1) | 2025.03.26 |
[IOS 미디어 컨버터] Heic to jpg / Mov to mp4 (0) | 2024.04.25 |
특정 키보드 입력과 동시에 다른 키 입력하는 기능(바인딩) (1) | 2024.04.22 |