Unity/정보

[Unity] AOS Fog of War 에셋

달시_Dalsi 2023. 12. 2. 02:13

AOS Fog of War 에셋 소개

이 에셋을 사용하여 전장의 안개 기능을 빠르게 게임에 적용시킬 수 있다.

심지어 무료이며, 유료 못지 않게 기능이 잘 구현되어 있다.

 

https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/aos-fog-of-war-249249

 

AOS Fog of War | 카메라 효과 | Unity Asset Store

Add depth to your project with AOS Fog of War asset from Fischl Works. Find this & more 시각 효과 options on the Unity Asset Store.

assetstore.unity.com

 

아래는 위 에셋을 설명하는 유튜브 영상이다.

https://www.youtube.com/watch?v=MnER3bD7LbA

 

 

https://www.youtube.com/watch?v=0xB7C-jrI9I

 

기본 세팅

1. 땅이 되어줄 Plane 생성 후 다른 물체들과 구별가도록 아무 머티리얼 적용

 

 

2. 장애물로 사용할 오브젝트 설치 후 장애물 레이어 설정 아래에선 water사용

 

 

3. 플레이어 배치, 에셋에 기본적인 컨트롤을 위해 cseyecontroller 스크립트가 있지만 이는 단순한 움직임 기능만 있으므로 사용자의 별도 스크립트를 사용해도 된다. 

 

 

4. FogOfWar 스크립트 설정하기 위해 빈 오브젝트에 csfogwar 스크립트 적용하고 

Fog Revealers에 화면을 밝혀주는 오브젝트를 넣는다. 그리고 sight range 숫자를 적당히 변경해주자.

Level Mid Point에 땅 오브젝트를 넣는다.

Fog Plane Material에 에셋에 있는 FogPlane을 넣는다.

Obstacle Layers에 아까 장애물에 설정한 레이어로 맞춘다.

 

5. 몬스터 오브젝트 배치하고 각각 csfogvisibilityagent 스크립트 적용시킨다. 그리고 위에서 만든 FogofWar를 넣어준다.

그리고 csfogvisibilityagent 스크립트의 52~62까지 줄을 지우자.

위에서 변수에 값을 넣으니 필요없다고 판단된다.

 

 

 

이렇게 하면 기본 세팅이 완료되며 아래와 같이 작동된다.

 

CsFogWar 스크립트에서 아래쪽의 Draw Gizmos를 체크하면 아래 화면처럼 어떤식으로 보이는지 확인 가능하다.

 

주요 스크립트

1. CsFogWar 

ㅡBasic Propertiesㅡ

Fog Revealers - 안개를 밝혀줄 오브젝트를 넣는 곳

Level Mid Point - 땅 역할을 할 오브젝트를 넣어야하며 이를 기반으로 스크립트가 작동되는 듯 하다.

옆에서 바라보면 확실히 알 수 있다.

 

Fog Refresh Rate - 안개가 새로고침되는 주기를 뜻한다. 

이게 10일때고 아래가 1일때 화면이다.

 

ㅡFog Propertiesㅡ

Fog Plane Height - 안개의 높이 설정

 

Fog Color - 안개 색 설정

Fog Plane Alpha - 안개 투명도 설정

Fog Lerp Speed - 안개의 속도 설정

 

ㅡLevel Dataㅡ

아래 사진처럼 지정한 이름으로 텍스트파일이 생성되며 여기에는 설정값들이 들어있다.

 

ㅡScan Propertiesㅡ

Lvel Dimension X, Y - 안개의 범위 설정

Unit Scale - 안개의 범위랑 똑같이 설정하는게 좋아보인다. 1로 고정하자.

Ignore Triggers - 장애물 오브젝트의 콜라이더에 트리거가 체크되어 있으면 장애물로 인식하지 않는다. 

추가로 이 스크립트는 시작될때 기준으로 장애물에 콜라이더의 on/off를 기준으로 판별하는듯하다.

콜라이더가 꺼져있으면 장애물로 인식안한다.

 

 

2. CsFogVisibilityAgnet

 

Fog War - CsFogWar 스크립트를 넣어준다.

Visibility - 안개에 가려져 플레이어에게 보여지지않으면 체크해제된다.

Additional Radius - 플레이어에게 보여지는 범위를 뜻한다. 높을수록 보여지는 감도가 넓어진다.

 

 

 

'Unity > 정보' 카테고리의 다른 글

[Unity] 모바일 게임 성능 최적화  (0) 2024.01.02
[Unity] 사운드 매니저  (0) 2023.12.03
[Unity] DOTween 사용하기  (0) 2023.11.27
[Unity] 구글 스프레드시트 연동  (0) 2023.11.14
[Unity] 스텐실 버퍼(Stencil Buffer)  (0) 2023.10.26