260115 TIL - Unreal C++ 6일차

2026. 1. 15. 21:42언리얼 7기 본캠프

오늘은 코드카타가 척척 풀리는날이라 좋았음. 겪으면서 성장해 나가는건가?

 

//어제 익힌 Greedy?를 이용한 코드. 그리고 char와 int의 관계(아스키 코드)가 조금씩 정립되어가는중
//물론 다 하고보니 효율이 떨어지는 코드였지만(3중 for문;;) 그래도 조금씩 느낌을 잡아가는걸로!

#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<string> keymap, vector<string> targets) {
    vector<int> answer;
    vector<int> alpha(26);
    
    for(int i = 0; i < 26; i++){
        for(const auto k : keymap){
            for(int j = 0; j < k.length(); j++){
                if(k[j] == (char)(i + 'A')){
                    if(alpha[i] != 0 && j+1 > alpha[i]){
                        continue;
                    } else alpha[i] = j+1;
                }
            }
        }
    }
    
    for(const auto t : targets){
        int total = 0;
        bool isPossible = true;
        for(char c : t){
            if (alpha[c - 'A'] == 0){
                answer.push_back(-1);
                isPossible = false;
                break;
            }
            total += alpha[c - 'A'];
        }
        if (isPossible) answer.push_back(total);
    }
    return answer;
}

 

이후 하루종일 6번과제 하느라 과제지옥이었고, 중간에 Git LFS와 언리얼 Github의 협업 방식에 대해 튜터님과 함께 팀원분들과 셋업하는 방식을 진행하였고, 다음과 같은 과정을 거침

 

1. 깃 마스터가 깃허브 레포지터리와 Unreal 프로젝트 생성.
2. 레포지터리에 .gitattributes 추가
3. 추가할 에셋을 담을 구글 드라이브 생성
4. 구글 드라이브에 에셋 올리기
5. 깃 마스터가 다운받아서 추가한 뒤에 push
6. git clean -fx -d로 git history 삭제 후 압축
7. 압출된 파일을 구글 드라이브에 업로드
8. 다른 사람들이 다운로드 후 압축 해제 -> .uproject 파일 우클릭 후 Generate Visual Studio project files 실행
9.깃허브 데스크탑에서 current repository - add - add existing repository로 압축 푼 리포지토리 등록
10. 솔루션 파일 실행 후 솔루션 다시 빌드 이후 F5 눌러서 실행 테스트

 

튜터님이 한번 테스트해주시고, 이후 팀원분들끼리 일부러 큰 에셋을 사용해서 8GB정도 되는 파일을 만들어서 다시 해봤음. 용량이 크면 확실히 문제가 된다는걸 익혔고(프로젝트 생성이나 그런게 너무 오래걸림;) 겸사겸사 팀원분들과도 말문을 조금 더 트는 시간을 가질 수 있었음

 

과제... 아... 욕심을 너무 많이 부리고 있는거같음. 적당히 해도 될텐데...

하루종일 랜덤방식에 대해 배우고, 특정 범위 내 SpawnActor등을 활용해서 내부에 무언가 만드는걸 하고싶었음

근데 내 방식대로는 SpawnActor가 이루어지기 전에 액터 안의 특정 수치들을 건드리는게 필요했고, 이때 필요한게 SpawnActorDeferred였음. 쉽게 말하면 '이거 만들게! 그 전에 안에 이거 이거 건드려!'라고 하는것

 

작성한 SpawnActorDeferred 코드 중 일부

 

이를 통해서 오늘 움직이는 플랫폼에 더해 회전하는 UFO, 무작위 생성 운석들까지 만들 수 있었음. 이걸로 오늘 시간 전부 다 쓰고 야근까지 했음...

 

무작위 생성 영상 보여주고 마무리함

 

 

동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.

 

내일은 과제 마무리하고 2-1강 들을 수 있기를... 7번 과제를 할 시간이 촉박할 것 같음