까먹기 쉬운 세팅 정리 및 고도 엔진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 filesraw_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 WidthHeight를 원하는 기준 해상도(예: 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/






    댓글

    이 블로그의 인기 게시물

    고도엔진을 안드로이드애플리케이션에 임베드하는거 공부하기

    [코틀린] 고도엔진 안드로이드 플러그인 최종정리

    godot용 android plugin 제작