TECHARTNOMAD | TECHARTFLOWIO.COM

UNITY3D 53

모바일 스킨 셰이더 개발 시 참고 사항. 2019 버전.

6년 전 쯤? 모바일 프로젝트 때문에 개발하던 셰이더와 관련 해서 중국어로 작성 해 놨던 페이지가 보여 다시 한국어로 전환 해서 블로그에 올려봅니다.핵심 요약목적본 문서는 OpenGL 3.2 이상을 지원하는 기기에서 스킨 셰이더를 구현하기 위한 기술적 고려사항을 설명.범위듀얼 로브 스킨.방법론What is the dual lobe specular?듀얼 로브 스페큘러(dual lobe specular) 기술은 두 개의 독립적인 정반사 거칠기 값을 사용하여 최종 렌더링 효과를 처리합니다. 이 방식은 고품질의 서브픽셀 디테일을 통합하여 피부의 미세 특성을 정밀하게 시뮬레이션함으로써 더욱 사실적인 시각적 표현을 구현합니다. 사실 이 부분은 2013년부터 사용되어 널리 알려져 있었으며, 다만 Epic Games..

UNITY3D 2025.02.18

유니티 6.2 렌더링 패스

유니티 포럼에서 유니티 엔지니어의 말. Forward투명 및 불투명 오브젝트를 한 번에 하나씩 렌더링합니다. 각 오브젝트에 대해 영향을 미치는 광원 목록을 바인딩. GPU에서는 이 목록을 반복하며 조명을 누적.이 방식의 장점은 매우 단순하고 CPU 비용이 낮다는 것입니다. 매우 단순한 장면에서는 이 방식이 유리.단점은오버드로우, 즉 나중에 다른 지오메트리에 의해 가려질 픽셀의 조명 처리에 비용이 발생.광원 수가 제한적.GPU 기반 렌더링 및 GPU 오클루전 컬링과 호환되지 않음.Forward+CPU에서 Burst를 사용하여 모든 가시 광원과 반사 프로브를 스크린 스페이스 클러스터로 정렬. 각 스크린 스페이스 클러스터에 대한 광원 목록이 생성되면 이를 GPU로 업로드한다. 투명 및 불투명 오브젝트를 이제 ..

UNITY3D 2025.02.10

Scene Templates 좀 알아보자.

저녁 시간에는 주로 유니티로 MMO 를 개발하는 회사를 컨설팅 하고 있는 터라 스트리밍 터레인 예제를 제작해야 하는데 뭐 문서 보다가 씬템플릿이 있길레 뭔가 하고 해서 유니티 문서 기반으로 정리 해 본것이다.Scene Templates새로운 씬을 만들기 위해 Unity는 Scene Template(시작하고자 하는 모든 콘텐츠가 포함된 사전 구성된 씬)을 복사한다. 예를 들어, 기본 템플릿에는 카메라와 라이트가 포함되어 있다.프로젝트에서 사용 가능한 새로운 씬의 유형을 정의하기 위해 사용자 정의 Scene Template을 만들 수 있다. 예를 들어, 서로 다른 게임 레벨에 대한 템플릿을 만들어 팀원들이 올바른 에셋과 구성으로 씬을 시작할 수 있도록 할 수 있다.모든 Unity 씬은 Scene Templa..

UNITY3D 2025.02.05

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