Inkoid 최적화 내용 정리

2025. 11. 30. 15:55·Unity 3D/Inkoid

주로 무기/탄환/색칠 담당자였으므로 제가 한 부분부터 최적화를 시작했습니다.

 

 

1. 유도탄

1발에서 4발씩 발사하게 하는 매커니즘 변경으로 인한 최적화 필요

 

(1) 기존

1) 동기화를 위한 포톤뷰 컴포넌트로 인한 네트워크 부하 증가
2) 생성/파괴를 통한 GC 발생

 

(2) 변경

1) 탄환을 발사할 때만 그 정보를 RPC로 전달 >> 더 가볍게 하려면 RaiseEvent로 변경해보기
    각각 로컬 클라이언트에서 유도탄을 생성하고 움직임을 제어하도록 변경 >> 네트워크 부하 완화

 

2) 오브젝트 풀링
탄환 생성 통신을 받으면 정보에 맞게

각각 로컬클라이언트에서 탄환을 생성하고

사용이 끝난 탄은 비활성화 상태로 로컬 오브젝트 풀에 넣고

다음 탄환 생성 호출 시 풀에 남은 오브젝트가 있다면 이를 다시 쓰게끔 하는  방식을 통해

생성/파괴에서 발생하는 GC 절감

 

 

 

2. 드릴 무기 통신 최적화
드릴 무기 스크립트가 FixedUpdate() 주기로 RPC를 계속하고 있었음
>> 필요할 때만 1번씩 통신하게 하여 통신 최적화

 

 

 

3. GetComponent<>() 남용 완화

총알 발사 시, 동일한 컴포넌트를 3번이나 찾는 곳이 있었음

각각 다른 스크립트에서 다른 작업자들이 작업한 내용

 

GetComponent<>()도 성능을 꽤 먹는 메서드 중 하나라 런타임 중 남발하면 안됨에도 총알 발사 같이 슈팅 게임에서 매우 자주 일어나는 매커니즘마다 여러 번 쓰이고 있었음

한번은 컴포넌트를 가져오는 과정이 필요했기에 한번만 찾고 여기서 필요한 매커니즘들을 수행하게끔 통합

 

 

 

4. 이펙트 (파티클 이펙트)

(1) 탄환 발사/타격 이펙트의 Light, Glow, Glow Impact 제거

해당 오브젝트들을 에셋 스토어에서 구매 시 들어있어서 관성적으로 썼었는데 모바일 포팅까지 목표로 두고 있어 사소한 것도 넘길 수가 없었음

 

그림자, 빛 번짐 효과는 Inkoid 게임 그래픽에서 크게 중요한 것이 아니었기에 해당 컴포넌트들 비활성화 후 관찰 >> 기존과 큰 차이 없음 >> 해당 오브젝트들 삭제 >> 성능 부하 크게 완화


(2) 파티클 수 줄이기

물방울 튀는 이펙트들 중 수량이 많이 튀는 것이 있어 이룰 줄임

RPG의 경우 넓은 범위를 커버하는 느낌이 들어야 하기에 파티클 크기를 키우고 수를 줄여 최적화

 

(3) 파티클 라이프타임 줄이기

현재 매우 긴 라이프 타임. 눈에 보이는 것보다 더 길게 라이프가 유지됨 (2.5초 -> 1초)

저작자표시 비영리 동일조건 (새창열림)

'Unity 3D > Inkoid' 카테고리의 다른 글

Inkoid 튜토리얼 제작  (0) 2026.01.11
게임 최적화 공부 정리  (0) 2025.11.30
지스타 2025 출품 이후 Inkoid 무기 개편  (0) 2025.11.25
'Unity 3D/Inkoid' 카테고리의 다른 글
  • Inkoid 튜토리얼 제작
  • 게임 최적화 공부 정리
  • 지스타 2025 출품 이후 Inkoid 무기 개편
ybbro
ybbro
대부분의 포스팅은 pc에서 작성되었습니다. 모바일에서 볼 때 설명이 잘리면 데스크탑 모드를 사용해보길 바랍니다.
  • ybbro
    어떻게든 굴리는 게임 공방
    ybbro
  • 전체
    오늘
    어제
    • 전체
      • 스파르타코딩클럽_Unity개발과정
      • Unity 2D
        • 카드게임
        • 플랫포머 게임
        • 뱀서라이크
      • Unity 3D
        • 닷지
        • 유니티 짱
        • 디펜스 게임
        • Inkoid
      • Unity 에러 노트
      • 기능 구현 방법 정리
      • 셰이더 그래프
        • 2D
        • 3D
      • 프로그래머스
      • 자료구조
      • 기타
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    다크모드
    마스크
    유니티
    스파인
    룰렛
    hello
    삭제
    UI
    잔상
    무료스킨
    sprite mask
    대시
    64비트
    유니티 애니메이터 파라미터 초기화
    unity
    세이브
    텍스트매시프로
    직렬화
    갤럭시 S24
    앱이 휴대전화와 호환되지 않아 설치되지 않았습니다
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
ybbro
Inkoid 최적화 내용 정리
상단으로

티스토리툴바