
Gerster Wave는 sine wave보다 좀 더 그럴듯한 품질을 가진 파도를 표현할 수 있다.
X좌표를 cosine으로 이동시켜 뾰족한 모양의 파도를 만든다.
의문해결
이렇게 하면 X가 움직여야 하는거 아닌가 했는데, 움직이는게 맞았다. 끝 부분 보니까 생겼다가 사라지는 부분이 생긴다. 0.09를 곱해주기 때문에 변동폭이 크지 않았고, 삼각함수라 순환하기 때문에 쭉 가지 않아서 그랬던 것.

거스너 웨이브를 서브 그래프로 만들고, 이전에 만든 물과 합친다.

이전에 했던 것처럼

물에 사용했던 노말맵에 아주 작은 값을 곱해서 Scene Position에 더해주면 굴절이 일어난다.
이렇게 하면 물에 잠긴 하반신 뿐 아니라 상반신 뒤에도 굴절이 일어나는데, 해결하려면 물에 잠긴 부분을 구분하는 복잡한 과정이 필요해서 보통 여기까지는 해결 안 한다.
물은 깊어질수록 불투명해지고, 땅과 맞닿는 부분은 투명하다.

Depth Fade를 이용해서 경계면을 부드럽게 만든다.

기존 셰이더에서 Alpha 값에 Depth Fade를 넣어주면 경계면 부분이 부드럽게 연결된다

원래 Lit 셰이더에 있던 Metalic이나 Smoothness는 하나도 사용하고 있지 않는데 들어가 있다.
사용하지도 않는 연산이 가동 중이니, 깔끔하게 Unlit으로 만들어준다.
대신 Specular는 나중에 더해줘야 함.
Depth Fade를 Alpha에 연결해서 투명도를 만드는 건 옳지 않다.
이미 Scene Color를 통해 투명도를 표현하고 있기 때문.
여기에 다시 Alpha를 이용해서 추가로 투명하게 할 필요가 없다.
그런데 Depth Fade를 통한 투명도를 알파 블렌딩으로 표현하면 굴절된 다리와 투명도로 인해 굴절되지 않은 다리가 겹쳐서 2개로 보이게 된다.
앞서 이미 물 깊이에 따른 투명도를 만들면서 투명도처럼 보이는 불투명 기능을 다 만들어놓았기 때문에, 이전 결과물에서 알파를 끊어주기만 하면 된다.
이렇게 되면 다리는 굴절되는데 Depth Fade는 굴절되지 않는다. Depth Fade도 다리와 같이 굴절되게 만들어야 한다. 이를 위해 굴절 연산을 적용한 Screen Position 값을 Scene Depth의 UV에 넣어준다.

스페큘러가 없기 때문에 추가해주고

Transparent라 로봇까지 그린 후 Screen Color를 받아오기 때문에, 물 밖의 로봇도 같이 굴절되는 현상이 일어난다.
Comparison 노드로 Depth Fade가 0보다 크냐 작냐를 통해 물보다 카메라에 가까이 있다면 굴절 없이 그냥 그려준다.
https://www.youtube.com/watch?v=_Iu88tZ9utE&list=PLQk3p-aJsSWTKKmuFwnzEVaf3ovKIg1jx&index=3

Edit > Preferences > Navigarion > Orbit Around Selection : 선택된 물체를 중심으로 회전
우측 상단 화살표 > Backface Culling : 앞쪽면만 보이게 설정 (유니티와 동일하게 보이게)
Num패드에 있는 . : 선택된 물체로 카메라 이동
물체 선택 > 우클릭 > Set Origin > Origin to 3D Cursor : 물체 피벗 설정
Tab : Edit 모드
A : 모든 오브젝트 선택
X : 삭제
Z : 렌더링 모드 변경
Shift+N : 노말 반전
Shift+S : 커서 위치 고르기
Cavity : 뷰포트 셰이딩(Viewport Shading) 옵션의 한 부분으로, 모델의 오목한 부분과 돌출된 부분의 조명을 조정하여 강조
Normals tab이 없길래 검색해봤더니 사라졌다고 함. 우클릭 > Shade Auto Smooth 하면 되는듯
https://blender.stackexchange.com/questions/316985/missing-normals-in-data

방 만듦
내일은 가구 채워넣기