콘텐츠 브라우저 불러오기 : Ctrl + SpaceBar액터 확대 보기 : 액터 선택 + F액터 바닥에 붙이기 : END플레이 중 마우스 커서 보기 : Shift + F1플레이 : ALT + P이동 모드에서 액터 복제 : ALT + 마우스 왼쪽 버튼 드래그편집 > 프
파일 > 새 레벨 > Basic월드 세팅 > 게임모드프로젝트 세팅 > 시작 레벨 변경모델링 모드 : Shift + 5기본 모드 : Shift + 1팁: 큐브그리드 기능 사용전에 SM_Skysphere 눈 모양 꺼주기 새 에셋을 생성합니다 라는 메세지 떠있는지 반드시 확
자식으로 스태틱 메쉬 추가박스 콜리전 추가 > 성공 태그 추가버택스 스내핑 : v + 좌클릭 드래그 (정확하고 쉽게 플랫폼 배치가 가능해짐)모빌리티 : 무버블 로 설정 (움직이게 하기 위해서)화살표 컴포넌트 추가 (크기가 작으니 2로 올리자)빈 공간 우클릭 후 블루프
버튼 + 트리거 (Box collision 만들기)변수 추가 > 액터 검색 > 액터 레퍼런스텔레포트 지점 > is valid is not valid (유효하지 않다면) print string (텔레포트지점을 활성화 하십시오! 라는 문구가 100초동안 빨간색으로 뜨게 해
(이미 3인칭은 완벽하다는 가정 하에)BP_ThirdPersonCharacter 블루프린트 열기 FollowCamera > TPP camera (이름 바꾸기)TPP camera 복사하기 > Mesh를 부모로 붙여넣기FPP camera에 부모 소캣을 head로 위치,회전
Part 1에서는 언리얼에서 C++과 하이레벨 OOP(CPart 2에서는 게임을 제작하기 위한 프레임워크 설계 강의\[Unreal Engine] Unreal Engine 5 / Visual Studio C++ 개발 환경 설정 언리얼 엔진 5 개발 환경 설정 세팅매크로
언리얼 환경에서 알아두어야 할 기본 타입과 고려할 점캐릭터 인코딩 시스템에 대한 이해언리얼 C++이 제공하는 다양한 문자열 처리 방법과 내부 구성의 이해FString의 구조와 사용 방법FName의 구조와 사용 방법int는 32비트 또는 64비트로 해석될 수 있다.따라서
시작
언리얼 오브젝트에는 항상 클래스 정보를 담은 UClass 객체가 매칭되어 있다.UClass로부터 언리얼 오브젝트의 정보를 파악할 수 있다.UClass에는 클래스 기본 오브젝트(CDO)가 연결되어 있어 이를 활용해 개발의 생산성을 향상시킬 수 있다.클래스 정보와 CDO는
generated.h 파일을 가장 밑에 include 하는 것이 원칙cpp 파일 include 순서도 해당 언리얼 오브젝트에 선언된 헤더가 가장 위쪽에 위치클래스명::StaticClass()객체->GetClass()GetValue_InContainer (void con
인터페이스란?객체가 반드시 구현해야 할 행동을 지정하는데 활용되는 타입다형성의 구현, 의존성이 분리된 설계에 유용하게 활용언리얼 엔진에서 게임 콘텐츠를 구성하는 오브젝트의 설계 예시월드에 배치되는 모든 오브젝트. 안 움직이는 오브젝트를 포함(Actor)움직이는 오브젝트
객체 지향 설계에서 상속이 가진 Is-A 관계만 의존해서는 유지보수가 어려움컴포지션은 객체 지향 설계에서 Has-A 관계를 구현하는 설계 방법컴포지션의 활용복합적인 기능을 거대한 클래스를 효과적으로 설계하는데 유용하게 사용할 수 있음.Single Responsibili
강한 결합클래스들이 서로 의존성을 가지는 경우를 의미아래 예시에서 Card가 업슨 경우 Person이 만들어 질 수 없다.이 때 Person은 Card에 대한 의존성을 가진다고 한다.핸드폰에서도 인증할 수 있는 새로운 카드가 도입된다면?느슨한 결합 실물에 의존하지 말고
언리얼 엔진 구조체데이터 저장/전송에 특화된 가벼운 객체대부분 GENERATED_BODY 매크로를 선언해준다.리플렉션, 직렬화와 같은 유용한 기능을 지원함.GENERATED_BODY를 선언한 구조체는 UScriptStruct 클래스로 구현됨.이 경우 제한적으로 리플렉션
C++은 저수준으로 메모리 주소에 직접 접근하는 포인터를 사용해 오브젝트를 관리한다.그러다보니 프로그래머가 직접 할다과 해지 짝 맞추기를 해야 한다.이를 잘 지키지 못하는 경우 다양한 문제가 발생할 수 있다.잘못된 포인터 사용 예시메모리 누수(Leak) : new를 했
오브젝트나 연결된 오브젝트의 묶음(오브젝트 그래프)을 바이트 스트림으로 변환하는 과정복잡한 데이터를 일렬로 세우기 때문에 직렬화거꾸로 복구시키는 과정도 포함해서 의미시리얼라이제이션 : 오브젝트 그래프에서 바이트 스트림으로디시리얼라이제이션 : 바이트 스트림에서 오브젝트
단일 언리얼 오브젝트가 가진 정보는 저장할 수 있지만, 오브젝트들이 조합되어 있다면?저장된 언리얼 오브젝트 데이터를 효과적으로 찾고 관리하는 방법은?복잡한 계층 구조를 가진 언리얼 오브젝트를 효과적으로 저장과 불러들이는 방법을 통일해야 함.언리얼 엔진은 이를 위해 패키
게임 제작을 위해 에픽 게임즈가 제공하는 저작 도구언리얼 엔진의 구성에디터 : 게임 제작을 위해 제공되는 응용 프로그램게임 빌드 : EXE 파일과 리소스로 이루어진 독립적으로 동작하는 게임 클라이언트언리얼 에디터의 특징게임 개발 작업을 위해 다양한 폴더와 파일 이름 규