본문 바로가기

전체 글

(30)
Camera 공부 Pixar In a Box을 보고 정리한 내용이다.-Aperture의 사이즈에 따라 빛이 들어오는 양이 달라진다. pinhole 카메라를 생각해보자.-Aperture가 크면 빛이 더 많이 들어와 밝지만 이미지가 흐려진다. 왜냐면 물체에 한 점을 찍고 그곳에서 오는 빛을 cone형태로 pinhole 카메라의 넓은 구멍에 통과시켜 image plane을 봐보자. 물체에서는 한 점이었던게 image plane에서는 넓은 부분을 차지한다. 그래서 이미지가 블러된 것이다.-Aperture가 작으면 빛이 적게 들어와 어둡지만 이미지는 선명하다.-Aperture과 Image Plane 사이의 거리를 말한다.-aperture 사이즈는 그대로 두고 image plane을 조리개 쪽으로 당겨서 핀홀 카메라로 찍어보자. 그..
Unreal Insights 읽는 법 **Chat GPT에게 물어본 내용도 있어 틀린 정보일 수 있음*Stat Unit-Frame: total time to finish each frame-Game : C++ or Blueprint game operations-Draw : CPU render time-GPU : GPU render time-숫자가 가장 큰 것이 bottleneck일 것이다-Frame != Game + Draw + GPU time *CPU: 게임 로직, 애니메이션, 물리 계산 등 게임의 핵심 로직을 처리함. 여러 스레드를 통해 작업을 병렬로 처리함! CPU가 하는 병렬 처리를 “멀티 스레딩”이라고 함. 하나의 프로세스(CPU)는 멀티 코어를 가지고 있으며, 각 코어는 독립적으로 스레드를 실행한다. 여러 스레드는 동시에 실행되어..
언리얼 나나이트 공부 Nanite -GPU 파이프라인에 해당된다-나나이트는 Virtualized Geometry라고 할 수 있다. Virtual이라는 것의 뜻은 씬 렌더링에 필요한 데이터만 로드하고 나머지는 다 캐시처리하는 것을 말한다. Virtual Texturing, Virtual ShadowMap 모두 이것에 해당한다.-나나이트는 Smoothing Group이나 UV Seam을 통해 메시를 Clusters로 나눈다. 이는 Visualize > Nanite Visualize > Clusters에서 확인할 수 있다. 하나의 클러스터는 128개의 triangles로 이루어져 있다고 한다. Cluster LOD는 다수의 LOD를 통해 생성된다. 일반 LOD와 다른 점은 LOD는 오브젝트 별로 작동한다면 Cluster LOD는 내가 보고 있..
언리얼 루멘 공부 Lumen - 만약 루멘으로 할거면 프로젝트 세팅을 제대로 해줘야 함. 그래서 프로젝트 세팅에서는 어떤걸 해줘야 하는지는 Static vs Dynamic Lighting 영상 참고 (Ray Lighting Mode : hit lighting mode(?) / Software Raytracing Mode : Detail Tracing / Generate Mesh Distance Field Check(중요!) / RHI : DirectX 12 / Virtual Texture Support Check)- 루멘 세팅법 : 프로젝트 세팅 > Dynamic Global Illumination을 Lumen으로 바꾸면 다른 것도 자동으로 바뀌긴 한데 몇 개 보자면 Reflection Method도 Lumen / Generate ..
최적화 Optimization * VR 프로젝트를 최적화하기 위해 공부한 내용을 간단 메모한 것입니다. 그냥 메모장 내용!r.RHI.Name : 현재 directx11, 12인지 뭔지 알려준다r.HairStrands.Strands 0r.HairStrands.UseCardsInsteadOfStrands 1mh.Identity.ExportMeshes 1stat fps (Ctrl + Shift + H)stat streamingstat unit >> drawcall 볼 수 있다stat unit graphstat animstat SceneRendring >> drawcall 볼 수 있다r.MeshDrawCommands.DynamicInstancing >> 0으로 끄고 1로 켤 수 있다-CPU는 Unreal Insights로, GPU는 GPU ..
후디니로 함수 그리기 / Ch() *sin함수 그리기 일단 line을 생성한 후 point의 갯수는 360으로 놓는다 Attribute Create 생성하고 포인트들의 위치를 움직여줄 거니깐 Name을 P로 바꿔주기 그리고 Vector3을 쓸건데 그냥 float로 해놓고 size를 3으로 놔도 됌 *@ptnum point number라는 뜻. attribute인데 내장 어트리뷰트 같은 것임 @ptnum을 파라미터에 써보면 자신의 포인트 넘버가 파라미터 값으로 들어가게 되는 것! X : @ptnum * 3.14(1파이) / 180도(1파이) >> 이렇게 해서 그래프의 x값을 압축시킨 것임. 아니면 너무 루즈해져서 Y : sin(@ptnum * 3 + 10) + 3 >> 일반적인 sin, cos, tan 그래프의 식 써주면 된다. 그래프를 ..
[Udemy] 88~94강. Rain FX Rain Drop을 만들려면 위와 같은 것들이 필요하다 *M_LiquidMaster Surface, Translucent, Unlit에 Refraction은 IOR로 했음. Refraction은 원래 안켜져있는데 리프렉션 메서드를 IOR로 해주면 켜짐. Seam은 Refraction 쪽에서 LiquidRefractionMask를 이용해주니 없어졌다. 그냥 IOR인 1.33을 넣어주면 Plane의 Seam 그대로 나옴. IOR이 1이면 굴절현상이 없어진다. 그래서 Mask와 Lerp를 이용해서 Seam을 없애주고, 물방울 모양의 굴절도 더 정확하게 표현함. 그리고 Refraction이 제대로 나올려면 Normal맵을 연결해줘야 함! Fresnel을 물방울모양에 적용함. Fresnel에도 노말맵을 적용하려면..
[Udemy] 85강~. Scratch Pad *Particle Index attribute는 후디니의 attribute 같은 느낌임 Index는 파티클의 인덱스를 말하는 거였음. *Namespace 사진에 다 설명되어있음 *Particle Index Index랑 다르게 ID는 지속가능하다. 이미터가 얼마나 많이 파티클을 생성했는지에 상관없이 모든 파티클은 고유의 ID를 갖게된다. *파라미터 쓰기 표시 (Parameter Write) 디테일 창에서 저 햄버거바 눌르서 파라미터 쓰기 표시를 누르면 이 모듈에서 어떤 파라미터가 쓰이고 있는지 확인할 수 있다. *Niagara Modular Script 생성 스크래치 패드는 나이아가라 시스템 안에서 생성할 수 있지만 외부에서도 생성할 수 있다. 그렇게되면 나이아가라 시스템 안에서 외부에서 만든 NMS을 불..