[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
작동 원리와 물 셰이더 프로그래밍, 코드 해석의 도움을 받을 수 있습니다.
※ Apply
적용 방법은 매우매우 쉽습니다.
- Boat Attack Project
- https://github.com/Verasl/BoatAttack
위의 URL에 접속하여 프로젝트를 Fork합니다.
- Github Desktop
Fork한 프로젝트를 Clone해줍니다.
- Packages Folder
Clone한 프로젝트의 패키지 폴더에 진입하면 'com.verasl.water-system' 폴더가 있습니다. 이것이 물 셰이더를 사용할 수 있도록 별도로 커스텀 패키징한 폴더입니다.
이 폴더를 적용할 프로젝트의 Packages 폴더에 복사하고 유니터 에디터로 돌아갑니다.
- 패키지 설치 확인
- Error
적용 했을 때 이런 에러가 발생한다면 Dependencies 아래의 요구되는 3개의 내장 패키지가 설치되어 있는지 확인 후 설치합니다. 보통 URP 템플릿으로 프로젝트를 실행하면 오류는 뜨지 않습니다.
- Mathematics
- Burst
- Render-Pipelines Universal(Universal RP)
- 적용 방법 1 (추천)
Packages -> Boat Attack Water System -> SeaVisual 프리팹을 하이어라키로 드래그 & 드랍
- 적용 방법 2
빈 오브젝트를 생성한 뒤 'water' 스크립트를 컴포넌트에 추가해줍니다. 혹시 씬 뷰에 적용되지 않았다면 오브젝트를 재활성화 해줍니다.
- 주의 : 셰이더는 y가 0기준으로 정상 작동하므로 이 기준에 맞추어 오브젝트들의 y값을 조정해야합니다.
- Unity Korea - 내 URP 프로젝트로 물 시스템 가져오기. 모바일 플랫폼을 위한 물 표현 (6/6)
추가 설정이나 사용법은 위의 영상 4분15초부터 보시는걸 추천드립니다.
마지막으로 위 사진의 'Always Refresh를 체크하면 씬 뷰를 실시간으로 새로고침 해줍니다.
※ Reference Site
'⚙️ Programming > C# & Unity' 카테고리의 다른 글
[Unity] Custom Hierarchy for Unity Ver1.2.0 (Feat.Febucci) (유니티 하이어라키 가독성 향상) (0) | 2023.08.14 |
---|---|
[Unity AR] Import Vuforia Model Target SDK (0) | 2023.08.14 |
[Unity] RS232 Serial(유니티 RS232 시리얼 통신) (0) | 2023.08.14 |
[Unity] Arduino Serial(유니티 아두이노 시리얼 통신) (0) | 2023.08.14 |
[Unity XR] Android Build Setting(유니티 XR 안드로이드 최적화) (0) | 2023.08.14 |
블로그의 정보
Sugar
Sugar0810