Part1 05.06. 언리얼 리플렉션 시스템 (프로퍼티 시스템)
하고싶은거/Unreal2024. 3. 8. 16:48Part1 05.06. 언리얼 리플렉션 시스템 (프로퍼티 시스템)

언리얼 엔진의 근간 : 리플렉션 시스템 언리얼 오브젝트 특징 : 리플렉션 언리얼은 크게 2가지 오브젝트로 나뉜다고 했다. C++ 오브젝트, 언리얼 오브젝트 그 중, 언리얼 오브젝트는 기존 C++에는 없는 모던 객체 지향 시스템의 특징인 생산성을 추가한 기능이다. 그게 바로 리플렉션 (Reflection) 리플렉션 (Reflection) 리플렉션은 프로퍼티 시스템 이라고도 불리며, 프로그램이 실행시간에 자기 자신을 조사하는 기능. ('자기자신' = 에디터, 가비지 콜렉션, 클래스, 구조체, 함수, 멤버 변수, 열거형 등) 리플렉션 설정 방법 (설정방법 이라기 보단 리플렉션 기능을 수행, 리플렉션을 보장한다고 알려준다는게 더 이해하기 쉬울 것 같다.) 리플렉션은 Unreal Header Tool (UDT) ..

error C2001: newline in constant
하고싶은거/삽질2024. 3. 8. 12:14error C2001: newline in constant

문제 ;가 부족한게 없는데 상수에 줄바꿈이 있다고 오류가 났다. 과정 한글을 사용해서 그런거었다. 그래서 인코딩을 UTF-8로 고쳤다. 느낀점 한글을 사용하면 인코딩을 바꿔줘야 한다는 걸 알고 있었음에도 오류가 왜 발생하는지 파악하지 못했다는게 아쉽다. 해당 오류를 다시 본다면 한번에 눈치채고 싶다.

구글에 블로그 노출하기 (리디렉션 오류 수정, 색인 요청 해결)
하고싶은거/삽질2024. 3. 4. 23:36구글에 블로그 노출하기 (리디렉션 오류 수정, 색인 요청 해결)

문제 언리얼 내용 관련 공유할 일이 있어서 구글에 검색하라고 알려줬는데, 검색이 안되는 현상을 발견했다. 기본적인 구글 서치 콘솔 설정, 이 과정에서 발생한 리디렉션 오류 수정, 게시물을 구글에서 검색할 수 있도록 색인 요청하는 과정까지 다뤘습니다. (마지막 정리 참고) 과정 구글 설정 구글이 네이버보다 티스토리 노출률이 훨씬 높기 때문에 먼저 진행하게 되었다. 1. 구글 콘솔 검사 (Google seach Console) https://search.google.com/search-console Google Search Console Search Console 도구와 보고서를 사용하면 사이트의 검색 트래픽 및 실적을 측정하고, 문제를 해결하며, Google 검색결과에서 사이트가 돋보이게 할 수 있습니다...

Part1 04. 언리얼 오브젝트
하고싶은거/Unreal2024. 3. 3. 23:06Part1 04. 언리얼 오브젝트

언리얼 C++의 핵심, 언리얼 오브젝트 언리얼 C++ 생긴 이유 C++가 생기고, 모던 객체지향 언어 (모던 OOP언어, C++이후 나온 언어들 JAVA, C#)이 생겼는데 C++의 성능적 장점과 모던OOP언어의 생산적 장점 2가지를 잡기 위해서 언리얼에서는 기존 C++ 언어를 좀 더 확장하는 방안으로 객체 지향 설계를 실현했다. 언리얼엔진 객체시스템 UnrealEngine 이 시스템 자체에는 2가지 오브젝트(객체 시스템)가 존재한다. 일반 C++언어에서 사용하는 C++ 오브젝트, 언리얼에서 고안한 생산성이 높아진 언리얼 오브젝트. 1. C++ 오브젝트 기존 C++언어의 일반적인 객체 시스템 성능적 장점이 존재하지만, 생산적인 측면에서 취약, 메모리를 건들이면 프로젝트 전체가 난감해질 수 있다. 사용 용..

Part1 03. 기존 C++과 다른 언리얼 C++
하고싶은거/Unreal2024. 3. 2. 23:56Part1 03. 기존 C++과 다른 언리얼 C++

언리얼 C++은 C++과 다르다 게임 제작은 서로 다른 유저의 컴퓨터 환경에서 최대한 잘 돌아가게 만들어야 한다. 근데, 기존 C++은 상당히 오래된 언어로 int 같은 경우 어떤 경우에는 32bit, 64bit등 다양하게 해석되는데, 이건 게임 데이터 저장시 치명적인 오류가 생길 수 있다. ⇒ 플랫폼 파편화 : C++의 일부 함수가 플랫폼에 따라서 다르게 동작('여기서는 잘되는데 왜 여기선 잘안되는거지?' 이상황) 따라서, 캐시 히트율을 신경써서 자료구조를 만들어야하는 언리얼 엔진은 int가 아니라, int32처럼 확실하게 크기를 나눠둔 언리얼 C++을 사용한다. ⇒ 캐시 히트율 : 캐시된 데이터를 요청할 때 해당 키 값이 메모리에 존재하여 얼마만큼의 비율로 잘 찾았는지에 대한 여부 언리얼C++에서 자..

Part1 02. 언리얼C++ 코딩규칙
하고싶은거/Unreal2024. 2. 29. 23:17Part1 02. 언리얼C++ 코딩규칙

코딩 표준 기존에 확립된 표준 및 모범 사례를 준수하여 유지보수 가능한 코드를 작성합니다. docs.unrealengine.com 언리얼 C++ 코딩 표준 언리얼의 독특한 클래스 이름 규칙과 작명규칙 이 2가지를 확실히 익혀본다. 코딩 표준 (Coding Standard) 프로그래밍을 작성해야 하는데 지켜야 하는 프로그래밍 이름 규칙, 작성 방법 등을 지정한 가이드라인 코딩 스타일, 코딩 컨벤션 한 마디로, 코딩 표준은 어떤 그룹, 직장에서 코딩할 때 지켜야하는 규칙 같은 느낌. (인턴십에서 이전 코드 리뷰를 했던 이유 : 코딩 표준을 파악하기 위해서) 코딩 표준을 지켜서 프로젝트의 모든 코드는 한 사람이 만든 것처럼 보여야 한다. 언리얼 코딩 표준 1. 클래스 체계 이런식으로 public을 선언 후, ..

Part1 01. Hello Unreal!
하고싶은거/Unreal2024. 2. 28. 18:59Part1 01. Hello Unreal!

시작 원래 part2강의를 먼저 수강하고 part1을 시작하려고 했지만,, 언리얼 특유의 환경 & 컴파일 방식 으로 인해 "역시 기초가 중요하지" 라는 생각으로 part1과 함께 cs, C++기반을 다지기로 했다. 환경 설정 Unreal Engine 5.1.0 버전 이상 Visual Studio 2022 버전 언어의 경우 모두 영어로 Visual Studio → option → General → "Always show Error List if build finishes with errors" 끄기 초기에는 Debug/Release 이 부분이 굉장히 작아서 늘리는 과정 : Visual Studio → Debug/Release 우클릭 → Customize → Commands → Toolbar → Standa..

Part2 섹션1. 게임 콘텐츠의 기본 구조
하고싶은거/Unreal2024. 2. 13. 02:28Part2 섹션1. 게임 콘텐츠의 기본 구조

1강 언리얼 엔진 게임 제작 기초 강의 제공 파일 ArenaBattle로 진행했다. 언리얼 버전은 5.1.1로 UE5로 해서 나도 5.1.0을 업그레이드했는데.. 저 셰이더 컴파일? 시간이 엄--청 걸렸고, 후에 프로젝트생성시에도 같은 컴파일을 진행했다. VisualStudio 설정을 건너뛴 결과..

언리얼 프로젝트 파일 생성시 오류
하고싶은거/삽질2024. 2. 12. 13:10언리얼 프로젝트 파일 생성시 오류

문제 언리얼 5.1.1에서 c++ 프로젝트를 생성하는데 위와 같은 오류가 발생했다. 첫 c++ 프로젝트 생성하던 상황. 과정 Visual Studio 2022 is installed, but is missing the C++ toolchain. Please verify that the "MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)" component is selected in the Visual Studio 2022 installation options. 이라고 되어있길래 visual studio를 통해 c++ 설치를 진행했다. 이렇게 해서 추가 설치를 진행했다. 그러고 다시 프로젝트를 생성후 당황하지 않고 기다리면 이렇게 언리얼 파일과 함께 오랜만에 보..

하고싶은거/Unreal2024. 2. 11. 20:35이득우의 언리얼 프로그래밍 start

인프런에서 언리얼 강의들을 수강하기 시작했다. 뭘로 할까 고민하다가 이번에 떨어진 스마일게이트 언씬 프로그램에서 사용하는 커리큘럼인 이득우의 언리얼 프로그래밍 part1-4 을 수강해보기로 했다. 섹션 0. 언리얼엔진은 c++ 로 한다는 것만 알고 있던 상태였다. 근데 강사님은 언리얼 C++이라고 설명하셨다. 즉, c++만 알아서는 안된다는 뜻.. 개인적으로 c++을 배울 때 뭔가 가장 불편했는데, 이 불편한걸 언리얼에 맞춰 좀 더 최적화했을 것같은 느낌? (oop언어의 자동 메모리 관리나, 실수 예방등의 기능이 부족했는데 이 부분을 최적화 했지 않았을까) 또한, part1은 언리얼 C++, part2는 게임 프레임웍을 배우는데, 나는 게임 프레임웍을 먼저 수강하고 싶어서 part2부터 수강하고 정리할 ..

image