2017-11-21 20 views
0

안개와 같은 객체의 볼륨을 생성하고, 내가 쉐이더 다음 만들었습니다 그러나 enter image description here내가 유니티 안개 쉐이더 함께 일하고 있어요

을,이 쉐이더는 텍스처를 복용하고 표면을 슬라이드한다 개체의 2D 안개에는 문제가 없지만 객체의 볼륨을 채우는 셰이더를 만들고 싶습니다. 유니티에서 내장 된 안개 효과를 알고 있지만 객체의 크기에 집중할 수있는 것을 좋아합니다.

쉐이더를 통해 달성 할 수있는 것입니까, 아니면 다른 경로를 사용해야합니까? 나는 ShaderLab : Legacy Fog로 엉망으로 만들려고했지만, 구식이되어 효과적으로 작동하지 않는 것 같습니다.

+0

쉐이더는 서페이스와 함께 작동하기 때문에 쉐이더가 도움이되지 않는다고 생각합니다. 안개가있는 볼륨을 채우기를 원하기 때문입니다. 하지만 그건 제 의견이고 아마도 제가 틀 렸습니다. UPD : 아마도 입자가 속임수를 쓸 것입니다. – obywan

+0

그래, 나는 생각했다. 나는 이것을 발견했는데, 다소 효과가있다. https://forum.unity.com/threads/spherical-fog-shader-shared-project.269771/ –

답변

0

이것을 달성하는 데는 여러 가지 방법이 있으며 대부분이 안개 볼륨의 범주에 속합니다. 셰이더 프로그래밍에 익숙하지 않다면 작업이 다소 어려울 수 있지만 사용할 수있는 샘플과 애셋이 있습니다.

쉐이더는 처리되는 점의 전역 상수 및 로컬 정보 만 인식하므로 (주어진 픽셀은 주변 설명에 액세스 할 수 없습니다) 문제가 있습니다. 원하는 것을 얻기 위해서는 픽셀이 속한 모양이나 환경에 대한 정보가 필요합니다.

임의의 메쉬에서 가장 간단한 방법은 해당 지점에서 장면의 깊이를 샘플링하는 것입니다 (사전 렌더링되고 텍스처에 저장 됨). There are a bunch of macro to help you with that. 포인트의 깊이와 포인트의 깊이를 알게되면, 그 포인트에 대한 안개의 강도를 알아내는 일련의 작업을 수행 할 수 있습니다.

부드러운 입자 쉐이더는 built-in shaders에서 볼 수 있습니다. 이것은 정확한 불투명도에 가까워지면서 오브젝트가 흐려지는 과정입니다.

+0

이론적으로는이 질문에 답할 수 있지만 (//meta.stackoverflow.com/q/8259) 여기에 답변의 핵심 부분을 포함하고 참조 용 링크를 제공하십시오. 보다 나은 "링크 기반"답변을 작성하는 방법은 [here] (https://meta.stackexchange.com/a/94027/285661)를 참조하십시오. 감사! – GhostCat