까먹기 쉬운 세팅 정리 및 고도 엔진4 게임 개발 프로젝트 팁 정리.
일단 세로 늘리기 캔바스아이템과
포트레잇
screensize=get_viewport().get_visible_rect().size
clamp로 최소 최대 제한두기
velocity.length()로 상태값 변환하기 애니메이션 처리
시그널 변수 활용
signal picup
signal hurt
queue_free()는 오브젝트를 즉시 삭제하지 않고 삭제할 대기열에 추가하는 것 프레임이 끝날 때 삭제됨.
await $Timer.timeout
지정된 시그날 timeout이 발신 될 때까지 함수 호출을 기다린다.
'Smart Packaging' 전략을 추천합니다.
1. 폴더 구조 설계
res://raw_assets/: 모든 원본 파일, 미사용 에셋들.res://game_assets/: 실제 게임 씬에서 사용 중인 에셋들.res://src/: 스크립트 및 씬 파일.
2. Export 설정을 통한 자동 필터링 (복사 필요 없음)
제안하신 의도(필요한 것만 빌드에 포함)를 달성하는 가장 깔끔한 설정은 다음과 같습니다.
방법 A: Export Selected Scenes (추천)
내보내기 설정의
Export Mode를 **"Export selected scenes (and dependencies)"**로 설정합니다.이 모드에서는 내가 등록한 메인 씬(예:
main.tscn)을 시작으로 거기서 연결된 모든 파일만 자동으로 추적해서 패키징합니다.즉,
baseAsset폴더에 1000개의 음악이 있어도 씬에서 1개만 썼다면 빌드 파일에는 1개만 들어갑니다. 복사-붙여넣기가 필요 없는 자동화 방식입니다.
방법 B: Exclude Filter 활용
만약 모든 씬을 다 내보내야 한다면,
Resources탭의Filters to exclude files에raw_assets/*를 등록하세요.빌드할 때 해당 폴더는 통째로 무시됩니다.
좋아 에셋은 이런식으로 해보는걸로. 테스트도 해봐야겠지만.
깃 관련 삭제 명령어
rm -rf .git .godot .vscode
에셋 스프라이트 명령어로
상태값이 분기된 애니메이션 추출
aseprite -b character.aseprite --sheet character.png --data character.json --list-tags --format json-array
asesprite 태그로 분리해서 내보내기
키스토어 생성
keytool -genkey -v -keystore 이름.keystore -alias sj4u_key -keyalg RSA -keysize 2048 -validity 10000
카메라 설정
[Project] -> [Project Settings] -> [Display] -> [Window] 이동.
Size: Viewport Width와 Height를 원하는 기준 해상도(예: 1080x1920)로 설정.
Stretch:
Mode:
canvas_items(2D일 때)Aspect:
keep(이게 핵심입니다! 유니티 코드의scaleheight계산과 똑같이 작동하여 자동으로 레터박스를 만들어줍니다.)
고도 레시피 사이트

일단 세로 늘리기 캔바스아이템과
포트레잇
screensize=get_viewport().get_visible_rect().size
clamp로 최소 최대 제한두기
velocity.length()로 상태값 변환하기 애니메이션 처리
시그널 변수 활용
signal picup
signal hurt
queue_free()는 오브젝트를 즉시 삭제하지 않고 삭제할 대기열에 추가하는 것 프레임이 끝날 때 삭제됨.
await $Timer.timeout
지정된 시그날 timeout이 발신 될 때까지 함수 호출을 기다린다.
'Smart Packaging' 전략을 추천합니다.
1. 폴더 구조 설계
res://raw_assets/: 모든 원본 파일, 미사용 에셋들.
res://game_assets/: 실제 게임 씬에서 사용 중인 에셋들.
res://src/: 스크립트 및 씬 파일.
2. Export 설정을 통한 자동 필터링 (복사 필요 없음)
제안하신 의도(필요한 것만 빌드에 포함)를 달성하는 가장 깔끔한 설정은 다음과 같습니다.
방법 A: Export Selected Scenes (추천)
내보내기 설정의 Export Mode를 **"Export selected scenes (and dependencies)"**로 설정합니다.
이 모드에서는 내가 등록한 메인 씬(예: main.tscn)을 시작으로 거기서 연결된 모든 파일만 자동으로 추적해서 패키징합니다.
즉, baseAsset 폴더에 1000개의 음악이 있어도 씬에서 1개만 썼다면 빌드 파일에는 1개만 들어갑니다. 복사-붙여넣기가 필요 없는 자동화 방식입니다.
방법 B: Exclude Filter 활용
만약 모든 씬을 다 내보내야 한다면, Resources 탭의 Filters to exclude files에 raw_assets/*를 등록하세요.
빌드할 때 해당 폴더는 통째로 무시됩니다.
좋아 에셋은 이런식으로 해보는걸로. 테스트도 해봐야겠지만.
깃 관련 삭제 명령어
rm -rf .git .godot .vscode
에셋 스프라이트 명령어로
상태값이 분기된 애니메이션 추출
aseprite -b character.aseprite --sheet character.png --data character.json --list-tags --format json-array

asesprite 태그로 분리해서 내보내기
키스토어 생성
keytool -genkey -v -keystore 이름.keystore -alias sj4u_key -keyalg RSA -keysize 2048 -validity 10000
카메라 설정
[Project] -> [Project Settings] -> [Display] -> [Window] 이동.
Size: Viewport Width와 Height를 원하는 기준 해상도(예: 1080x1920)로 설정.
Stretch:
Mode: canvas_items (2D일 때)
Aspect: keep (이게 핵심입니다! 유니티 코드의 scaleheight 계산과 똑같이 작동하여 자동으로 레터박스를 만들어줍니다.)
고도 레시피 사이트
http://kidscancode.org/godot_recipes/
댓글
댓글 쓰기