[UE4] 강좌 따라가기 5
확실히 이런 전문가들이 강의하는 영상을 무료로 볼 수 있다는 점에서 UE가 좋긴한듯
Unity는 해본적이 아주 옛날에 국가교육 뭐 그런거 받을 때 잠깐 해본거밖에 없어서 잘 몰?루
근데 유니티는 너무 모발겜 느낌나서...
이번 강의는 내가 뭔갈 같이하면서 따라갈수가없고, 듣기만 하고 있었더니 너무 졸렸다
Lightmap 쪽은 나중에 한번 다시 들어야 할듯.
전체적으로도 잘 이해안되기도 하고..
-----
배경 디자이너 용어
Sprint / Production Cycle : 최종 목표를 작게 쪼개서, 로드맵같은걸 만드는 거
Pre Production : 프로젝트를 대충 사전제작해봐서 개발 방향성 잡는 것
Build : 게임의 버전
Building / Cooking : 그 버전으로 컴파일하는 것
Cert : 게임 출시 인증?
Bake / Baked Down : 텍스쳐 프로세스로 High poly를 Low poly로 만드는 과정
Material / Shader / Mats 이 같은 단어
Mesh / Geo / Geometry 가 같은 단어
Lightmap : 텍스쳐에 라이팅 정보를 입혀놔서, 라이팅할때 자원을 좀 덜먹게 만들어주는거
LOD : Level Of Details 의 약자로, 화면 내에서 비중이 작아질수록 Mesh 수를 줄여서 최적화하는 것
MIPMaps : 멀리있는 물체를 풀렌더링하면 자원을 많이 쓰니까 좀 뭉개진 텍스쳐를 같이 쓰는 것
Z_Fighting / Clipping : 에셋 두 개가 완전히 붙어가지고 막 위아래 왔다갔다 하는거
Culling : 화면에서 보이지 않는 에셋 렌더 안되게 해서 최적화
Blockout : 차후 디자인을 위해 대충 박스로 어떤식으로 만들지 대충 짜놓는거
Drawcalls : 렌더할때 얼마나 많은 Instruction이 사용되는지 (Mesh, Material Count 등이 영향을 줌)
---
파일명 Naming Convention (권장)
Prefix_AssetName_Variant_Suffix
Prefix 예시
Static Mesh -> S_
Master Material -> M_
Material Instance -> MI_
Texture -> T_
Skeletal Mesh -> SK_
Blueprint -> BP_
Physical Material -> PM_
Material Function -> MF_
Post Process -> PP_
Landscape Layer -> LL_
Suffix예시
Texture (Diffuse/Albedo/Base Color) -> _D
Texture (Normal) -> _N
Texture (Roughness) -> _R
Texture (Alpha/Opacity) -> _A
Texture (Metallic, Mask) -> _M
Texture (Specular) -> _S
Texture (Emissive) -> _E
Texture (Ambient Occlusion) -> O
Texture(Packed) -> packed 된 텍스쳐의 종류마다 다름.
Roughtness는 Red, Metallic는 Blue, Ambient Occlusion은 Green에 할당해서 Pack된 텍스쳐는 RMA_ 이런식
폴더명 Naming Convention (권장)
Meshes, Textures, Materials, BP(or Blueprints), Maps, Landscape
폴더 내 에셋을 다른 폴더로 옮겼을 때, 그 에셋을 사용하던 다른 에셋에서 참조 오류가 발생하는 상황을 막기 위해
이동 후에는 폴더를 선택한 후 Right Click > Fix up redirect ~~ 를 사용하면 다시 연결된다.
---
Project Settings > Editor > Appearance 에서 유닛 변경가능 (centimeter -> meter 같은거)
---
Pivot location(물체의 중심?)을 잘 설정해야함.
벽이나 단순 물체같은경우 왼쪽 아래, 오른쪽 아래에 피봇포인트를 설정해야 스냅같은거 할 때 편함.
---
단축키 [] 를 이용해 그리드 유닛 변경 가능
Shift+[]를 이용해 스냅 유닛 단위 변경 가능
휠키를 클릭-드래그 해서 길이 측정 가능
---
보통 텍스쳐는 png, tga 파일 많이 사용.
MikkTSpace에 대해 찾아볼것
Texture (Basic Color)는 Compression Settings에서 Default 선택, sRGB는 켜는 것이 권장.
Texture (Normal)은 Compression Settings에서 Normal 선택, sRGB는 색 데이터가 변할 수 있어서 끄는것 권장
Texture (RMA 등..)는 Compression Seetings에서 Mask 선택, sRGB는 노말과 같이 끄는것 권장
---
UE 내에서 Mesh를 보다가 수정해야할 때, 외부 SW에서 fbx를 덮어쓰기로 내보내면, Reimport를 통해 바로바로 갱신시킬 수 있다.
콜리전도 로드할때 자원쓰므로, 콜리전은 최대한 simple하게 만드는 것이 좋고, 외부 SW에서 UBX_~~~의 이름으로 만들어가지고 오브젝트의 자손으로 넣어두면 콜리전으로 로드할 수 있다. 이때, import settings에서 auto generate collision 같은건 꺼놔야 함.
Convex Collision?으로 콜리전을 자동생성할 때, Hull Count, Max hull verts를 잘 조절해야함. 수치가 높아질 수록 더 자원을 많이 먹으므로, 조금씩 조절하면서 원하는 모양이 되면 딱 멈춰야함.
렌더뷰 Lit >Optimization Viewmode > Shader Complexity를 선택하면 뷰 내 에셋들을 로드하는데 픽셀당 렌더 비용이 얼마나 들어가는지 색깔로 보여줌.
Mesh를 더블클릭했을때 콘솔에 Instruction 갯수 나오는데 200 Instruction까지는 괜찮음, 그 이후는 문제점 파악이 필요.
---
Master Material에서 Normal, RMA, Basic Color같은 파일들을 파라미터화 해서 그걸 상속한 Material Instance들이 유연하게 활용하게 만들 수 있음. 파라미터가 늘어날수록 유연성은 늘어나지만, 로드할때 자원비용이 늘어나므로, Switch 를 이용해서 사용하지않는건 각 Instance에서 비활성화 시켜서 최적화 해야함.
---
라이팅 타입
Static : 가장 저렴함, 라이트맵에 계산되고 끝이기 때문에 런타임에선 변경되지않음. 무버블에셋엔 라이트 적용 X
Stationary : 스태틱과 무버블의 중간쯤 되는데, 그래서 잘 안쓰는듯
Movable : 실시간으로 라이팅함. 라이트맵에 계산이 안되므로 렌더링 비용이 비쌈.
라이팅 유형
Directional : (사용 예시 : Sunlight 등) 각도 회전으로 빛의 방향, 시간 등 조절함
Spot : (사용 예시 : 손전등 등) 원뿔 형태로 발산하는 빛. Inner안의 빛은 밝고 Inner에서 Outer로 벗어날수록 어두워짐
Point : (사용 예시 : 전구 등 ) 모든 방향으로 발산하는 빛
Rectangle : (사용 예시 : 창문 표현, 전광판 등) 사각형 모양으로 발산하고 뒤로는 빛이 안남.
Sky : 몰?루 특이함 다른 라이트들이랑 같이 사용한다고함