기존에 결과 동영상만 올려놓았던 프로젝트 : https://88-it.tistory.com/21
를 이 글에서 좀 더 자세히 다루고자 합니다.
개발 배경 : 유니티 Shader를 이용한 개발 및 사실적인 이미지 표현
주제 : 비 오는 거리 ( 아래 현상 참고 )
- 가로수 길 배경, 물결, 비, 물의 파동, 반사, 물이 차오르는 애니메이션, 화면 일그러지는 효과 구현
위 사진을 참고하여 구현
< 배경 구현 >
1. 벽 구현
Texture, Normal Map, Occlusion, Smoothness 사용
2. 바닥 구현
Smoothness을 0.5 정도 주어서 매끄러움을 표현하여 물에 젖은 것처럼 표현
3. 보도 블럭
< 물결 구현 >
구현하기 위해 Vertex shader 사용
Sin(_Time.y + v.vertex.x) 위 방정식을 v.vertex.y, v.normal.z 적용
세부 조정 사항들
-스피드
-높낮이
-한 번에 얼마나 많이 굴곡이 생겨날 것인지
_Scale * sin(_Time.w * _Speed * _Fre + (v.vertex.x + v.vertex.z))
평면보다는 대각선이 좀 더 생동감이 있어 식 변경
결과 영상 :
그 후에 Alpha:fade 적용하여 투명하게 설정
< 물의 특징 - 시점에 따른 깊이 변화 >
물의 특징 : 우리가 직각으로 내려다보는 각도에 가까워지면 투명함이 크고 각도가 평행해지면 반사가 큼
Fresnel 공식
카메라를 바라보는 면이 밝고 카메라와 각도가 벌어질수록 어두워 짐
float rim = saturate(dot(o.Normal, IN.viewDir));
rim= pow(rim, 1.5);
o.Emission = rim * 2;
물결 및 물의 특징에 대한 최종 영상 :
< 비, 작은 물결 구현 >
Particle을 이용하여 비 및 작은 물결 구현
2장에 이어서 설명.....
2019. 2학기 개발
댓글