
언리얼 그냥 아무거나 만들면서 익숙해지기 오늘은 움직이는 벽, 상호작용 가능한 큐브, trigger한번 다시 만들어 보면서 익숙해지는 시간을 가졌다. 언리얼 공식 유튜브에서 영상 시청하고 소감 남기기 https://www.youtube.com/watch?v=Bx

day2, 블루프린트 노드들 공부하기, 회전문 만들기

언리얼 : enum, array, struct, 함수, format text, set array elem, struct배열을 get a copy해서 사용 C++ : unordered_set, unordered_map을 특히 많이 사용했으며, 백준에서 문자열 문제들도 품

간단한 점프맵을 만들어 볼 것 이다.learning kit에 있는 다양한 물체들을 점프대로 사용을 할 것이고, 움직이는 물체의 경우 SM_Module_Platform으로 만들 것이다.물체가 혼자서 움직이는 것을 구현하고, 최대한 점프 조작감을 좋게하는것이 목표가능하다면

언리얼 구현 과정 어제 하던 과제 좀 더 컨텐츠 늘리기 구현 과정 JumpOrb 변경 적절한 스태틱메시를 찾아서 JumpOrb를 변경해주었다. 귀여운 코어 모양 이에 맞게 이벤트 그래프도 변경해주었고, 마지막 지점에 들어갈때 발판을 제거하고 Orb로만 구성을

C계열 언어의 경우 주소로 접근해서 처리를 하기 때문에 더 빠르다. 어떤 형식 어떤 크기 어떤 주소 이름까지 구닥다리 느낌으로 넣어주니까 속도가 더 빠르다CTRL + F7 컴파일F5 실행표준 입출력 라이브러리float와 double은 정밀도 차이고, C++은 기본적으로

첫번째 코드내 풀이모든 분기를 만들었다. 코드더럽괄호에 따른 연산 우선순위를 적용하려면 스택을 사용해야 하기때문에 구조를 모두 바꿔야한다.내 풀이5 + 7 (87) 처럼 숫자와 괄호가 붙어있는 경우는 제대로 판별을 못해서 숫자 + 괄호가 붙어있는 부분은 를 붙여준다던지

C++ Class 개념 우리는 유지보수를 용이하게 하고, 재사용성을 높이는 방향으로 구현해야 합니다. C++에서는 이를 위해 객체지향 프로그래밍을 활용할 수 있습니다. class의 정의 자동차를 예로들면 우리는 자동차의 세부사항을 몰라도 기능을 이해하기 때문에

C++에서는 함수 이름과 매개변수 타입 정보를 함께 사용해 함수를 구분한다.함수 이름 구분을 위해 내부적으로 고유한 이름을 부여하는것을 네임 맹글링이라고 한다.함수이름이 같고 -> 매개변수 타입이 다른경우, 매개변수의 개수가 다른경우 오버로딩타입 변환이 가능한 매개변수

알고리즘 문제 풀면서 새로 알게된 내용 정리내 학점을 구해줘cout << fixed -> 소수점 고정cout.precision(n) -> n번째 자리까지 출력수 정렬하기5cin.tie(NULL)ios::sync_with_stdio(false)백준에서는 cin

C++

C++
컨트롤 전송으로 다음 초기화를 건너뜀 이라는 오류가 남switch문의 구조상 다른 case로 점프하는 경로가 tmpName초기화를 건너뛸 수 있다고 판단해서 컴파일러가 막은것(string처럼 생성/소멸이 필요한 타입은 더 엄격)해결방법case 1에 중괄호로 감싸서 tm

스택스택 메모리는 함수 호출시 자동 할당 및 자동 해제크기가 제한적 1~8MB이며 LIFO (스택이므로)지역 변수, 함수 매개변수, 반환 주소등이 저장힙프로그래머가 명시적으로 할당(new, malloc) 하고, 해제(delete, free)해야 합니다.크기가 스택보다
C++

C++

C++

개발 시 반복적으로 등장하는 문제를 해결하기 위한 일반화된 솔루션디자인패턴은 크게 3가지로 분리된다.새로운것을 만들어내는 방법과 관련된 패턴공장에서 물건을 찍어내는 것에 비유가능프로그래밍에서는 객체가 된다.싱글톤 패턴여러 부품을 어떻게 조립하고 연결하는 방법에 대한 패

실시간 렌더링 기능실시간 렌더링으로 최상의 비주얼을 손쉽게 구현블루프린트프로그래밍을 몰라도 게임 로직을 만들 수 있음눈으로 확인하면서 개발 가능모든 플랫폼에서 가능PC, 콘솔, 모바일까지 한 번에 지원가능한번의 구현으로 다양한 기기에 배포가 가능하니 효율이 좋다.활성화

accumulate : numeric헤더에 포함min_element, sort, find, count_if등 알고리즘 : algorithm헤더isdigit : cctype암시적 형변환 : 컴파일러가 자동으로 타입을 변환(int->double, char\*->string

업로드중..

두개 뽑아서 더하기 문제vector를 선언할때 셋의 이터레이터를 넘겨주어 셋을 안정적으로 벡터로 변환할 수 있다.문자열내마음대로정렬하기

첫 팀프로젝트 과제가 발제되었다.팀의 팀장을 맡게되었는데 게임을 주제로 팀프로젝트 하는게 처음이라 어떤것부터 해야하는지 감이 안오는 상황이다. 그래도 지금 이렇게 경험해놓으면 나중에 팀 프로젝트할때 조금 더 수월할것이라고 기대하고있다. 우선 내일 회의때 이야기해볼법한

깃 초기 커밋프로젝트 컨셉잡기몬스터 정의게임 매니저개발을 맡기로 하였다.

그냥 int를 쓰는것보다 명시적으로 static_cast를 써주는게 좋다.타입 안정성이 보장된다.Monster클래스에 순수가상함수를 넣어서 추상클래스로 만들었는데 추후에 사용할때 인스턴스를 생성하려고 했다.당연하게도 추상클래스에서는 인스턴스 생성이 안된다..Monste

헤더에있는 sqrt를 빼먹지 말자C++에서 조합 만드는방법을 배워서 써먹으려고 했는데 생각보다 복잡해보여서 우선은 삼중for문으로 해결했다.

팀프로젝트 오늘 작업할 내용 UIManager로 출력부 분리 아스키아트 적용해보기 오늘 작업한 내용 UIManager 기존 GameManager와 BattleService가 게임 진행 로직뿐 아니라 std::cout 기반 화면 출력까지 모두 담당하고 있었다.

보스전 만들기도전과제 완료시간 남으면 아스키아트 보스전부터 순차 적용퀴즈로 보스전이 진행되는데 첫 라운드에는 Round출력과 문제 출력이 함께되었는데 두번째 라운드부터는 라운드만 출력되고 꼭 엔터를 눌러야 문제가 출력이 되었다. 별거 아닌 부분이지만 고치려고 했는데 도

회고 겸 이번에 처음 배웠던 개념들에 대해서 정리해보고자 한다.게임 개발에서 게임엔진/렌더러/씬매니저/게임오브젝트는 역할이 분리된 부품이다.이 부품들이 "메인루프"안에서 매 프레임 협력해서 게임이 돌아간다.가장 전형적인 구조는 "업데이트(로직) -> 렌더(그리기)"를

생명주기 코드에 로그를 찍어주었을때 생성자와 Destroyed는 레벨에 액터를 배치하자마자/삭제되자마자 뜨게됨Tick은 어차피 계속 실행되고 저기다가 로그를 두었을때 다른 로그들 확인이 불가하므로 틱에는 넣지않음월드 좌표, Set Actor Location상대좌표, 로

헤더파일 추가보다 전방선언을 자주 사용하자2-2 Enhanced input system강의에서문자를 다루는데 굉장히 유용한 문제였던것 같다.char형 current를 그냥 current++해서 사용한다던지char형 벡터 vec에 'a'+i : 즉 문자더하기 int를 해

인터페이스 : 클래스가 반드시 구현해야하는 함수 목록만을 미리 정의해두고 실제 함수의 동작은 해당 클래스를 상속받거나 구현하는 쪽에서 자유롭게 작성할 수 있는 일종의 계약서상속은 부모의 실제 구현을 가져다 쓰지만 인터페이스는 함수의 틀만 빌리고 그 안의 코드는 하위에서

게임 내에서 플레이어에게 정보를 제공하기 위한 화면플레이어가 현재 상황을 이해하는데 필요한 체력, 미니맵, 퀘스트 업데이트와 같은 데이터 제공Canvas기반 HUDAHUD클래스를 상속하여 구현기본적인 2D그리기 작업간단한 HUD에 적합UMG(Unreal Motion G

입력 바인딩을 처리해줄 함수를 선언한다.SetupPlayerInputComponentInput Action을 처리할 함수를 만든다.Enhanced Input에서 액션값은 FInputActionValue로 전달된다.SetupPlayerInputComponent 함수 만들

언리얼 엔진에서는 직접 지정한 박스, 구체, 캡슐 등 원하는 형태의 '콜리전 컴포넌트' 내부에서 임의의 좌표를 뽑아 아이템(액터)을 스폰할 수 있다.UBoxComponent\* SpawningBox;박스 형태의 콜리전 영역언리얼 엔진의 UBoxComponent는 박스