TECHARTNOMAD | TECHARTFLOWIO.COM

UNITY3D 29

Unity 의 Cull Method.

Front Facing 을 직역하면 ‘전면’ 정도로 해석 된다. 3D 그래픽스에서 Face Culling 이라는 말을 종종 들어봤을것이다. Front Facing 인지 Back Facing 인지 판단 여부는 면의 노말 방향과 카메라 방향을 비교해서 판단한다.  Culling 을 하게 되면 렌더링에서 제외 하겠다는 뜻이다.유니티 엔진에 이미 구현 돼 있는 예약된 상태 키워드를 사용할 것이다. Cull [상태] 는 유니티 엔진 내부 ‘GFXRasterState’ 구조체의 cullmode 에 전달된다. winding-agnostic 상태 여부를 판별하여 그 여부에 따라 전면과 후면을 판별 하며 winding-agnostic 상태일 경우 정점 연결 순서 상관 없이 모든 면을 동일 한 면으로 판별하여 양면렌더링을..

UNITY3D 2024.12.03

SSAO and Kawase Blur

개인적으로는 SSAO 를 사용하지 않고 있고 이 전 프로젝트에서도 5년 전부터는 사용하지 않았습니다. 최근에는 GTAO 도 모바일 디바이스 게임개발 환경에서 자주 사용되고 있을 만큼 최적화가 되었습니다. 게다가 SSAO 를 아티스트나 아트디렉터분들이 별로 안좋아하더라고요... 시각적인 품질이 좀... ;1주일 전쯤부터 유니티6 렌더그래프에 GroundTruth AO 피처를 추가 하는 과정에서 피처와 페스 업그레이드 때문에 살펴 보던 와중에...  간단히 서머리 해 보는 것도 나쁘지 않겠다 생각이 들었네요.신입들을 만나게 되면 꼭 올드스쿨 이라고 해서 변천사를 좀 아는 것이 그 다음 5년 후의 변천과 미묘한? 연결점도 있다고 생각 합니다. 그리고 또 예전 기술의 일부는 여전히 쓰이고 있는 것도 사살 이거든..

UNITY3D 2024.10.28

Adaptive Probe Volume 데이터 스트리밍

2020년 중국 상해에 거점을 둔 거인네트웍(직원 3천명 규모로 30년 역사의 중견기업)에서 오픈월드 MMORPG 를 개발 할 때 사용했던 유니티 버전은 2019 쯤 됬던 것으로 기억합니다. 그 당시 라이트프로브 볼륨을 사용했었는데요... 큰 장면에서 메시브 하게 라이트프로브를 사용했을 경우 베이크 된 프로브 데이터 사이즈도 무시 못할 만큼 비대 해 졌습니다. 그래서 생각 했던 것이 어떻게 하면 스트리밍 할 수 있을지에 대한 것이었구요. 프로젝트 서포트 엔지니어링 부서와 함께 데이터를 스트리밍 하도록 개발하자는 것이었습니다. 어차피 라이트 프로브 그룹별로 생성 된 데이터를 따로 저장할 수 있는 API 가 존재 했고 그렇다면 플레이어 중심으로 충분히 프로브 데이터 그룹 셋을 스트리밍과 비슷하게 올리고 내릴..

UNITY3D 2024.10.09

URP의 Unity 렌더 그래프 시스템

유니티 공식 문서 렌더그래프 시스템 소개부터 활용까지의 내용을 소개 합니다. URP의 렌더 그래프 시스템 소개렌더 그래프 시스템은 유니버설 렌더 파이프라인(URP)에서 스크립터블 렌더 패스를 작성하는 데 사용하는 API 세트입니다.렌더 그래프 API를 사용하여 스크립터블 렌더 패스를 생성할 때 URP에 다음을 알려줍니다:사용할 텍스처 또는 렌더 텍스처입니다. 이 단계는 레코딩 단계입니다.레코딩 단계의 텍스처 또는 렌더 텍스처를 사용하여 실행할 그래픽 명령입니다. 이 단계는 실행 단계입니다.그런 다음 스크립터블 렌더 패스를 URP 렌더러에 추가할 수 있습니다. 스크립터블 렌더 패스는 URP의 내부 렌더 그래프의 일부가 되며, 이는 각 프레임을 통과하는 렌더 패스 URP 단계의 시퀀스입니다. URP는 렌더 ..

UNITY3D 2024.09.28

Custom Shadow Attenuation Tweak Example

라이팅과 렌더링쪽의 업무 서포트를 하다보면 개인적으로 인상파에 대한 귀결이라고 해야할까요. 픽셀은 병치 이고 빛과 그림자를 기조로 했던 인상파의 영향을 여전히 많이 받는것 같습니다. 그림자의 색조는 전체 톤앤메너부터 더 깊은 부분까지 매우 중요한 요소가 될 수 있습니다. 중국에서 프로젝트를 진행 하면서 이와 관련 된 많은 요구사항을 아트디렉터들에게 받은 경험과 제가 원래 서양화 전공 학도 였다는 점의 공통분모로부터 깊게 이해할 수 있는 대표적인 부분이라고 생각하게 되었습니다.2019년 쯔음에 몇 가지 프로젝트에 사용했던 그림자에 대한 사용자 어튜네이션 트윅 함수 소개 입니다. 특정 프로젝트의 스타일에 맞추 OnDemanded Feature 정도라고 볼 수 있겠네요. 대략 3개 프로젝트에 사용 됬고 아래 ..

UNITY3D 2024.09.25

클러스터드 라이팅 원리와 Forward+ 구현을 위한 실습.

5년 전 쯤에 중국 게임개발사에서는 디퍼드 렌더링을 모바일에 접목하기 보다는 포워드 렌더링 기반에서 아티스트의 수요 즉 Many lights 라는 문제를 해결 하는것에 집중이 되어있었습니다.당시에는 클러스터드 기반의 포워드 플러스 렌더링이 유니티에 없었기 때문에.... 대부분 직접 구현을 했었구요.거인 네트워크. 신동 네트워크. 퍼펙트 월드 등등... 텐센트는 물론이구요.아래 기사는 제가 중국에 있을 때 깊이 Z 에 대한 클러스터링 데이터를 어떻게 공간 셀을 형성하고 TBDR 의 2차원 타일 환경에서 라이트 인덱스를 관리 했었는지 간략히 소개하고 있습니다.2019년 10월.아래 글은 오래전 중국어로 작성 된 토픽을 다시 한국어로 바꾼거에요. ㅜㅜ본 기사는 해결 된 문제, 실현 원리, 실천의 세 부분으로 ..

UNITY3D 2024.09.22

RCAS ( Robust Contrast-Adaptive Sharpening )

AMD FSR 의 RCAS 를 셰이더토이에서 구현한 내용이 있어 공유 해 봅니다.FSR 은 RASU ( Edge-Adaptive Spatial Upsamping ) 후 RCAS ( Robust Contrast-Adaptive Sharpening ) 을 적용하고 한 후 업스케일타겟으로 결과를 넘긴 후 finalpass 완료 단계로 향하게 됩니다. Shadertoy0.00 00.0 fps 0 x 0www.shadertoy.com" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스/*A poor approximation of AMD FidelityFX FSRPotentially useful to upscale under-resolution renders.Currently only imp..

UNITY3D 2024.09.20

Unity Rendering Graph System.

유니티 역시 언리얼 RDG 와 유사한 RGS 가 꽤 오래전에 추가 되었습니다. 다만 최근 국내 게임개발에서 복잡한 시스템이나 규모 있는 프로젝트는 주로 언리얼 엔진을 사용하고 있는 편이고 작은 규모의 게임은 유니티로 개발 되고 있는 듯 합니다. 그래서 유니티 코리아 및 기타 국내 포럼등에서 RGS 에 대한 프로모트가 없다보니 관련 된 내용이 비교적 적더군요. 이후 인덱스 페이지를 만들면서 유니티 RGS 에 대한 정보들도 취합을 해 보는 것이 좋을 듯 합니다.유니티 RGS 메모. 유니티 도큐먼트 발췌.Rendering Graph System. https://portal.productboard.com/unity/1-unity-platform-rendering-visual-effects/c/2157-rende..

UNITY3D 2024.09.18