자작 게임(HHK)에서 사용한 기술 공유

이 문서는 언리얼 엔진 4 (UE4) 2 Advent Calendar 2018의 첫 날입니다.

1 일째이므로 가벼운 주제로합시다.

올해 10월에 행해진 음성 로이드 게임 잼에서 작성한, Hyper Highspeed Kiritan으로 만든 처리 중, 응용이 어려운 녀석을 몇개 소개할까 생각합니다

게임은 여기.
무료이므로 꼭


연말에 제2회
관심이 있는 분은 이쪽도 잘 부탁드립니다

이상, 선전 끝! !
본편에 들어갑니다

파이프 용 프로 시저 재질



파이프 패턴(링, 라인)은 프로시저 머티리얼을 사용합니다.

HHK에서 요구한 사양으로서는 이하와 같았습니다
  • 링, 라인 수와 너비는 조정 가능해야합니다
  • 게임 진행에 따라 색상을 변경할 수 있음

  • 전체상은 이쪽


    링, 라인의 폭 조정 부분은 이하와 같다.
    선명한 모양을 원했기 때문에 ValueStep을 사용하여 이진화하고 있습니다.
    TilingScale, LineScale의 Parameter를 조정하는 것으로 수와 폭을 조정할 수 있도록 하고 있습니다


    색상 변화는 MaterialParameterCollection을 사용했습니다.
    이것 하나로 파이프 전체의 색을 변경할 수 있으므로, DynamicMaterialInstance를 사용하는 것보다 편하게 처리할 수 있습니다


    파라미터 커브화



    가속, 감속시에 사용하는 가속도 파라미터는 직관적인 조절이 가능하도록 FloatCurve를 사용했습니다.
    커브 애셋을 사용하여,
    "저속 상태에서 가속하기 쉽고 싶다"
    「고속 상태로부터의 감속을 하기 쉽게 하고 싶다」
    같은 감각적인 요구를 충족하기 쉽습니다.

    0~1의 범위에 들어가는 것은 Lerp와 같은 감각으로 사용할 수 있도록 하기 위해서입니다.
    이 방법은 매우 추천합니다.


    또, 커브 애셋은 「변화량」을 취급하는 파라미터에 대해서라면 널리 응용이 가능합니다
    아래 그림의 Curve는 코스의 최대 곡률을 지정하는 곡선 자산입니다(가로축은 섹션 수)
    조금 코스가 어렵다고 생각했을 때는 이 곡선 애셋을 수정하는 것만으로 난이도 조정을 실시할 수 있습니다


    최적화 관련



    이 게임은 일단 최소한의 최적화를 실시하고 있기 때문에, 소지의 Android 단말에 던져도 60FPS를 유지할 수 있습니다
    (또한 기종은 GalaxyS9입니다. 좀 더 약한 단말에서도 아마 괜찮습니다)

    PC에서도 최저 동작 환경을 만족하지 않는 환경 이외에서는 정상적으로 실행할 수 있습니다
    (이쪽은 프로파일 링 할 수 없지만 ...)

    수행한 최적화 대응은 다음과 같습니다.
  • 가능한 한 액터의 틱을 멈추십시오
  • 사전 생성 된 액터 수를 줄입니다.
  • 사전 생성 및 유지할 섹션 수를 조정 가능하게 유지
  • SphereMask를 함께 사용하여 갑자기 생성 된 것처럼 보이지 않도록 고안합니다

  • 화면에 나타나지 않는 Actor를 신속하게 Destroy
  • 뒤로 지나간 후에는 다시 표시하지 않기 때문에


  • 정말 최소한이지만 이것만으로도 충분히 효과가 나옵니다 (특히 DrawCall)

    매우 가벼운 내용이었습니다.

    내일은 우리 보스, alwei의 기사입니다.

    좋은 웹페이지 즐겨찾기