일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- C++최적화
- 스마트포인터
- 람다
- 자료구조
- UE4 커스텀로그
- 선택정렬
- moreeffectiveC++
- dataasset
- stl
- 애셋로드
- 크리티컬섹션
- map
- 람다사용정렬
- 언리얼엔진구조체
- 데이터애셋
- C++
- UE_LOG
- UELOG
- 프로그래머스
- unorder_map
- BFS
- 약참조
- 델리게이트
- 알고리즘
- 정렬알고리즘
- 언리얼가비지컬렉터
- enumasByue
- 강참조
- UML관련
- 정렬
- Today
- Total
목록Note (423)
기억을 위한 기록들
최근에 안드로이드 라이브러리를 제공받아 언리얼엔진 프로젝트에 적용해야 하는 작업을 진행했고, 그 과정에서 경험했던것에 대해 나중을 위해 적어보려고 한다. (글에 틀린 부분이 있을 수도 있습니다.) 우선 안드로이드 라이브러리에 대해서 간단하게 알아보면 안드로이드 스튜디오를 통해 작성된 java 기반 aar 파일, 혹은 jar 파일이 있다. jar파일은 Java archive 의 약자로 자바로 생성된 클래스파일과 이미지등의 리소스 파일들의 포함되고, aar파일은 Android archive의 약자로, 안드로이드에 특화된 Jar파일이라고 보면 된다. aar파일은 안드로이드의 layouts, drawables 등 리소스 파일이 포함될 수 있다. (jar파일, aar 파일의 내부를 보려면 확장자를 zip으로 변..
1. Q dir윈도우 용 다중 창 탐색기로 윈도우 탐색기 4개를 동시에 띄워놓고 사용하고 있다. 처음엔 좀 어색했는데 적응하니 편한거 같다. 개인적으로 추천! 2. Beyond Compare퍼포스를 사용해보면서 기본 내장된 diff툴이 마음에 들지 않아 찾아보다가 예전부터 유명한 diff툴로 30일 무료 체험해보고 개인적으로 결제해서 계속해서 쓰고 있다. 다른 diff툴을 많이 사용해보지 않아서 비교하기 어렵지만, 기본 diff툴보단 개인적으로 좋아서 그냥 쓰는 중. 3. Jetbrain Rider언리얼엔진 ide로 visual studio 대신 사용중이다...각각의 장단점이 있고 아직 비교해보기 어렵다. 좀 더 사용해보고 후기를 적어볼까한다 4. Visual Studio Code 활용 ->CSV 뷰어..
(해당 정보는 대부분 웹 서칭을 통해 찾아보고 나중에 제가 혼자 참고하려고 정리해보고 있습니다.) 렌더링 프로세스에 대해 Game thread(게임 스레드)에서 Slate Tick은 프레임당 두 번 위젯 트리를 탐색.1번 틱 :Prepass 트리를 아래->위로 탐색하여 각 위젯의 이상적인 크기( DesiredSize )를 계산.2번 틱: OnPaint 트리를 위->아래로 탐색하여 렌더링에 필요한 Draw Elements 를 계산. Render Thread에서 Slate 렌더링은 두 단계로 나뉜다.1. Widget Render: UI의 RTT를 수행합니다. Retainer Box를 사용하는 경우 Draw Elements는 Retainer Box의 Rtain Target에 렌더링됩니다.2. Slate R..
기존에는 언리얼엔진에서는 플레이어 입력관련 바인딩 이벤트를 프로젝트 설정을 통해서 매핑을 시켜줬었다.하지만, 언리얼 엔진4부터 존재하다가 5부터 본격적으로 어필하고 있는 새로운 프레임워크 Enhanced Input System 직역하면 "향상된 입력시스템"을 도입했다. 그래서 언리얼엔진 5 부터는 기존 프로젝트 설정을 통한 입력 설정을 들어가서 살펴보면, 이제 사용하지 않을거라는 안내메시지가 나오면서, InputActions(IA)와 InputMappingContext(IMC) 를 사용하라고 안내해주고 있다. 향상된 입력 시스템은 우선 플러그인부터 활성화 해줘야한다. 활성화를 해준뒤, 애셋 생성창에서 보면향상된 입력 시스템은 입력 액션(Input Actions) , 입력 매핑 컨텍스트(Input M..
https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr stringstream을 통해 데이터 추출 후, deque를 이용해서 조건에 맞는 제일 큰 값, 제일 작은 값 pop 하여 진행했다. 흠... 통과되긴 했지만, 데이터 넣을 때마다 sort 하는 건 마음에 들지 않는다. #include #include #include #include #include using namespace std; vector solution(vector operations)..
CDO(CDO: Class Default Object)는 C++ 클래스의 기본 인스턴스를 나타냅니다. 클래스의 CDO는 클래스의 기본 속성을 정의하고, 클래스의 인스턴스화 및 초기화 과정에서 사용됩니다. 이는 클래스의 인스턴스를 만들 때 적용되는 초기 속성 값들을 포함합니다. 언리얼 엔진에서는 CDO가 게임 객체의 기본 상태를 정의하는 데 사용됩니다. 예를 들어, 게임에서 사용하는 캐릭터 클래스의 CDO는 이 캐릭터가 소유할 수 있는 초기 속성 값을 정의합니다. 따라서 클래스의 인스턴스를 생성할 때마다 CDO의 초기값이 사용되어 해당 클래스의 객체가 초기화됩니다. UClass 매크로는 UObject 에게 자신의 언리얼에서 기반으로 삼은 유형에 대해 설명해 주는 UClass 로의 레퍼런스를 넘겨줍니다. 각..
https://school.programmers.co.kr/learn/courses/30/lessons/250125 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제는 특정 좌표에 대한 컬러string이 주변 4방향에 동일한 컬러string을 갖고 있는 갯수에 대한 탐색이다. 내 풀이 : #include #include using namespace std; int dir[4][2] ={{0,-1},{0,1},{-1,0},{1,0}}; int solution(vector board, int h, int w) { int answer = 0; for(int ..
언리얼엔진 공식홈페이지에 기반하여 개인적인 정리 목적에 의해 작성되었습니다. https://dev.epicgames.com/documentation/ko-kr/unreal-engine/networking-overview-for-unreal-engine 언리얼 엔진의 네트워킹 개요 멀티플레이어용 네트워크 게임 구성하기 dev.epicgames.com 로컬 플레이(싱글플레이)의 경우 싱글 플레이 게임이나 로컬 멀티플레이어 게임에서는 게임이 독립형으로 로컬에서 실행되고, 한 컴퓨터에서 액터들과 월드 및 각 플레이어의 UI 등 모든것을 직접 제어한다. 예를 들어 서로에게 발사체를 발사하는 게임이 있다고 치자. 네트워크 멀티플레이 게임 네트워크의 경우 언리얼엔진에서는 클라이언트-서버 모델을 사용합니다. 네트워크에..
지금은 유튜브의 시대라고 해도 과언이 아니라고 생각한다. 이 글은 개인적으로 구글계정 전환하면서 구독했던 유튜브 채널을 새로 찾기 번거로워서 작성하게 되었습니다. 국내 1. 노마드코더 (다양한 지식) https://www.youtube.com/@nomadcoders 노마드 코더 Nomad Coders 한국인 린과 콜롬비아인 니꼴라스의 프로젝트 "노마드 코더" 입니다. 2015년 떠나, 현재까지 원하는 곳에서 일하며, 살고 있습니다. 📌 니콜라스와 무료로 코딩 공부하기 : https://nomadcoders.co www.youtube.com 2. 코딩애플 (다양한 지식) https://www.youtube.com/@codingapple 코딩애플 www.youtube.com 3. Unreal Engine K..
https://school.programmers.co.kr/learn/courses/30/lessons/250137 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스에서 PCCP 라는게 생긴걸 보고 관심생겨서 한번 목표로 삼고 연습해봐야겠다. 문제는 "붕대감기"라는 체력회복 스킬이 있고 해당 스킬은 1초당 N만큼의 체력을 회복하고, 시전시간을 다 채운다면 추가적인 체력회복을 하는 것인데, 그전에 특정 시간에 몬스터의 공격에 맞으면 붕대감기 스킬이 취소 된다. 그리고 체력이 깎여서 체력이 0 이하가 되면 -1을 반환하는 문제이다. 내 풀이 : #i..
이전에 std의 정규표현식에 관해 글을 작성하고, 언리얼에서 제공하는 정규표현식을 찾아보았다. https://hyo-ue4study.tistory.com/613 [CPP] C++ 정규 표현식 (regex / regular expression)에 관하여 C++ 11부터 포함된 정규 표현식( regular expression )이라는 라이브러리가 존재합니다. 정규표현식이란 문자열에서 특정 패턴을 찾거나 혹은 매치시키기 위해 사용되는 문자열의 표현으로, 헤더 파일 hyo-ue4study.tistory.com 언리얼엔진에서 정규표현식 관련된 클래스가 정의 되어 있다. FRegexPattern 이라는 클래스로 엔진 경로 "UE_5.2\Engine\Source\Runtime\Core\Public\Internatio..
C++ 11부터 포함된 정규 표현식( regular expression )이라는 라이브러리가 존재합니다. 정규표현식이란 문자열에서 특정 패턴을 찾거나 혹은 매치시키기 위해 사용되는 문자열의 표현으로, 헤더 파일에 정의되어 있습니다. 이를 통해 문자열 처리를 보다 유연하게 할 수 있습니다. 하지만 일반 string에서도 find와 같은 문자열 탐색 등을 진행할 수 있는데, 정규표현식을 쓰는 이유로는 특정한 규칙을 가진 패턴을 갖고 있는 문자열을 탐색할 때 좋은 듯싶다. 예를 들어 문자열의 단순한 단어등을 검색할 때엔 string의 find가 좋겠지만( ex: "서울시 강남구", "경기도 수원시"에서 단순하게 앞에 3글자인 "서울시"를 탐색할 때 라든가), 이메일 주소같이 더 복잡해지면서 어떤 규칙이 존재할..