2024/03 10

STL 컨테이너

STL 컴포넌트의 개요 STL에는 여섯 가지의 주요 컴포넌트 즉, 컨테이너(container), 제너릭 알고리즘(generic algorithm), 반복자(iterator), 함수 객체(function object), 어댑터(adaptor), 할당기(allocator)가 포함되어 있다. 컨테이너 객채들의 컬렉션을 저장하고 있는 객체를 SLT에서는 컨테이너라고한다. STL에는 두 가지 종류의 컨테이너가 있는데, 하나는 시퀀스 컨테이너이고, 다른 하나는 정렬 연관 컨테이너이다. 시퀀스 컨테이너 시퀀스 컨테이너는 타입이 동일한 객체들을 선형으로 구성한 컬렉션이다. STL의 시퀀스 컨테이너에는 다음 세 가지 종류가 있다. vector : 가변 길이 시퀀스를 임의 접근(random access)할 수 있으며, 시..

게임 객체와 컴포넌트의 관계

게임 객체란? 게임 객체는 게임 세계에서 자신을 갱신하거나 그리거나 또는 갱신과 그리기 둘 다 수행하는 모든 오브젝트를 가리킨다. 게임 객체를 표현하는 데는 몇 가지 방법이 있다. 일부 게임에서는 객체 계층 구조를 사용하고, 다른 게임에서는 합성을 사용하며, 또 다른 게임에서는 매우 복잡한 방법을 활용한다. 구현 방법에 상관없이 게임은 이러한 게임 객체를 추적하고 갱신하는 방법이 필요하다. 게임 객체의 타입 일반적인 타입의 게임 객체는 루프의 '게임 세계 갱신' 단계 동안 갱신되며, '출력 생성' 단계에서는 그려진다. 모든 캐릭터나 생명체 또는 움직일 수 있는 오브젝트는 이 범주에서 벗어나지 않는다. 예를 들어 슈퍼 마리오 브라더스에서 마리오나 적들 그리고 모든 동적인 블록은 게임이 갱신하거나 그리는 게..

그래픽스/OpenGL 2024.03.26

연결 리스트(Linked List)

연결 리스트란? 필요할 때마다 바구니를 하나씩 마련해서 그곳에 데이터를 저장하고 이들을 배열처럼 서로 연결한다. 라는 개념으로 접근하면 이해하기 쉽다. 바구니 역할이 구조체가 되고, 구조체 변수를 하나씩 동적 할당해서 이들을 연결한다. 그리고 구조체 Node의 변수를 가리켜 '노드'라 한다. 이는 데이터를 담는 바구니보다는 연결이 가능한 개체라는 사실에 중점을 두어 지은 이름이다. 이렇듯 구조체의 정의 하나만 가지고도 연결 리스트의 기본 원리라고 말할 수 있다. 이를 그림으로 표현하면 다음과 같다. 연결 리스트에서의 데이터 삽입 다음 임의 코드로 연결 리스트의 삽입 개념을 잡아보자. Node * head = NULL;// 리스트의 머리를 가리키는 포인터 변수 Node * tail = NULL;// 리스트..

0309 작업 현황

한 것 - 메시 스폰 - 마우스에 메시 따라 가기 - 메시 빨강 파랑 로직 구현 오류 잡은 것 & 이유 - 메시 초록불 체크 로직 다시 확인하고 fix함 -> 이유 땅에 닿는지 확인하는 레이 트레이싱 길이가 짧아서였음 길이 조절 후 fix됨 그 외 함수 구현이 조금 오류난 것들 fix완 해야 할 것 농사 시스템 - location 시키기 - 식물 소켓 부착하기 - 식물 상태 구현 하고 싶은 거 - UI - 빌딩시스템 - 동물 AI

UE5 2024.03.09

작업 현황 0307

함수 로직 검사하기 로직 검사하기 Hide = PreviewCollisionChecks(bIsEnable); if(bIsEnable) { EnablePlacement(); return; } 개선 방안 로직안에 호출하는 인터페이스 함수 구현이 덜 된듯 한 것 - 메시 스폰 - 마우스에 메시 따라하기 - 메시 빨강 파랑 로직 구현 오류 잡기 - 메시 초록불 체크 로직 다시 확인하고 fix하기 해야 할 것 농사 시스템 - 빨강 파랑 로직 구현 - location시키기 - 식물 소켓 부착하기 하고 싶은 거 - UI - 빌딩시스템 - 동물 AI 일단 팀프로젝트 농사 시스템 기초 틀 잡고 개인 프로젝트도 병행하자 개인 프로젝트보단 팀플에 집중하기

UE5 2024.03.07

작업 - 0303

시작해야 할 곳 에디터 플레이 시퀀스 다이어그램 함수 뭐가 더 많긴 한데 일단 이런식으로 정리했다. 디버깅 찍어가면서 굵직한 함수들 시퀀스 다이어 그램에 추가해주기. c++ 프로젝트 경험이 많지 않아서 많이 헤맸지만 숙련된 팀원이 c++ 함수 추적하기 도와주셨다. 또 주변에서 뭘 공부하면 좋을지 중복된 것들을 추려서 짬짬히 읽으면서 코드를 짰었다. 나중에 농사시스템 속도 좀 빼면 TSubclassOf CDO Reflection 이 세개는 빨리 정리하자 처음에는 bp어떻게 c++로 업데이트하나 막막했는데 주변에서 도움도 받고 계속 검색하면서 하니까 대충 이렇지 않을까 하는 감이 조금 생겼다. 이 덕분에 코드에 속도가 좀 붙었다. 항상 내가 이거 왜 하고 있는가? 왜 배워야 하는가? 생각하기

UE5 2024.03.04