빈 공간 만들기(Unreal Engine 4)
9374 단어 UnrealEngine4UnrealEngineVRUE4
목표는 이'새하얀 아무것도 없는 세상'이다.
영화 "The Matrix"에 나오는 장면, 조지 루카스 감독의 데뷔작'THX1138'장면입니다. 등 공상과학 영화에서 가끔 보는 광경.흰색 캔버스 같은 공간이어서 무엇이든 자유롭게 할 수 있다는 가능성을 느끼면서 방향감각을 잃는 데다 공간에 입구도 출구도 없어 VR로 체험하면 머리가 혼란스러운 느낌이 든다.
주위의 모든 반응기를 흰색으로 설정해 보세요...
이 세상은 주변의 리액터를 흰색으로 설정하면 쉬울 것 같지만 베이스컬러만 흰색으로 설정하면 하얘지지 않는다.
Emissive Color를 사용하여 전체적으로 하얗게 변하지만, 바닥은 그림자가 보이지 않고, 주변을 둘러싼 반응기의 경계선이 약간 남아 있는 문제 등을 해결하는 방법도 간단하지 않다.
인터넷에서 설치 방법을 찾아봤자 제대로 된 답이 하나도 없다.
제작 요점
여러 가지 방법이 있지만 이번에는 연기자와 음영 부분을 제외한 픽셀을 모두 흰색으로 칠하는 방법을 간단하게 실현하고자 했습니다.Post Processing을 사용합니다.
관건은 두 가지다.흰색 픽셀을 잘라내는 방법, 그림자를 잘라내는 방법.
첫 번째 점에 관해서는 이번에는 Stncil Buffer를 사용합니다.Stencil Buffer는 렌더링에 사용되는 Color Buffer나 ZBuffer와 유사한 형식으로 추가 데이터를 유지할 수 있는 버퍼 메모리입니다."Stncil"이라는 단어 자체는 다음 그림에서 반복되는 워크시트를 나타냅니다.이 종이를 벽에 붙이고 분무기를 뿌리면 아래 두 번째 그림처럼 벽에 글자를 인쇄할 수 있다.Unreal Engine 4에서도 같은 기능을 사용하여 각 픽셀에 적용된 처리 부분과 적용되지 않는 부분을 분리할 수 있습니다.
다음은 Unreal Engine 4의 Stncil Buffer의 예입니다.공식 튜토리얼 비디오에서는 특정 대상에만 색을 보존하고 그 외에 desaturate를 하는 방법을 설명한다.
두 번째 점의 그림자를 잘라낸 다음에 구체적인 노드의 연결 방법과 함께 설명할 것이다.
구체적 절차
구체적인 방법을 좀 보겠습니다.이번에는 Unreal Engine 4.27.1을 사용했습니다.
Step 1. Stepil Buffer 사용
단계 Buffer는 Unreal Engine 4에서 기본적으로 유효하지 않습니다.일단 효과가 있죠?
Step 2. 그리려는 동작 및 비동작 설정
그런 다음 단계 Buffer에 그리려는 작업과 비작업을 저장합니다.
Stepil Buffer의 값인'001'이라는 숫자가 기재되어 있음을 알 수 있다.
Step 3. Post Process에서 단계 Buffer의 값에 따라 페인트를 칠합니다.
그런 다음 단계 Buffer 값에 따라 색상 구분 Post Process Material을 만듭니다.
그런 다음 Blendable Location을 Before Tonemapping으로 설정합니다.말 그대로 Tonemapping 이전에 Post Processs를 실행한다는 의미이지만, 이 설정은 그림자의 커팅과 혼합 저항 등에 영향을 미치기 때문에 필요하다.
또 하나 중요한 것은 Enable Stncil Test에서 체크하고 Not Equal 1의 조건을 설정해야 한다는 점입니다.이렇게 되면 Stncil Buffer 값이 1이 아닌 픽셀에는 Post Processs 처리가 적용되며, 값이 1인 픽셀은 Post Processs의 영향을 받지 않고 그대로 유지됩니다.
2. 세상에 설치
Post Process Material을 세계에 설치하고 Post Process 소재를 설정합니다.
또한 Infinite Extent(Unbound)를 확인하는 것도 잊지 마십시오.
3. 음영 부분을 잘라 다른 픽셀을 흰색으로 칠한다
Post Process 소재의 노드는 이번에 다음과 같습니다.
방금 미뤄진 영마의 커팅 처리를 설명하려고 했는데, 실제로는 이곳에서 실시된다."ScenTexture:BaseColor(as stored in Gbuffer)"의 값에서 "ScenTexture:PostProcess Input0"의 값을 빼면 되지만, 이 두 드로잉 데이터의 차이는 그림자의 부분이기 때문에 이 두 차이를 보고 그림자만 잘라낼 수 있습니다.그리고 조건에 따라 갈려서 흰색으로 칠하고 싶은 곳의 값만 설정합니다.
그나저나 흰색을 칠한 픽셀은 Emissive Color이고 값은 10이다.이 값은 크면 클수록 하얗지만, 이 값이 클수록 블룸의 영향으로 전체적으로 하얗게 변하고, 블룸을 빼도 모션 블러의 드로잉 결과가 다소 조화롭지 못할 수 있다는 문제 등이 있어 이번에는 수치를 10으로 설정했다.
그렇다면 대체로 필요한 결과다.
전체적으로 검정색으로 대비도가 낮지만, 세계 곳곳에 설치된 포스트 프로세스 볼륨의 설정(Bloom·노출·대비도 등)을 바꾸면 조정이 가능하다고 본다.이번에 나는
당신은 이 글의 첫 번째 그림과 같은 세상을 만들었습니다.
놀다
이렇게 해서 하얀 공간이 완성되었다.개념적인 공간이기 때문에 각양각색의 물건을 배치하는 것이 항상 추상적인 공간이라고 생각하고 상당히 좋은 공간이다.
NG 모드
마지막으로 조금만 보충할게요.이번에는 Stncil Buffer를 사용하여 픽셀을 흰색으로 칠했지만 After Tonemapping으로 이 처리를 수행하면 배경이 완전히 흰색으로 변한다. 이런 장점은 다른 쪽 그림자를 잘라내기 어려워진다는 것이다.이는 Tonemapping의 영향으로 그림자 커팅에 사용된'ScenneTexture:PostProcess Input0'의 값이 바뀌면서'ScenneTexture:BaseColor(as stored in Gbuffer)'와 차이가 커졌기 때문이다.실제로 이번 상황에서 해보면 바닥의 색깔이 변화의 영향을 받아 바로 드러난다.
그렇다면 좋겠다. 색에 한도값을 설정하고 어떤 색보다 하얀 픽셀을 모두 하얗게 칠해 보자.이렇게 되자 이번에는 별명이 생겼다(실제로 그림자의 커팅과도 관계가 있어 이 부근의 설정은 좀 복잡하다).
실제로 해보면 알겠지만, 별명이 더러운 문제 이전에 화면이 상당히 흩어져 체험용으로 매우 나쁜 것이 되었다.따라서 이 방법은 문자와 같이 흰색 배경을 얻을 수 있지만 추천하지는 않는다.
Reference
이 문제에 관하여(빈 공간 만들기(Unreal Engine 4)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/dosada/items/220a7614b3182dfe9a2a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)