회사마다 TA 역할이 다르다 보니 제가 하는 일이 무엇인가 하는 걸 좀 정리해 보았습니다.

제는 가장 많이 하는 일은 최적화 관련 일입니다.
거의 주된 업무라고 할수 있습니다. 새로운 오브젝트가 들어갈 때마다 최적화를 기본적으로 다룹니다.

캐릭터 초반설계시에는 셰이더도 만들어야 하고 본 세팅도 봐야 하고 여러 가지 시간이 좀 들지만 이후는 관리 작업이 주로입니다.
정기적으로는 새로운 배경이나, 캐릭터가 추가되었을 때마다 머터리얼 설정을 하고 필요에 따른 각종 설정을 추가하는 일입니다.
현재 제작되고 있는 캐릭터의 경우 아웃게임과 인게임의 머터리얼을 다르기 때문에 이를 분리하고 인게임의 경우 레이어로 라이트를 관리가 필요하여 이를 작업합니다. 복잡한 구조는 세팅에 대한 실수가 잦아 이를 방지하기 위해서 툴을 만들어서 관리를 하곤 합니다. 요즘에는 ChatGPT 덕분에 코딩이 익숙지 않은 저에겐 관리툴을 만들기가 훨씬 용의 해졌습니다.

 

애니메이터가 원하는 동작을 볼 수 있도록 간단한 툴을 만들기도 합니다.
이번 프로젝트는 다이나믹본을 사용하였는데(다이나믹본을 사용하자고 제시하는 일도 합니다.), 이를 확인하는 것은 유니티 내부에서만 가능했기에 이를 확인할 수 있는 간단한 Scene을 만들어서 새로운 모션을 넣어서 확인하는 기능과 다이나믹본이 문제가 없는지 확인하는 기능, 라이트를 받았을 때 캐릭터에게 어떻게 반영되는지 보여주는 등의 간단한 툴을 제작하기도 하였습니다.

가끔 기획적으로 추가되는 효과나 좋은 아이디어가 떠오르면 AD와 상의하여 추가적인 설정을 합니다.
얼마 전에는 캐릭터가 너무 창백해 보인다는 생각이 들어서 몇 번의 테스트를 거쳐서 sss 설정을 추가하였군요.

현재 저의 회사 특성상 캐릭터에 비해 배경에 많은 시간이 들곤 합니다. 배경 제작은 주로 외주라 최적화가 안된 경우가 많습니다. 아무래도 외부에서 제작되다 보니 알 수 없는 포퍼먼스 저하가 있곤 합니다. 하여 이를 필요에 따라 모델링을 다시 고치는 경우도 있고 머터리얼 설정을 다시 하곤 합니다. LOD가 필요한 경우 직접 제작하거나 외주에 맡깁니다. 가장 기억에 남았던 이슈는 알 수 없는 포퍼먼스 저하였는데 2주 정도 소비를 했던 거 같습니다. 원인은 아주 단순했는데  외주에서 카메라에 실수로 MSAA(안티엘리어싱)을 넣어 놨던 거였습니다. (그 이전에 프로그램팀에서 다른 원인을 발생시켜서 더 혼란을 주긴 했었습니다.ㅠㅠ)
아까운 2주가 소요되었지만 이게 TA 업무에서 가장 중요한 일중에 하나라고 생각합니다. 배경은 꾸준한 최적화가 필요해서 2주에서 한 달 정도 시간이 들기도 합니다. 그래서 가장 화면에 많이 띄워져 있는 것이 유니티에서 게임 배경인 경우가 많습니다.

다른 작업자들이 보기엔 저 사람을 도대체 무얼 하고 있는가 라는 의문이 들 수 있을 거라는 생각도 듭니다. 매번 같은 화면에서 무언가 계속 하지만 결과가 빠르게 나오지 않기 때문이겠지요.

제가 하는 TA로서의 업무는 AD와 PD의 신뢰를 기반으로 합니다. 이유는 정확히 언제 끝이 날지 모르는 일들이 꽤 많기 때문이고, 우리 게임에 맞는 좋은 아트를 위해서 제시할 수 있는 연구가 필요로 하기 때문입니다. 그래서 간혹의 경우 실패를 하는 경우도 있습니다. 결과를 도출했지만, 기대에 미치지 못하여 사용하지 못하는 경우도 생깁니다.(실패할 경우에는 이를 우회하거나 다른 차선책을 머릿속에 생각하곤 합니다.)
대부분은 우리 게임 속 요구하는 내용은 이미 구현된 것들이긴 하지만, 막상 내가 구현하려면 공부가 필요할 수밖에 없습니다.

 

제가 하는 일중 또 하나의 중요하다고 생각되는 일은 AD나 PD나 프로그램이나 아티스트나 이런 것이 되는가?라는 질문에 해결책을 내놓는 것입니다.(항상 방법은 있다고 생각하는 편입니다.)
가령 PD가 캐릭터가 저사양에서는 포퍼먼스 때문에 캐릭터에만 그림자만 적용하고 싶다고 했을 때, 이를 분리할 방법을 찾고 이를 적용하는 것입니다. 혼자 해결하기도 하고 아트팀이나 프로그램팀과 공조를 하기도 합니다.
그리고, 애매한 것들(아트에서 뭘 해야 하지? 프로그램에서 뭘 해줘야 하지?)을 정리하기도 합니다.

Vertex Color(메쉬의 버텍스 컬러를 이용한 텍스쳐 겹치기 방법:배경 바닥에서 주로 사용된다.)

View Direction - 카메라가 보는 방향

Gradient - 컬러를 그라디언트로(fixed로 하면 끊어진 컬러가 된다.)

Sample gradient - 시간을 넣을수 있다.(이외에 다른것도..)

Ambient - 하늘, 적도, 바닥 컬러를 정해준다. 라이트맵(환경광)의 컬러를 가져오는걸 알수있다.

Baked GI - 베이킹된 맵을 텍스쳐로 사용할수있다.(diffuse로 사용할수 있다는 뜻인데, 용도는 모르겠음.)

 

Refraction Probe - 반사 효과를 넣을수 있다.

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

툰 쉐이더 Amplify shader set  (0) 2020.11.02
Shader graph-input03  (0) 2020.07.12
Shader graph -input01  (0) 2020.06.11
Shader graph -channel01  (0) 2020.06.10
Shader graph -Artistic03  (0) 2020.06.10

Boolean- 참, 거짓...(스위치이다.)

Color- 뭔말이 필요한가...

 

상수라고함.(어디에 쓰임있는지 아직모름..)

PI- 파이임..(3.1415926)

TAU- 파이에 2를 곱한 값.(6.28318530)

PHI- 황금비율(1.618034)

E- 지속적으로 무한으로 다가가는 (고라니TV 참고)
SQRT- 2의 제곱근 . 루트2

 

Integer -정수

Slider - float값을 기반으로 하는 최소최대치를 만든다.

Time-

Time- 1초마다 증가

SineTime- 싸인 그래프로 증가(1.6초면 1이 되고, 3.14초면 0이되고... -1)

CosineTime - 코싸인 그래프로 증가(1.6초면 0되고, 3.14초면 1이되고....-1)

DeltaTime - 프레임간에 시간차이를 매번 다르기 때문에 이를 보완하여 일정하게 만드는것.

SmoothDelta - 델타타임을 좀더 부드러운 간격으로 만든것.

 

Vector(float, uv, vertex...)

vector를 통하여 빼거나 더할수도 있다.

 

Bitangent Vector

출처: http://rapapa.net/?p=2419

object 좌표계:  각 오브젝트의 local로 본 좌표계

world 좌표계: 월드를 중심으로 본 좌표계

view 좌표계: 카메라의 로컬에서 x,y는 그대로이나 z가 반대인 좌표계

tangent 좌표계: 탄젠트벡터(U=x), 비탄젠트(V=y), 노멀벡터(z) 오브젝트이 각 정점마다 탄젠트 좌표계가 존재.

 

Positon

 

Screen Position

(잘안되서 헤멤: UniversalRenderPipelineAsset에 OpaqueTexture가 체크되어야 하며, 가능하면 DepthTexture까지 둘다 체크하고 개발.)

 

Tangent vector

어디에 쓰임있는지 모르겠음..

 

 

UV

 

고라니TV  외에 여러 사이트에서 참고하였습니다.

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph-input03  (0) 2020.07.12
Shader graph-input02  (0) 2020.06.29
Shader graph -channel01  (0) 2020.06.10
Shader graph -Artistic03  (0) 2020.06.10
Shader graph -Matcap  (0) 2020.05.30

그레이 컬러를 더했을때와 vector3를 더했을때 달라지는 이유는

 

color Sapce를 gamma로 바꾸면 똑같아진다.

요렇게 하면 똑같아진다.

 

split- 쪼개고, combine- 묶고

Flip- RGBA를 뒤집는다.(마이너스로 변환)

Swizzle- RGBA채널을 바꿀수 있다.

고라니TV  외에 여러 사이트에서 참고하였습니다.

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph-input02  (0) 2020.06.29
Shader graph -input01  (0) 2020.06.11
Shader graph -Artistic03  (0) 2020.06.10
Shader graph -Matcap  (0) 2020.05.30
Shader graph -Artistic02  (0) 2020.05.29

Normal From Texture - 일반텍스쳐에서 노멀추출

Normal Blend - 노멀끼리 블랜딩 시킴

voronoi-세포처럼 이미지를 만든다.

Normal From Height - 노멀이 높이값을 만든다.

Normal Strength - 노멀의 강도를 만든다.

 

Normal Reconstruct- 노멀컬러 보정?,그다지 의미있는 기능은 아님..

Normal unpack-노멀안된것을 노멀로 만드는?, 그다지 의미있는 기능은 아님..

 

 

Colorspace Conversion - Linear, HSV로 바꾼다.

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph -input01  (0) 2020.06.11
Shader graph -channel01  (0) 2020.06.10
Shader graph -Matcap  (0) 2020.05.30
Shader graph -Artistic02  (0) 2020.05.29
Shader graph -Artistic01  (0) 2020.05.28

youtu.be/UsyvT36vqpU

많은 것이 좋아졌다고하는데 뚜렷이 무엇이 좋아졌는지 잘 알수가 없었는데, 이내용을 보면 개선된 방식이라는게 느껴지긴합니다.

 

제가 받아들인 요약은

1. 같은 프로젝트라도 드로우콜 800짜리가 500짜리대로 떨어짐.

2. 조명이 여러개 써도 괜찮을정도로 개선됨(여러 조명을 하나의 조명?으로 계산을 한다고 했나?) 하튼 실시간 라이트를 32개정도까지 써도 될정도로 효율이 좋아짐.

3. 이전 파이프라인 쉐이더는 여러개의 오브젝트가 있을때 오브젝트마다 드로우콜이 증가했지만, URP 기본 쉐이더를 여러 오브젝트가 같이 사용시 드로우콜을 1개로 바꿔버린다.(이건 획기적이긴한데... 커스텀은.....?)

4. 왜 이렇게 효율이 좋아지는가 하면 이전에는 배치가 메터리얼 단위로 일어나기 때문이었지만, SRP로 바뀌면서 쉐이더 단위로 바뀌어서 메터리얼이 많아져도 같은 쉐이더라면 효율이 좋아진다는것입니다.

(reder list에서 SRP Batcher를 키는것이 중요하다.)

 

https://forum.unity.com/threads/how-to-create-matcap-shaders-with-shader-graph.770285/

 

역시 찾아보니 방법이 있군요.

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph -channel01  (0) 2020.06.10
Shader graph -Artistic03  (0) 2020.06.10
Shader graph -Artistic02  (0) 2020.05.29
Shader graph -Artistic01  (0) 2020.05.28
URP Shader graph  (0) 2020.05.27

Blend, Dither

ChannelMask(원하는 채널을 선별하여 가릴수있다.)

 

ColorMask

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph -channel01  (0) 2020.06.10
Shader graph -Artistic03  (0) 2020.06.10
Shader graph -Matcap  (0) 2020.05.30
Shader graph -Artistic01  (0) 2020.05.28
URP Shader graph  (0) 2020.05.27

Adjustment

 

일종에...포토샵에서 컬러가지고 변화를 여러가지 주는 장치

 

 

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph -channel01  (0) 2020.06.10
Shader graph -Artistic03  (0) 2020.06.10
Shader graph -Matcap  (0) 2020.05.30
Shader graph -Artistic02  (0) 2020.05.29
URP Shader graph  (0) 2020.05.27
2D Renderer Sprite Lit Graph 스프라이트에서 빛에 반응하는 그래프  
  Sprite UnLit Graph

스파라이트에서 빛에 반응하지 않는 그래프

 
Unlit Graph  

3D에서 빛에 반응하지 않는 그래프

 
PBR Graph   물리기반 그래프  
VFX Shader Graph  

파트클에서 사용되는 그래프

 
Sub Graph  

그래프를 묶을수 있는 그래프

 

 

float 32비트
half 16비트 이미지 손실이 일어날수있다.

Metal Reflectance는 금속재질에 따른 컬러가 셋팅되어있어서 스페큘러에 적용하면된다.

 

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph -channel01  (0) 2020.06.10
Shader graph -Artistic03  (0) 2020.06.10
Shader graph -Matcap  (0) 2020.05.30
Shader graph -Artistic02  (0) 2020.05.29
Shader graph -Artistic01  (0) 2020.05.28