전체 글330 1. Reflection, TSubclassOf 기본 개념 Reflection클래스의 메타 데이터를 가져오는 등 엔진에서 각 클래스 자체의 정보에 접근하기 위해 사용하는 기술- C#에선 기본적으로 내장되어 있으나 C++에서는 제공하지 않으므로, generated.h 헤더파일과 GENERATED_BODY 내부적으로 많은 매크로들을 사용하여 구현되어 있습니다.- UCLASS를 붙이면 해당 클래스의 메타데이터를 읽어오도록 합니다. FFieldClass* FField::StaticClass(){ static FFieldClass StaticFieldClass(TEXT("FField"), FField::StaticClassCastFlagsPrivate(), FField::StaticClassCastFlags(), nullptr, &FField::Construct); re.. 2024. 9. 26. 7. 잠시 중단 Inflearn에서 Lyra 프로젝트 클론코딩에 대해 접하게 되었습니다.이 강의를 통해 얻어갈 수 있는 것들이 많을 것으로 생각되어 고민 후 구매하게 되었고, 구매 후 살펴보니 디테일한 부분들 뿐만 아니라 뼈대를 이루는 프레임워크 위주로 강의가 진행되는 것을 확인했습니다. 맨땅에 헤딩하며 프로젝트를 완성해나가는 것도 배워갈 점이 분명 많겠지만, 에픽게임즈에서 제공하는 프로젝트를 분석하는 것이 기반을 쌓는데 도움이 될 것으로 생각되어 완강 후 이번 프로젝트에 적용해보려고 합니다. 캐릭터와 관련된 부분, Lyra에서 실제 사용된 Ability System 등을 참고하면 좋을 것 같고, 데칼이라던지, 셰이더와 같은 부분들을 참고해서 응용할 수 있는 수준까지 끌어올리는 것이 목표입니다. 따라서 본 프로젝트는 잠.. 2024. 9. 25. 6. Post Processing Post Processing은 물체를 다 그린 후 완성된 화면에서 진행하는 후처리를 의미합니다.UE5에서 Post Processing은 다양한 옵션들을 손볼 수 있었는데, 저는 주로 채도, 대비 등의 화면 전체의 분위기를 좌우하는 옵션들을 사용했습니다. 타일과 에셋을 이용하여 맵을 배치하였는데 뭔가 허옇게 뜨는 느낌이 들고, 따로 놀아서 안 어우러진다는 생각이 들었는데,Post Processing을 통해 대비, 채도, 그림자의 색상 등을 조정하니 좀 더 생기있고 살아 움직이는 분위기를 받게끔 했습니다. 2024. 9. 25. 5. UE5 Foliage와 Instancing 기술의 상관관계 Foliage는 UE5에서 제공하는 기능 중 하나입니다.Foliage를 사용해보고 느낀 점은, 이전에 DirectX11 팀 포폴에서 구현했던 Instancing 기능과 유사하다는 것입니다.Instancing은 여러 개의 물체를 동시에 그릴 때 성능 면에서 이점이 있습니다.실제로 포폴을 진행하며 맵의 물체가 기하급수적으로 늘어날 때, 이 기능을 구현해서 어느정도 프레임 방어가 되었던 기억이 있습니다. 원리는 Input Assembly 단계에서 데이터를 CPU -> GPU로 넘겨줄 때 그려질 물체의 정점들과, 다수 물체들의 Transform 정보들을 같이 넘겨주어, 한번의 Draw Call에서 동시에 그려지게 하는 것입니다. Rendering Pipeline에서 물체가 결국 화면에 그려지는 것은 Vertex.. 2024. 9. 24. 이전 1 ··· 9 10 11 12 13 14 15 ··· 83 다음