일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 크리티컬섹션
- 강참조
- UE_LOG
- map
- 람다
- 스마트포인터
- tweakobjectptr
- 약참조
- 선택정렬
- dataasset
- 알고리즘
- 정렬
- 정렬알고리즘
- UML관련
- 자료구조
- C++
- makeweakobjectptr
- enumasByue
- 프로그래머스
- unorder_map
- 델리게이트
- BFS
- stl
- 데이터애셋
- 구조적 바인딩
- 애셋로드
- moreeffectiveC++
- C++최적화
- 언리얼가비지컬렉터
- 비동기호출방법
- Today
- Total
목록전체 글 (430)
기억을 위한 기록들
https://en.cppreference.com/w/ cppreference.com Null-terminated strings: byte − multibyte − wide en.cppreference.com

이전에 작성하였던 넓이우선탐색(BFS)은 말그대로 해당 그래프에 어떤 요소가 있는지 전체적으로 탐색한것이였다. 이제 여기서 좀 더 나아가 해당 그래프에서 시작점과 목표점를 정하여 해당 두 점이 이어져 있는지 확인하는 알고리즘을 확인해보자 . 이전에 작성했던 Graph 클래스에서 새롭게 추가 된 bool형을 반환하는 Search함수이다. 이제 이 함수를 이용해서 확인해보자. 이런 그래프가 있다고 하면 6과7이 나머지 노드들과 떨어져 있는 상태이다. 예를 들어 1에서 7까지 갈수 있는지 여부를 확인한다고 하면 결과가 0이 나온다(실패) 이제 이 노드들을 이어준다. 이렇게 5번과 6번 노드를 추가로 이어주고, AddEdget(5,6)을 추가해준 뒤 확인해보면 결과는 1로 출력된다.(성공) 여기까지는 이제 갈수..
(시간 관련 *월드에는 시간 관리자(TimeManager)가 있는데 접근하면 게임에 필요한 다양한 시간 값들을 얻어 올 수 있다. Tick 함수의 DeltaSeconds 값은 GetWorld()->GetDeltaSeconds() 함수를 사용해 가져 올 수 있다.(Tick 함수가 아닌 곳에서 프레임 시간을 가져오고자 할 때 해당 함수는 유용함. *게임이 시작되고 현재까지 경과 된 시간 : GetWorld()->GetDeltaSeconds() *사용자가 게임을 중지한 시간을 제외한 경과 시간 : GetWorld()->GetUnpausedTimeSeconds() *현실세계의 경과 시간 :GetWorld()->GetRealTimeSeconds() *사용자가 게임을 중지한 시간을 제외한 현실세계의 경과 시간 :G..
Unreal C++ 정리 작명 참고문서 : http://api.unrealengine.com/KOR/Programming/Development/CodingStandard/index.html 코딩 표준 언리얼 엔진 4 코드베이스에 에픽게임스가 사용하는 표준과 규칙입니다. docs.unrealengine.com 코멘트는 소통이고, 소통은 중요합니다. 코멘트에 대해 명심하실 점이 몇 가지 있습니다 (Kernighan & Pike 의 The Practice of Programming 에서): (유형이나 변수 등의) 이름 내 각 단어의 첫 글자는 대문자로 써야 하며, 단어 사이에 보통은 공백을 띄우지 않습니다. Health 와 UPrimitiveComponent 정도를 예로 들 수는 있지만, lastMouseCo..

이번엔 스택이다. 스택 쌓자 스택 클래스와 해당 스택에 쌓는 노드 클래스 2개의 클래스로 구성 되어 있다. template class Node { public: Node(T _data) : mData(_data) {}; ~Node() { delete mNextNode; }; T mData; //현재 노드에 있는 데이터 Node* mNextNode; //현재 노드의 다음 노드를 가리키는 포인터 }; template class Stack { public: Stack() {}; ~Stack() {}; void Push(T newItem); T Pop(); T GetTopData(); bool IsEmpty() const; int GetStackSize() const; private: Node * mTopNod..

큐(Queue 클래스)에서 관리하는 데이터는 Node 클래스로 구성되어있다. 작성된건 링크드 큐이기도 한데, 순환큐도 있다. 순환큐는 배열에서 사용되서 new와 같은 연산이 없고, 고정배열이라 빠르나, 사이즈 제한이 있다. 어느정도 정해진 수만큼의 큐를 만든다면 순환큐도 좋다. template class Node { public: T mdata; //노드 값 변수 Node* NextNode; //해당 노드의 다음 노드 Node(T _data) :mdata(_data) {}; ~Node() {}; }; template class Queue { public: Queue() : mhead(nullptr), mtail(nullptr) {}; //기본값 초기화 ~Queue() {}; void Enqueue(T _..

#include #include #include #include using namespace std; int main(){ int N; //인원 cin >> N; cin.ignore(); int C; //비용 cin >> C; cin.ignore(); int arr[N]; int result[N]; int SumMoney=0; for (int i = 0; i > B; arr[i]=B; SumMoney+=B; cin.ignore(); } int RemainMoney=C; int RemainPeople=N; if(SumMoney

우선 새로 작성하기에 앞서 기존에 엔진에 있던 애니메이션 그래프를 하나 까보도록 하자. 간단하게 본 하나를 정해준 뒤, 해당 본의 위치/회전/스케일을 조절 할 수 있는 본 트랜스폼(변경)이다. 해당 그래프는 우선먼저 해당 그래프이 실질적인 계산이 일어나는 부분인 AnimNode관련된 파일인 \Engine\Source\Runtime\AnimGraphRuntime\Public\BoneControllers 폴더 안에 AnimNode_ModifyBone.h 을 보자면, 해당 클래스를 간단하게 살펴보면, enum으로 3가지 본 수정모드(?)구분을 해주고 있다. BMM_Ignode /* 이것은 이 채널을 무시한다(기존 골격 변환, 회전 또는 척도를 유지한다). */ BMM_Replace /*이것은 기존 본의 tra..
https://www.youtube.com/watch?v=AOEyyIxid2U&feature=youtu.be&t=649
https://docs.unrealengine.com/ko/Platforms/Mobile/Lighting/HowTo/CascadedShadow/index.html 캐스케이드 섀도 사용법 모바일 게임용 Cascaded Shadow 설정 방법입니다. docs.unrealengine.com 해당 설정을 해주지 않았을 때, 휴대폰기기에서 그림자가 출력되지 않는다. 관련 내용 https://docs.unrealengine.com/ko/Platforms/Mobile/Lighting/index.html 모바일 플랫폼용 라이팅 모바일 게임용 라이팅 셋업하기 입니다. docs.unrealengine.com

지난 글에서는 Foot IK을 하기 위해 사용되는 함수들을 알아보았다. 이제 해당 함수에서 구해낸 값들로 어떤식으로 적용되는지 살펴보자. 우선 SetFootOffsets 함수에서 Foot Offset L Location 이라는 Vector값이 어디서 사용되나 보자. 해당 변수를 레퍼런스 검색을 해보니 애니메이션 그래프 쪽에서 호출되고 있다. Apply Foot + Pelvis Offsets 다리와 골반의 Offsets값들을 적용하는 부분이다. 아래에 Pelvis Offset을 적용하는 그래프가 있고, 위의 그림에서 '본 트랜스폼(변경)'으로 Foot Offset L Rotation과 함께 호출 되고 있다. 해당 그래프의 디테일을 살펴보면, 노란색 화살표로 표시 되어 나오는게 수정 되고 있는 부분들이다. ..