잡다한 팁 및 이것저것

월드 파티션

  1. 월드 파티션에 여러개의 그리드를 사용하면 높은 확률로 게임이 터진다.
    • 최적화를 위해서, 그리드를 여러개 나누어 각 로드 범위를 다르게 주고 사용했었다.
    • 됐다가 안됐다가 자꾸 지랄나서 그냥 과감하게 통합했더니 멀쩡해짐
  2. 월드 파티션에 서브레벨로 사용되는 레벨 블루프린트에는 아무것도 하면 안된다.
    • 서브레벨로 사용할 레벨의 레벨블루프린트에다 코드를 작성하면 아래와 같은 일이 생긴다.
    • 메인레벨에 배치하려고 했을 때, 에디터가 멈춘 뒤 반응없음
    • 정상적으로 배치한 뒤에, 레벨 블루프린트에다 코드를 작성할 경우, 플레이에는 문제가 없으나 편집을 위해서 불러오는 과정에서 멈춘다

최적화

  1. 스켈레탈 메시도 병합이 가능하다.
  2. 캐릭터 틱도 많아지면 부담
    • 배치된 몬스터가 늘어나면서, 틱이 부담되기 시작했다.
    • 틱 주기를 명시적으로 설정해서 틱 빈도를 낮췄다.
  3. 눈으로 보여지는 컴포넌트들은 보여지는 거리를 설정할 수 있다.
    • 컬 디스턴스 볼륨 배치가 귀찮으면, 이 방식도 고려해볼만 하다.
         MyComponent->LDMaxDrawDistance = NewDrawDistance;
      

기타

  1. 유저세팅값은 따로 파일로 만들어져서 자동 저장된다.
    • 내가 저장해야 할 것은, 유저세팅에서 제공하지 않는 옵션들 뿐이다.
  2. 클로스 시뮬레이션을 잠깐 중지하고 싶다면 다음 코드를 사용
      //멈춤
      GetMesh()->SuspendClothingSimulation();
      //재시작
      GetMesh()->ResumeClothingSimulation();
    
  3. 랜덤 셀렉터를 만들어서 쓰면 편하다.
    • 행동트리에서 균등 확률로 하나 골라서 실행하고자 할떄 좋다.
  4. 텍스처 퀄리티가 계속 뭉개지면 스트리밍 풀의 용량을 콘솔 명령어로 직접 늘려주면 된다.
    • 사용자 옵션으로 제공해도 괜찮을듯