플레이어가 수중으로 갈 수있는 많은 게임에서 화면의 절반이 공중에 있고 화면의 절반이 물에있는 곳을 보면 물이 존재하지 않는 것처럼 보입니다. 물 소리와 함께 천천히 날고 있습니까?
이것을 해결할 수있는 논리적 인 방법이 있습니까? 알고리즘? 많은 게임이 여전히 이것을 가지고 있기 때문에 아직 해결책이 나오지 않은 것 같습니다. 나는 같은 실수를하고 싶지 않다.
플레이어가 수중으로 갈 수있는 많은 게임에서 화면의 절반이 공중에 있고 화면의 절반이 물에있는 곳을 보면 물이 존재하지 않는 것처럼 보입니다. 물 소리와 함께 천천히 날고 있습니까?
이것을 해결할 수있는 논리적 인 방법이 있습니까? 알고리즘? 많은 게임이 여전히 이것을 가지고 있기 때문에 아직 해결책이 나오지 않은 것 같습니다. 나는 같은 실수를하고 싶지 않다.
답변:
이 상황을 단순히 허용하지 않는 것은 어떻습니까?
게임을하는 방법을 모르겠지만 뷰가 부분적으로 수중임을 감지하면 카메라가 물 위에 오도록 할 수 있으며 전체 뷰가 물 아래에있을 때만 수중보기.
어떻게하는지에 따라 다이빙을 시작한 순간부터 실제로 수면 아래에서 장면을 볼 때 추가 지연이 발생할 수 있습니다. 이것은 실제로 UX 관점에서 좋은 것일 수 있으므로 자유롭게 실험하십시오.
별도의 그러나 관련 메모에서, 대부분의 수중 장면이 왜 선명하게 보이는지 궁금합니다 ... 머리를 수중에두면 눈이 수중 시야를 위해 설계되지 않았으므로 모든 것이 흐릿하게 보입니다. 실제로 수중을 실제로 보려면 고글을 착용해야합니다.
또한, 물 위의 물과는 매우 다른 수중 모습을 보입니다. 물은 공기보다 빛을 훨씬 빨리 흡수하므로 빛이 멀수록 눈에 도달하는 빛이 줄어 듭니다. 이것은 당신이 더 깊게 갈수록 더 푸른 것들이 보인다는 것을 의미합니다 (적색광은 에너지가 적기 때문에 청색광보다 더 쉽게 흡수됩니다). 실제로, 수중 12 미터에 불과한 혈액은 붉은 색이 아닌 검은 색으로 보입니다.
나는 수중 환경을 올바르게 시도하는 비 특수 게임을 아직 보지 못했습니다 ...
당신이 말하는 문제는 카메라의 뷰 볼륨 클리핑을 수면을 통한 것과 관련이 있습니다. 일반적인 "수중 효과"는 전체 화면 후 처리 효과를 통해 수행되며 뷰가 이와 같이 잘 리면 제대로 표시되지 않습니다 (반대 문제 일 수 있음).
클리핑 케이스 (잠재적으로 어려운)를 감지하고 그렇지 않으면 전체 화면 수중 효과를 가위로 자르거나 자르더라도 수중 장면 (탐색 할 수있는 잠재적 인 솔루션)에만 적용됩니다. 실제 수상 비행기 자체의 문제. 전환은 여전히 무서운 시각적 인 인공물이있을 것입니다. 그 비행기를 감지하고 크게 흐리게 할 수 있습니다. 이것은 아마도 부분적으로 잠긴 카메라 렌즈를 통해 보는 것과 실제 세계에 가장 가까운 것입니다.
또는 플레이어가 수면 아래에 있거나 수면 아래에있을 때 카메라가 수면 아래로 가게하지 마십시오. 이것은 물 위 / 아래의 개별 플레이어 작동 모드가있는 경우에만 작동하며, 물리적 인 버튼이나 플레이어가 "표면에서 수영"과 "아래에서 수영"사이를 전환하기 위해 취할 수있는 명확하고 명백한 조치가있는 경우에 가장 효과적입니다. 표면."
명시적인 키 스트로크 대신에, 카메라가 "다이빙"을 의미 할만큼 충분히 튀겨 진 상태에서 전방 움직임을 해석 할 수 있습니다. 그런 다음 그래픽 효과 (스플래시 또는 기타)를 사용하여 일반적으로 교차 할 수없는 수면을 통한 카메라 전환을 숨길 수 있습니다.
우리는 Guild Wars 2에서 이와 같은 기술을 사용했습니다.
게임은 일반적으로 카메라가 수중에있을 때 주로 푸른 안개와 같은 효과를냅니다. 가까운 평면이 수면을 통과하는 상황을 처리하기 위해 카메라가 수면에 가까워지면 안개 쉐이더를 켤 수 있지만 픽셀 쉐이더에 코드를 추가하여 해당하는 평면의 점을 계산합니다. 해당 지점이 수면 아래에있는 경우에만 안개를 활성화합니다.
안개가 후 처리로 수행되는 경우 전체 화면 패스를 렌더링하여 특히 쉽습니다. 가까운 평면에서 전체 화면 쿼드 또는 삼각형의 각 정점의 월드 공간 위치를 계산하면됩니다 view / projection matrix), 픽셀 쉐이더까지이 값을 보간합니다. 수직 구성 요소를 확인하여 수면 위 또는 아래에 있는지 확인할 수 있습니다.
보너스 포인트의 경우 같은 기술을 사용하여 수면 두께 의 수막 두께의 텍스처를 추가 하여 수면 의 메 니스 커스 를 나타낼 수 있으므로 예리한 선처럼 보이지 않습니다.
두 가지 방법이 있습니다. 하나는 쉐이더를 사용하고 다른 하나는 GUI를 사용할 수 있습니다. 둘 다 동일하게 시작됩니다.
"간체"- If, Object(Camera) is in 3d Space(Water bounding box/whatever you choose) trigger a shader/GUI.
쉐이더 더 현실감을 줄 것이다, 당신은 왜곡을 적용 할 수 있습니다 이와 같은
Com 같은 안개. 소년은 GUI를 통해 적용 할 수 있다고 말했습니다. 부분적으로 투명한 사진을 만들고 전체 카메라보기에서 GUI로 사용하십시오. 당신이 제공 한 사진을 위해 나는 갈색을 시도 할 것입니다.
이것은 Drea D Out이라는 공포 게임에서 사용되었습니다. 플레이어가 유령에 접근하면 화면이 안개로 바뀝니다. 수 중에서 사용되지는 않았지만 비슷한 효과를 나타 냈습니다 :)
항상 두 가지 방법을 모두 선택하거나 색상을 변경하는 셰이더를 만들 수 있습니다.
Taken from : http://sahdan-share.blogspot.com/2013/04/dreadout.html