분류 전체보기 87

2026/06/26

TIL 쓰기전 항상 명심 할 것작성 타이밍: 공부가 다 끝나고 쓰려고 하면 지쳐서 안쓴다. 모르는게 있을 때 즉시 적기작성 강도: 메모가 절대로 '공부'나 '또 하나의 짐'처럼 무거워지면 안됨. [개념] 접근 제어자 (private / public)★ ★ ★ ★ ★ 한 줄 요약: 자판기로 비유하면 클래스 내부 멤버 변수를 유리(private)로 숨기고, 안전한 동전 구멍(public 함수)을 통해서만 값을 바꾸게 강제하여 버그를 막는 설계언제 중요한지:변수에 말도 안 되는 예외 값(예: HP가 음수가 되거나, 소지 골드가 마이너스가 되는 현상)이 들어와서시스템이 터지는 것을 막고 싶을 때.코드:// ❌ [Before] 변수가 public으로 열려있어 데이터가 오염되는 경우class APlayer {pub..

2026/06/25

TIL 쓰기전 항상 명심 할 것작성 타이밍: 공부가 다 끝나고 쓰려고 하면 지쳐서 안쓴다. 모르는게 있을 때 즉시 적기작성 강도: 메모가 절대로 '공부'나 '또 하나의 짐'처럼 무거워지면 안됨. [트러블 슈팅] 플러그인 모듈이 로드되지 않는 문제(Plugin 'Temporary' failed to load because module 'Temporary' could not be initialized successfully after it was loaded.)문제: 플러그인 DLL은 찾았고 로드까지 시도했지만, 모듈 초기화 과정에서 실패원인 (이유): IMPLEMENT_MODULE을 통해 엔진의 모듈 시스템에 등록하지 않아서 생긴 문제해결 방법: 플러그인 모듈 구현부(.cpp)파일 하단에 IMPLEMEN..

2026/06/24

TIL 쓰기전 항상 명심 할 것작성 타이밍: 공부가 다 끝나고 쓰려고 하면 지쳐서 안쓴다. 모르는게 있을 때 즉시 적기작성 강도: 메모가 절대로 '공부'나 '또 하나의 짐'처럼 무거워지면 안됨.[질문] 내가 몰랐던 것: void OnRep_ServerRotationYaw(); 함수는 어디서도 호출되지 않았는데 어떻게 액터에 적용 된 걸까??원인 (이유): Replication Notify 시스템에 등록된 콜백 함수라서 자동으로 호출코드: //hUFUNCTION()void OnRep_ServerRotationYaw();UPROPERTY(ReplicatedUsing = OnRep_ServerRotationYaw)float ServerRotationYaw;//cppvoid ADXBox::OnRep_Server..

2026/06/19

TIL 쓰기전 항상 명심 할 것작성 타이밍: 공부가 다 끝나고 쓰려고 하면 지쳐서 안쓴다. 모르는게 있을 때 즉시 적기작성 강도: 메모가 절대로 '공부'나 '또 하나의 짐'처럼 무거워지면 안됨. [개념] NetLoadOnClient 속성 한 줄 요약: 레벨에 배치된 액터를 클라이언트에서도 로드할지 결정하는 네트워크 속성언제 써?:레벨에 정적으로 배치되어 동기화 해줄 필요 없는 액터(맵에 배치된 문, 상자, 장식물, 트리거)코드: 에디터에서 엑터 블루프린트로 설정하는게 편함[개념] Replication Notify한 줄 요약: Replicated 변수 값이 클라이언트에서 변경되었을 때 자동으로 호출되는 알림 함수 언제 써?:서버에서 바뀐 값이 클라이언트에 전달된 뒤, 클라이언트 쪽에서 추가 처리가 필요할 ..

2026/06/18

TIL 쓰기전 항상 명심 할 것작성 타이밍: 공부가 다 끝나고 쓰려고 하면 지쳐서 안쓴다. 모르는게 있을 때 즉시 적기작성 강도: 메모가 절대로 '공부'나 '또 하나의 짐'처럼 무거워지면 안됨. [개념] 로그 매크로 정의한 줄 요약: 반복해서 쓰는 로그 형식을 매크로로 묶어, 필요한 정보를 자동으로 붙여 출력언제 써?:같은 형태의 로그를 여러 번 찍을 때코드:#define MY_LOG(Category, Verbosity, Format, ...) \ UE_LOG(Category, Verbosity, TEXT("[Prefix] %s"), \ *FString::Printf(Format, ##__VA_ARGS__)) [개념] 새로운 로그 카테고리 선언한 줄 요약: 로그를 기능별로 구분 언제 ..

2026/06/16

TIL 쓰기전 항상 명심 할 것작성 타이밍: 공부가 다 끝나고 쓰려고 하면 지쳐서 안쓴다. 모르는게 있을 때 즉시 적기작성 강도: 메모가 절대로 '공부'나 '또 하나의 짐'처럼 무거워지면 안됨. [질문] 내가 몰랐던 것 (문제): FString 자료형 변수인데 어떻게 배열처럼 인덱스로 접근 할 수 있을까?원인 (이유): FString은 문자들의 모음이기 때문에 배열처럼 인덱스로 접근할 수 있고, 문자열[i]는 i번째 문자 하나를 의미한다.정답이 "123", 입력이 "132"라면i정답입력결과011스트라이크123볼232볼코드 : FString AHWGameModeBase::JudgeResult(const FString& InNumberString, const FString& InGuessNumberStr..

2026/06/15

TIL 쓰기전 항상 명심 할 것작성 타이밍: 공부가 다 끝나고 쓰려고 하면 지쳐서 안쓴다. 모르는게 있을 때 즉시 적기작성 강도: 메모가 절대로 '공부'나 '또 하나의 짐'처럼 무거워지면 안됨. [질문] 왜 FText를 FString으로 바꿀까?내가 몰랐던 것 (문제): SetChatMessageString(Text.ToString()); 왜 입력받은 채팅의 Text 매개변수 자료형을 FText에서 FString으로 변경하는걸까?원인 (이유):FText는 화면에 보여주기 위한 텍스트에 가깝다.비유하면 사용자에게 보여주는 문장FString은 C++에서 문자열을 저장하거나 가공하기 쉬운 형태.비유하면 프로그램 내부에서 처리하기 좋은 문자열.UI 표시용 텍스트를 내부로직으로 돌릴 문자열로 변경하기 위함.(..

2026/06/12

TIL 쓰기전 항상 명심 할 것작성 타이밍: 공부가 다 끝나고 쓰려고 하면 지쳐서 안쓴다. 모르는게 있을 때 즉시 적기작성 강도: 메모가 절대로 '공부'나 '또 하나의 짐'처럼 무거워지면 안됨. [26-06-12] 멀티플레이 이름표 실종 디버깅문제상황: 채팅을 쳤는데 클라이언트 화면에 유저 이름표(Player0: )가 안 나오고 채팅 내용만 뜸.원인 (이유): PlayerNameString 변수에 UPROPERTY(Replicated)가 없어서 서버가 지어준 이름이 클라이언트로 배달되지 않았음 해결 방법: 중단점 걸고 디버깅하여 CXPlayerController.cpp 의 SetChatMessageString 함수속에 PlayerNameString 변수값이 제대로 전달 되지 않는 것을 확인 CXPlaye..

2026/06/02

1.AI퀴즈(매일 10문제)2.코드카타(매일 3문제)3.언리얼 기초 다지기AI퀴즈진도를 따라잡혀서 모르는 내용밖에 안나왔음. 코드카타문제 1: [숫자 비교하기]접근 방식: 조건문을 사용해서 숫자가 같을 경우와 다를 경우 2가지 케이스로 나누려고 하였다.핵심 코드: != 같지않다는 의미 피드백 & 최적화: 생략#include #include #include int solution(int num1, int num2) { int answer = 0; if(0문제 2: [두 수의 합 구하기]접근 방식:리턴값에 num1과 num2값을 +기호를 사용해 더하여 저장해 줬다.핵심 코드:+ 기호 피드백 & 최적화: 생략#include #include #include int solution(int num..

TDL(To_Day_List) 2026.06.02

2026/06/01

1.코드카타2.AI퀴즈3.언리얼 기초 다지기4.기획 수업코드카타(하루 3문제씩)-두 수의 곱-몫 구하기-나이 출력#include #include #include int solution(int age) { int answer = 0; if(0AI퀴즈-애니메이션 개념 학습 필요 문제1:다음 코드는 Tick 함수를 사용하여 액터를 회전시키는 코드입니다. 빈칸에 들어갈 올바른 코드는 무엇인가요?void AMyActor::Tick(float DeltaTime){ Super::Tick(DeltaTime); FRotator NewRotation = GetActorRotation(); NewRotation.Yaw += 90.0f * DeltaTime; _______________..

TDL(To_Day_List) 2026.06.01