250505

lililllilillll·2025년 5월 5일

개발 일지

목록 보기
162/350

✅ What I did today


  • C++ 스크립트를 활용한 언리얼 엔진 5 게임 개발
  • R&D
  • Art Practice : Drawing


📖 C++ 스크립트를 활용한 언리얼 엔진 5 게임 개발


GameInstance

  • 게임 전체에서 단 하나만 존재.
  • 레벨을 바꿔도 유지됨.
  • 클라이언트에만 존재함.
  • Persistent 데이터 저장용 (예: 설정, 세션 정보, 사용자 데이터).
  • 주로 Init() 함수에서 초기화.
  • 🧩 예: 로그인 정보 저장, 게임 설정 저장, 서버 목록 관리

GameModeBase

  • 게임 규칙, 흐름을 관리하는 클래스.
  • 서버에만 존재하며, 클라이언트는 접근 불가.
  • 어떤 Pawn을 스폰할지, 언제 게임을 시작할지 등의 로직 포함.
  • 🧩 예: 게임 시작 조건, 팀 자동 배정, 승리 조건 정의

GameStateBase

  • 게임의 상태를 클라이언트와 동기화하는 역할.
  • 서버에서 생성되어 클라이언트로 Replicate됨.
  • 점수, 경기 시간, 팀 상태 등 모든 플레이어가 알아야 하는 공용 정보를 저장.
  • 🧩 예: 남은 시간, 팀 점수, 현재 라운드

PlayerController

  • 각 플레이어에게 하나씩 생성됨.
  • 키보드/마우스 입력을 받아 Pawn에 전달.
  • HUD 표시, UI 조작 등 플레이어 인터페이스 관련 처리 담당.
  • 🧩 예: 캐릭터 이동 입력, 스킬 키 처리, HUD 표시, 카메라 컨트롤

Template 함수

template <typename T>
T Add<T>(T a, T b)
{
	return a + b;
}
template <typename T>
T Subtract<T>(T a, T b)
{
	return a - b;
}

float f = calculator.Add<float>(1.5f, 2.0f);
float i = calculator.Subtract<int>(3, 2);


🛠️ R&D


Portal

  • 포탈 안 타지는 문제 : character controller 켜져있으면 순간이동을 씹음
  • 방향 판정 문제 : 영상대로 plane을 쓴게 아니라 quad로 써서 그랬음
  • 무한 이동 문제 : collider가 아니라 부모 portal 오브젝트를 teleport receiver로 사용해서 그랬던거
  • 포탈 탈 때 약간 덜컹거림 : 포탈의 월드 높이를 동일하게 맞추지 않음
  • 렌더가 이상하고 텔레포트 위치도 이상해서 계속 포탈 타짐 : 포탈을 부모 오브젝트로 두지 않고 렌더 텍스쳐 오브젝트와 한 묶음으로 만들어놓음
  • 부모 포탈을 만들었는데도 시야가 이상함 : 렌더 텍스쳐를 여전히 포탈처럼 할당하고 있었음

대충 따라하다가 디버깅 하느라 시간 오래 걸림

VRoid

https://www.youtube.com/watch?v=4iQIqB5ewOw&list=PLx8rPBl0ff-kQlQDSaSfDj6x3Wxkzx08s&index=2

vrm importer : https://github.com/vrm-c/UniVRM

믹사모 애니메이션 적용 방법

  • unity package manager > Unity Registry > fbx exporter 설치
  • 모델을 씬에 올린 뒤 export fbx (안되면 fbx exporter 재설치)
  • 믹사모에 fbx 파일 올린 뒤에 애니메이션 다운 받기
  • 믹사모 파일 가져온 뒤 Rig > Animation Type > Humanoid
  • 가져온 파일에서 애니메이션 클립만 따로 복사
  • 애니메이션 클립 루트 모션 관련 필요한대로 설정


🎨 Art Practice : Drawing




profile
너 정말 **핵심**을 찔렀어

0개의 댓글