티스토리 뷰
🟩 오늘의 목표
- 블렌드 스페이스로 캐릭터 애니메이션 자연스럽게 전환
- 회전·왕복·보간 이동 등 다양한 플랫폼 기믹 구현
- Overlap/Hit 이벤트로 상호작용 방식 이해
- C언어 포인터·배열 개념을 처음 접하고 구조 파악
- 앞으로 포인터 내용을 천천히 복습할 계획 세우기
🟧 라이브 세션 학습 내용 (DAY 5 – Unreal)
🟦 1. 애니메이션 블루프린트 적용
- ABP_Character 생성 후 Idle 애니메이션 연결
- BP_Character → Anim Class 등록
- 캐릭터 기본 상태 애니메이션 적용 완료
🟦 2. 블렌드 스페이스 제작
- BS_NBC_IdleRun 생성
- Speed 축 기반으로 Idle ↔ Run 전환 구성
- Idle(0) / Run(MaxSpeed) 배치
- Speed 변수 생성 후 BlendSpace에 연결
- Velocity 길이를 Speed로 활용해 자연스러운 전환 구현
🟦 3. 회전 플랫폼 (RotationPlatform)
- Event Tick → AddActorLocalRotation
- DeltaSeconds × 속도 값으로 균일 회전
- MoveDirection(Boolean)으로 회전 방향 전환
🟦 4. 이동 플랫폼 (MovingPlatform)
- StartLocation / PlatformVelocity / MoveDistance 설정
- BeginPlay에서 StartLocation 저장
- Tick에서 위치 이동
- 이동 거리 ≥ MoveDistance → NegateVector로 왕복
🟦 5. 보간 이동 플랫폼 (Interp Movement Component)
- BP_Floor 생성 → Movement Component 추가
- Control Points만 설정해 경로 이동 자동화
- Behavior = Ping Pong
🟦 6. Overlap 기반 기믹
🔹 BP_Ice – 미끄러운 바닥
- BoxCollision으로 캐릭터 감지
- Overlap 시 GroundFriction 0 / BrakingDecelerationWalking 100
- EndOverlap 시 원래 값 복귀
🔹 BP_OverlapFloor – 붕괴 발판
- Overlap → Branch로 캐릭터 판별
- Delay → SimulatePhysics → DestroyActor
- 캐릭터가 밟으면 떨어지는 구조 구현
🟦 7. 중심축 회전 + Launch 기믹 (BP_RotateCar)
- BeginPlay에서 메시를 Radius만큼 바깥으로 이동
- AddActorLocalRotation으로 중심 회전
- OnComponentHit에서 캐릭터만 LaunchCharacter
- HitNormal * -550 으로 반대 방향 밀어내기
🟧 C언어 기초 세션 – 4,5 (포인터·배열·함수 전달)
🟦 1. 함수 인자 전달 방식
- 값 전달(Value): 복사본 전달 → 원본 안전
- 포인터 전달(Pointer): 주소 전달 → 원본 수정 가능
- Unreal C++에서도 자주 쓰이는 중요한 개념
- 아직은 자연스럽지 않아서 추가 복습 예정
🟦 2. 포인터 기본 개념
- 포인터 = “메모리 주소를 저장하는 변수”
- & 주소 연산자 / * 역참조
- NULL / 유효 주소 체크가 매우 중요
- 강의에서 들은 구조는 이해했지만
“직접 코드로 쓰는 건 아직 조금 어려움 → 복습 필요”
🟦 3. 배열과 포인터의 관계
- 배열 이름은 곧 첫 요소의 주소(decay)
- p[i] == *(p + i) 형태
- 배열을 함수에 넘길 때 사실상 포인터 전달
- 오늘은 “개념 맛보기 느낌”
→ 나중에 C++ 하면서 함께 익힐 예정
🟫 오늘 느낀 점
- 블렌드 스페이스가 단순 애니메이션 연결이 아니라 “속도 기반 전환”이라는 걸 체감함.
- 다양한 플랫폼 기믹을 직접 만들면서 레벨 구성의 흐름이 더 잡히기 시작함.
- C언어 포인터는 확실히 낯설고 어렵게 느껴지지만,
강의 흐름을 따라가며 전체 구조만 먼저 파악한 것은 큰 도움이 됨. - 급하게 이해하려 하지 않고, 복습과 실습을 통해 천천히 익혀갈 계획.

