Last Canary 8일차

김재혁·2025년 5월 15일

PCG 기본 생성

PCG를 사용하고 크기를 적용해 나무를 넣어봄 -> 나무가 지형각도대로 배치가 되어 너무 어색
Transform Points노드에서 Rotation설정을 통해서 자연스럽게 서있는 느낌으로 구현
적용 완료

랜드스케이프 최적화 설정 완료후 추가 작업 할 예정

월드 파티션 활성화

  • 에디터에서 오픈 월드에는 기본적으로 활성화가 되어있기 때문에 빈 오픈월드에서 생성해뒀음
    오픈월드에서 생성하니 자동으로 나뉘는 셀

미니맵 생성

창 -> 월드 파티션 -> 월드 파티션 에디터를 활성화하니 이런 창이 뜨고 미니맵을 빌드할 수있음

월드 / 랜드스케이프 디테일 설정

월드 세팅에 있는 파티션 인덱스 MainPartition를랜드스케이프 세팅에 있는 런타임 그리드에 적용한후 "공간적으로 로드되었는지 여부"를 꼭 체크해야지 셀이 자동으로 분할 표시됨

플레이어 캐릭터 설정

  • 월드 파티션 스트리밍은 플레이어나 지정된 소스의 위치를 기준으로 작동하기 때문에
    플레이어에 컴포넌트를 하나 부착스트리밍 소스 활성화 체크 확인

HLOD 설정

  • 월드 파티션만 활성화 시키면 멀리 있던 산이 일정거리내의 시야로 들어오면 갑자기 생기는 방식이라 월드 파티션으로 생성 -> HLOD로 그래픽 보정 방향으로 갈 생각

레이어 적용

레벨 생성 시 자동으로 생성되는 HLOD 레이어를 적용 시키기 ( Merged는 lnstanced의 부모)

  • lnstanced : PCG로 뿌린 나무 등 반복 오브젝트 최적화용
  • Merged : 추후 구조물, 스태틱 메쉬 그룹화용
    -> 나중에 PCG에 사용 가능하면 적용해서 최적화 할 예정

    랜드스케이프는 기본적으로 LOD기능이 적용되어있어 다른 메쉬를 집어 넣어주지 않아도 적용이 됨

하지만 다른 메쉬는 HLOD 적용 메쉬를 넣어줘야 적용이 됨 -> Ex) 로우 폴리곤 모델링

디버깅

  • 기본적으로 활성화 되어있는 월드 파티션을 디버깅을 통해 플레이 화면에서 자연스러운지 확인하고 수치를 조절하기
  • wp.Runtime.ToggleDrawStreamingSources : 플레이어 컨트롤러의 Streaming Source 상태를 표시한 것
  • wp.Runtime.ToggleDrawStreamingPerf : Streaming 시스템의 전체 상태 표시
  • 현재 PIE 모드에서 단일 플레이어로 실행중
  • Blocking Enabled : 스트리밍 지연 방지가 설정되어있음
  • wp.Runtime.ToggleDrawRuntimeCellsDetails : 각 셀의 로딩 상태를 실시간으로 출력
    -> HLOD 셀과 MainPartition 셀이 함께 로드된 경우도 출력

  • wp.Runtime.ToggleDrawRuntimeHash2D : 현재 로딩 셀을 2D 그리그 셀로 시각화 함 -> 언리얼 공식 문서에는 색이 활성화되는 이미지가 있었는데 나는 활성화가 안되서 찾아보니 5.3 이후에는 명령어가 바뀌었다고 함.. 아직은 잘 모르겠음
  • HLOD 셀 시각화 : 이건 정상적으로 색이 보임..

월드 파티션 + HLOD 조합 수치 조절

  • 플레이어의 시야각 : 90 / 안개를 배치한다는 가정하에 초기 설정
  • 셀 크기(5120) : 약 50m x 50m 단위
  • 로딩 범위(15360) : 카메라 주변 약 150m 반경으로 셀 로딩
  • 셀 크기(15360) : 파티션 로딩범위와 일치 시킴
  • 로딩 범위(76800) : 약 768m로 셀크기의 약 5배 정도로 설정(더 줄여도 무방할거같음)

다음 할일 : PCG 최적화

0개의 댓글