Sugar

[Unity] URP-Based Water Shader(Feat.Boat Attack) (유니티 URP 모바일 최적화 물 셰이더 간단 적용)

by Sugar0810

※ Practical Environment

  • Github
  • Unity Editor Version - 2021.3.11f1
  • Package
    • Universal RP(Ver 12.1.7)

 

 

※ Intro

 

 

※ Boat Attack 프로젝트 특징

  • Unity Universal RP 사용
  • 모바일 최적화, 낮은 폴리, LOD
  • C# 작업 부력 시스템
  • 시네머신 카메라 설정
  • 셰이더 그래프 사용
  • 볼륨 블렌딩을 사용한 포스트 프로세싱 v3
  • SRP 콜백 을 통한 평면 반사를 위한 맞춤형 범용 RP 렌더링
  • WaterFX 및 Caustics에 대한 사용자 지정 SciptableRenderPass 사용
  • 현지 패키지(WIP)의 Gerstner 기반 물 시스템
  • 데모 영상 보기

 

 

※ Unity Korea - [튜토리얼] Boat Attack Water System

image

image

작동 원리와 물 셰이더 프로그래밍, 코드 해석의 도움을 받을 수 있습니다.

 

 

※ Apply

적용 방법은 매우매우 쉽습니다.

image

위의 URL에 접속하여 프로젝트를 Fork합니다.

imageimage

  • Github Desktop

Fork한 프로젝트를 Clone해줍니다.

image

  • Packages Folder

Clone한 프로젝트의 패키지 폴더에 진입하면 'com.verasl.water-system' 폴더가 있습니다. 이것이 물 셰이더를 사용할 수 있도록 별도로 커스텀 패키징한 폴더입니다.

이 폴더를 적용할 프로젝트의 Packages 폴더에 복사하고 유니터 에디터로 돌아갑니다.

imageimage

  • 패키지 설치 확인

imageimage

  • Error

적용 했을 때 이런 에러가 발생한다면 Dependencies 아래의 요구되는 3개의 내장 패키지가 설치되어 있는지 확인 후 설치합니다. 보통 URP 템플릿으로 프로젝트를 실행하면 오류는 뜨지 않습니다.

  • Mathematics
  • Burst
  • Render-Pipelines Universal(Universal RP)

image

  • 적용 방법 1 (추천)

Packages -> Boat Attack Water System -> SeaVisual 프리팹을 하이어라키로 드래그 & 드랍

imageimage

  • 적용 방법 2

빈 오브젝트를 생성한 뒤 'water' 스크립트를 컴포넌트에 추가해줍니다. 혹시 씬 뷰에 적용되지 않았다면 오브젝트를 재활성화 해줍니다.

추가 설정이나 사용법은 위의 영상 4분15초부터 보시는걸 추천드립니다.

image

마지막으로 위 사진의 'Always Refresh를 체크하면 씬 뷰를 실시간으로 새로고침 해줍니다.

 

 

※ Reference Site

블로그의 정보

Sugar

Sugar0810

활동하기