profile
공부 일기장으로 변해버린 블로그 (https://cjbworld.tistory.com/ <- 이사중)
태그 목록
전체보기 (716)cpp(140)Unity(101)C(84)백준(83)WinAPI(76)win32api(68)server(55)network(35)Database(26)언리얼(21)DP(14)List(12)tree(10)2DProject(10)UE4(10)stl(9)배열(8)포인터(8)vector(8)Mordern C++(7)iterator(7)JumpKing(7)클래스(6)db(6)함수(6)32(6)이득우 겜수(6)리스트(5)문자열(5)데베(4)const(4)이득우(3)assembly(3)구조체(3)가변배열(3)Morder C++(3)erase(3)Enum(3)BFS(2)win32API_정리(2)다형성(2)static(2)const 포인터(2)switch(2)OUT(2)BST(2)inline(2)코루틴(2)포인터 배열(2)클래스 템플릿(2)문자(2)부등호(2)분할 구현(2)동적 할당(2)DirectX11(2)&&(2)템플릿(2)중간고사(2)컬렉션(1)2D(1)part7(1)Static Array(1)언리얼4(1)람다(1)알파벳(1)quick select(1)산술 연산자(1)면접(1)주난의 난(1)드래곤 앤 던전(1)뮤탈리스크(1)학교_겜프(1)L-value(1)SpawnActor(1)이분탐색(1)null(1)Array Access(1)PinCircle(1)백준 9095(1)회전(1)python(1)산술 연산(1)게임수학(1)ref(1)study(1)Direct12(1)공간 복잡도(1)치킨 배달(1)Deque(1)지역 변수(1)변수 종류(1)socket(1)unreal(1)action(1)VOID(1)색종이 붙이기(1)비트연산자(1)collision(1)Forward_list(1)kruskal(1)주사위 윷놀이(1)find(1)오큰수(1)꽃길(1)9996(1)1931(1)객체 복사(1)Static class(1)파쿠르(1)1475(1)AC(1)interface(1)비트 연산자(1)coding test(1)상속성(1)클래스 배열(1)FRotator(1)재귀함수(1)숨바꼭질 4(1)14003(1)증감연산자(1)인덱서(1)override sealed(1)define(1)사다리조작(1)11주차(1)동전뒤집기(1)소수(1)null 조건부 연산자(1)정수(1)정적 변수(1)벡터(1)비트(1)디스(1)백조의 호수(1)Reflection(1)KumpKing(1)실수(1)입출력 구현(1)mssql(1)dynamic array(1)data(1)상호 배타적 집합(1)disjoint set(1)1966(1)컴그(1)readonly(1)얕은 복사(1)array(1)DirectX12(1)react native(1)sliding(1)값형식 참조형식(1)숨바꼭질 5(1)게리맨더링(1)출력(1)typename(1)Google Play Consol(1)상속(1)SpawnActorDeferred(1)구현(1)우선순위 큐(1)연사자(1)숨바꼭질 2(1)겜수(1)(1)연산자 오버로딩(1)타일링(1)가르침(1)트럭주차(1)시간 복잡도(1)Modern C++(1)소멸자(1)vault(1)Astar(1)tip(1)algorithm(1)일곱좆밥(1)파닭(1)오버라이딩(1)컴백홈(1)MultiRun(1)GameMakers(1)TryGetValue(1)용돈관리(1)1271(1)구조체 포인터(1)함수 포인터(1)OS(1)오버로딩(1)10773(1)논리 연산자(1)2108(1)외부 변수(1)IColoneable(1)괄호 추가하기(1)분기문(1)입력(1)병합 연산자(1)container adaptor(1)경사로(1)11866(1)R-value(1)깊은 복사(1)보물섬(1)꽂길(1)packet(1)record(1)함수 템플릿(1)다이어트(1)이득우 언리얼(1)접근한정자(1)Unity_UI(1)프로퍼티(1)Nullable(1).NET(1)OpenGL(1)CPP20(1)전역 변수(1)이득우 선대(1)boolean(1)Cache(1)blender(1)GetButton(1)
post-thumbnail

Unreal 슬라이딩 구현 C++ (With Blender + Mixamo Character)

코드 구현 개요? 일단 달리는 상태에서 Q를 누르면 CapsuleHalfHeight를 절반으로 줄이고 지정한 위치까지 캐릭터를 옮길 것이다. 옮기는 동안은 일단은 아무런 키 입력을 받지 못하게 할 것임. ![](https://velog.velcdn.com/images/starkshn/post/cce303ab-21cb-49f5-a8bf-d990093c8

2023년 2월 1일
·
0개의 댓글
·
post-thumbnail

Unreal Vault, 파쿠르 구현 C++

업로드중.. 깃헙 코드 일단 유튜브나 구글링을 해보아도 거의다 블루프린트로밖에 구현을 한 것이 없었다.. 일단 블루프린트로 만든 여러 영상들을 보면서 c++코드로 나만의 방법으로 옮김. > 파쿠르 구현 튜토리얼 1~3 간단한 방식? 영상 Vault영상 이 세가지를 참고했는데 다 BP임. 그래도 그나마 도움됬던 부분은 튜토리얼1~3식 영상이였음. **

2023년 1월 31일
·
0개의 댓글
·
post-thumbnail

백준 2156 포도주 시식

분석 어제 계속하다가 머리 터질거같아서 오늘 다시 하니까 이해가 되었음.. 3잔 연속 마실 수 없으니까 모양이 아래와 같이 될것임. cache[n]을 n잔을 마시기 전의 최대합이라 생각 밑의 사진과 코드를 보면서 이해를 하도록 하자.. 설명을 잘 못한다는 것은 본인이 완벽히 이해를 못했기 때문이기도 한듯... 그래서 아래 블로그의 글과 코드와 위에 사진이랑 같이 보면 이해가 어느정도는 나는 됬었음. > https://omyodevelop.tistory.com/52 CPP코드 그런데 문제가 위에 코드로 백준에다가 내면은 시간초과 뜸. 그래서 제출할 때는 아래 코드로 제출을 하면 될듯

2022년 12월 20일
·
0개의 댓글
·
post-thumbnail

백준 10844 쉬운 계단 문제 DP

빡대갈 머리로는 도저히 이해를 할 수 없어 이런식으로 계속 노가다함... 그러다가 발견한게 무조건 양옆의 합이 홀수라는 점을 발견함.. 그래서 이것을 BFS나 Dijkstra 가중치를 생각을 했는데 대가리가 너무 아파서 포기하고 구글링을 함. > https://yabmoons.tistory.com/22 (여기보고 참고해서 글로 적으면서 정리함.) 요약하면 위와 같음. 근데 이것을 코드로 또 짜내는 것은 별개의 문제인듯 하다. C++코드 (내가 짠거) 좀 지저분 하고 더러운거 같다. 아직 DP를 잘모르는 사람이 코드를

2022년 12월 17일
·
0개의 댓글
·
post-thumbnail

Collision

UE4에서는 충돌에 영향을 주고 받을 수 있는 두가지 유형의 Component가 있다. Mesh Shape Object mesh의 경우 단순한것부터 수천 개의 vertex를 갖는 고해상도 캐릭터까지 개많음. 근데 물리엔진이 런타임에 충돌을 효율적으로 계산하기 위해서 Collision Mesh가 단순해야 하므로 일반적으로는 Collision mesh를 가능한 단순하게 유지하는 것이 좋다. Collision을 가질 수 있는 mesh의 유형은 static mesh 스켈레탈 mesh Procedural mesh etc 그러면 이런 Component들(mesh, shape object)이 어떻게 충돌하고 어떤일이 발생하냐면은? 충돌 이벤트 Block > 두 물체 모두 OnHit 이벤트가 호출됨. OnHit이벤트는 두 물체가 서로 충돌하는 순간서로의 경로를 막을 때마다 호출된다. 두 물체중 하나가 피직스를 시뮬레이션 할 경우 => S

2022년 12월 11일
·
0개의 댓글
·
post-thumbnail

Initialize_list

initialize_list Constructor를 사용하는 이유? > 가령 vector의 경우, 초기화할 때 vector v = {1,2,3,4,5,6,7,8}; 이런 식으로도 초기화가 가능합니다. 말 그대로 push_back(1);... 을 8번 하는 것보다 아주 깔끔한 방법이죠. 이런 것들을 위해 initializer_list 를 제공하는 것입니다.

2022년 12월 10일
·
0개의 댓글
·
post-thumbnail

Kruskal 알고리즘

Minimum spanning Tree 최소 스패닝 트리 트리는 일단 노드와 간선으로 이루어져 있다. 최소 스패닝 트리란? 간선을 최소화 해서 모든 노드들을 연결하는 것을 말한다. 길을 연결하는 과정부터 생각을 해볼 것이다. 스패닝 트리 이렇게 빨간 간선으로 만 연결할 때 간선이 최소화가 된다. 간선을 최소화 한다는 말은 "사이클"이 생기

2022년 12월 9일
·
0개의 댓글
·
post-thumbnail

라인 트레이스

라인 트레이스 👍👍👍👍👍 > 다른 게임 개발 에디터에서는 Raycast 라고함. 유니티할 때 해본 작업이다. 1. 배울 것들 라인 트레이스 (싱글 및 멀티) 스윕 트레이스 (Sweep Trace) 트레이스 채널 (Trace Channel) 트레이스 반응 (Trace Responess) 새 프로젝트는 Mechanics를 지원하기 위해 새로 프젝만들것이다. 2. Line Trace > 게임 세계에서 ㄷ두 지점 사이에 어떤 물체가 있는지 알려달라고 게임에 요청하는 한가지 방법이다. > 라인 트레이스의 공통적이고 중요한 기능은 "트레이스 채널"이다. > 라인트레이스를 사용할 때 특정 물체만 확인하고 싶은 경우가 있을 텐데 이때 사용하는게 트레이스 채널임. 약간 필터같은거로 다 걸러낸다고 생각하면 될거같다. Visibility > 보이는 물체를 확인하기 위해 라인트레이스를 사용할 경우 Visibility 트레이스 채널을

2022년 12월 9일
·
0개의 댓글
·
post-thumbnail

UE4_입출력 및 프젝 생성, 블루프린트

01 UE Engine 소개 레벨 물체 추가, 제거, 조작 등등 (레벨은 유니티로 치면 Game Scene같은거임) 블루프린트 비주얼 스크립팅 언어 사용방법, Mesh, Material -> 조합 -> 사용 프젝 만드는 방법부터 시작함 -> 유니티랑 비슷해서 쉽게쉽게 넘어감. 프젝만들어서 보면은 UE에디터 유니티 에디터와 비슷? 한거같다. 콘텐츠 브라우저, 뷰 포트 (유니티로 치면 GameScene) 월드 아웃라이너 > 유니티로 치면 오브젝트 클릭할 때 옆에 뜨는 정보? 칸 같은 부분 디테일 패널과 월드 셋팅 툴바 이런식으로 UE의 에디터 창이 구성되어있음. UE에서 레벨에 배치될 수 있는 모든 물체를 Actor라고 한다. (모든 Object가 Actor를 상속받는다) 블루프린트 Actor UE4에서 블루프린트라는 단어는 두가지 의미로 사용됨. > 하나는 UE4의 비주얼 스크립팅 언어 도는 애셋의 특정 타

2022년 12월 9일
·
0개의 댓글
·
post-thumbnail

Tree

Tree? > 계층적 구조를 갖는 데이터를 표현하기 위한 자료구조 > 노드 : 데이터 표현 간선 : 노드의 계층 구조를 표현하기 위해 사용 용어 깊이는 Root Node가 0이다. 높이는 3이다. 구현 양파를 까면 양파가 나오듯이 트리도 분리를 하면 트리라서 재귀함수와 잘 맞다. ![](https://velog.velcdn.

2022년 12월 1일
·
0개의 댓글
·
post-thumbnail

C++ 팁

C++ 팁 mem padding ❗ mem 조금 낭비하더라도 access를 위해 이렇게 padding을 넣는다. virtual function dynamic function binding > 프로그램이 실행될 때 함수가 binding된다는 것이다. 반대로 static function binding > Complie Tile에 바인딩 한다. 그러면 현재 virtual function넣으면 table 포인터가 들어가서 8바이트(64비트 일 경우)가 추가가됨. 그러면 sizeof(B)의 크기

2022년 11월 14일
·
0개의 댓글
·
post-thumbnail

Tutorial [WinMain] 2

빈 프젝 만들고 프로젝트 -> Property -> 일반 -> 다중 프로세서 컴파일 Yes ![](https://velog.velcdn.com/images/starkshn/post/d

2022년 11월 11일
·
0개의 댓글
·
post-thumbnail

std::deque

vector는 가변 길이 배열이다. 그래서 popfront(), pushfront()와 같은 동작이 느리다. 선형 시간 복잡도를 가지게된다. ( O(n) ) 이러한 단점을 극복하기 위한 것이 std::deque이다. Double Ended Queue 덱의 구조 필요조건 ❗ pushfront(), popfront(), pushback(), popback() 동작이 O(1) 시간 복잡도로 동작해야한다. 모든 원소에 대해 임의 접근 동작이 O(1) 시간복잡도로 동작해야한다. 덱 중간에서 원소 삽입 삭제 또는 삭제는 O(n) 시간복잡도로 동작해야하며, 실제로는 최대 n/2 단계로 동작한다. (여기서 n은 덱의 크기이다) 덱은 양방향으로 매우 빠르게 확장이 가능해야하고, 모든 원소에 임의 접근을 제공해야한다. 따라서 vector와 비슷하지만 앞/뒤 모두 확장할 수 있다. ![](https://velog.velcdn.

2022년 11월 4일
·
0개의 댓글
·
post-thumbnail

std::list

list std::list는 std::forward_list의 단점을 보완하기 위해서 C++ 제공하는 Container이다. std::list는 양방향 연결된 리스트이다. 즉, 이중 연결 리스트 double-linked list 구조로 되어있다. 기본적으로 pushback(), emplaceback(), pop_back() 함수를 제공한다. 삽입/삭제 forwardlist와 마찬가지로 pushfront(), insert(), popfront(), erase()제공하고 시간복잡도가 forwardlist와 같지만 실제 연산은 조금 더 덜린다. 한가지 봐야할게 insert(list.end(), 6) 일때 end()는 nullptr인데 end() 바로 앞에 삽입하는것이 확인 가능하다. iterator std::list의 iterator는 random access iterator보다 유연하지는 않다. random access iterator경우처

2022년 11월 2일
·
0개의 댓글
·
post-thumbnail

std::forward_list

std::array, std::vector등과 같은 연속된 자료구조에서는 중간 데이터 추가/삭제 하는 작업이 비효율적이다. 그래서 연결리스트와같은 형태의 자료구조가 등장. ostream > https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kks227&logNo=220221664888 forward_list 단일 연결 리스트를 구현해놓은 wrapper이다. 성능 유지를 위하여 전체리스트 크기 반환 X 첫번째 원소를 제외한 나머지 원소에 직접 접근 X 반대방향으로 이동하는 것 허용 X forwardlist는 마지막 원소에직접 접근 불가능 -> pushback 제공하지 않는다. 특정 위치에 원소를 삽입할려면 insert가 아니라 insert_after()함수 사용해야한다. > 이는 연결형 리스트에서 새로운 원소를 삽입후 해당 위치 앞에 있는 원소의 next 포인터를 수정해야

2022년 11월 2일
·
0개의 댓글
·
post-thumbnail

22/10/30

Rule Of Five #Pragma Once 뭐하는것인지 해더와 cop로 나누는 이유 => cpp의 complie processor를 이해 애야함

2022년 10월 30일
·
0개의 댓글
·
post-thumbnail

vector 1, 2, 3, 4

Standard Template Library STL? > 프로그래밍할 때 필요한 자료구조/알고리즘을 템플릿으로 제공하는 라이브러리 컨테이너(Container) > 데이터를 저장하는 객체 (즉, 자료구조 Data Structure를 의미) 오늘 알아봇 첫번째 '컨테이너'는 'vector'이다. vector (동적 배열) 1) vector의 동작 원리 (size/capacity) 2) 중간 삽입/삭제 3) 처음/끝 삽입/삭제 4) 임의 접근 (C# 리스트 == 동적배열) 배열 이렇게 사용가능한데 배열의 단점은 배열의 '크기'를 유동적으로 왔다리 갔다리 못함. 동적 배열 ![](https://velog.velcdn.com/images/starkshn/post/27d

2022년 8월 23일
·
0개의 댓글
·
post-thumbnail

콜백함수

콜백함수 > 다시 호출하다? 역으로 호출하다. 게임을 만들 때 이런 콜백 개념이 자주 등장함. MoveTask실습등 어떤 상황이 일어나면 -> 이 기능을 호출해줘 UI스킬 버튼을 누르면 -> 스킬을 쓰는 함수를 호출해줘. 함수 포인터 + 함수 객체 + 템플릿 예 이런식으로 Item클래스가 있고 이상태에서 어떤 조건을 체크를 하기 위해서 (TODO에 들어갈조건 체크) ![](https://velog.velcdn.com/images/starkshn/post/012b5e50-7054-4bca-a533-26dde2

2022년 8월 23일
·
0개의 댓글
·
post-thumbnail

템플릿 기초 1, 2

템플릿 템플릿 내용이 방대해서 이거 하나로만으로도 책을 낼 수 있다. > 함수나 클래스를 찍어내는 툴 함수 템플릿 이런식으로 함수 오버로딩을 통해서 다른 인자타입을 받는것을 늘릴 수 있다. Print("Hello"); 여기의 '조커 카드'가 '템플릿'이다. 이 함수들을 보면 각각의 타입으로 만들어 진 것을 볼 수 있다. T라는 타입에 따라 다양한 함수의 버젼이 만들어진다고 보면 된다. int를 받는 함수를 하나라도 사용을 하는 순간 컴파일러가 int를 받는 Print 함수를 만들어 내는 것이다. ![](ht

2022년 8월 23일
·
0개의 댓글
·
post-thumbnail

WinAPI 핸들, DC, 윈도우 이벤트(1)

WinAPI를 배우면 다른 운영체제 안드, IOS도 이것을 공부하면서 공부하는 방법도 배우기때문에 금방배울 수 있다는 자신감을 가져라. 잠깐 복습 여기서 윈도우 창을 만들고 그리고 반복문을 돌면서 메세지들을 처리를한다. (메세지 반응 큐) 그중에서도 메세지가 발생을 하면은 WM_PAINT라는 메세지가 발생했을 경우에 switch case에 들어

2022년 8월 22일
·
0개의 댓글
·