본문 바로가기

최종합격! 요 몇 주 이직 준비하느라 공부를 게을리했네요 ㅠ_ㅠ나태해지지 않고 지금보다 더 열심히 해서 회사에서도 제 개인적인 목표도 다 이루는 한 해가 되고 싶네요.다른 분들도 꼭 원하시는바 이루시길 ^.~
Chapter13 프로젝트의 설정과 무한 맵의 제작 1. 새로운 모듈을 추가하려면 언리얼 빌드 규칙을 이해하고, 이에 따라 폴더와 파일을 생성해야 한다. 추가 모듈 제작을 위해 필요한 요소는 다음과 같다. 모듈 폴더와 빌드 설정 파일 - 모듈 폴더와 모듈 명으로 된 Build.cs 파일모듈 정의 파일 - 모듈명으로 된 .cpp 파일 2. 비쥬얼 스튜디오에서 추가한 모듈을 빌드하도록 각 Target.cs 파일은 게임 빌드와 빌드 설정을 지정해준다.이렇게 하면 빌드시 Binaries폴더에 DLL이 생성된다. 그렇다면 얼리얼 에디터가 이 DLL을 로딩하도록 명령하는 일만 남았다.이를 uproject 파일에 새로운 모듈에 대한 정보를 기입한다. 3. 생성자 코드에서 캐릭터 애셋을 코드로 지정할 수 있지만, 만일 애셋이 변경되면 코드를 다시 만들고 컴파일해야 하는..
Chapter12 AI 컨트롤러와 비헤이비어 트리 1. 엔진버전 4.20 버전부터 내비게이션 시스템 구조가 변경됐다.( 말이 많더니 계속 바뀌는중인듯!)- PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "UMG", "NavigationSystem"}); 모듈- #include "NavigationSystem.h" #include "Blueprint\AIBlueprintHelperLibrary.h" 참조 추가-UAIBlueprintHelperLibrary::SimpleMoveToLocation(this, NextLocation.Location); 블루프린트 함수로 이동함 2. 비헤이비어 트리는 NPC가 해야 할 행동을 분석하고 ..
Chapter11 게임 데이터와 UI 1. CSV 파일을 언리얼 엔진에서 읽기 위해서는 테이블 데이터의 각 열의 이름과 유형이 동일한 구조체를 선언해야함FTableRowBase를 상속받아서 만들면됨 2. UDataTable 자료형에 담을 수 있음
Chapter10 아이템 상자와 무기상자 1. 엑터의 컴포넌트에서 시각적인 기능을 끄고자할 때 사용하는 함수는 SetVisiblity와 SetHiddenInGame이 있다.Visiblility를 끄면 에디터 화면과 게임플레이 화면에서 모두 사라진다.HiddenInGame은 에디터 레벨 작업에서는 보여주되, 게임 플레이 중에는 사라진다.
Chapter9 충돌 설정과 대미지 1. 언리얼 엔진에서는 콜리전을 크게 세 가지 방법으로 제작할 수 있다.- 스태틱메시 애셋 : 스태틱 메시 애셋에 콜리전을 심는 방법이다.- 기본 도형 컴포넌트 : 구체, 박스, 캡슐등의 도형을 사용해 충돌 영역 지정- 피직스 애셋 : 특정 상황에서 캐릭터의 각 관절이 흐느적거리는 RagDoll 효과를 구현할 때 각 부위에 기본 도형으로 충돌 영역을 설정하고이를 연결해 캐릭터의 물리를 설정한다. 피직스 애셋은 스켈레탈 메시에서만 사용할 수 있다. 2. Collision Enabled 항목- Query : 충돌 영역이 서로 겹치는지 테스트 하는 설정. 충돌 영역이 겹치면 관련 컴포넌트에 BeginOverlap 이벤트가 발생레이케스트나 스윕 기능도 Query에 속한다.- Physics : 물리적인 시뮬레이션..
Chapter7,8 애니메이션 애니메이션 블루프린트는 시각적 도구를 사용해 애니메이션 시스템을 제작하도록 설계된 애님 그래프, 애니메이션 블루프린트의 기반을 이루는 애님 인스턴스 두 가지로 구성된다.1. - 애님 인스턴스 : 스켈레탈 메시를 소유하는 폰의 정보를 받아 애님 그래프가 참조할 데이터를 제공한다. 블루프린트와 C++로 제작할 수 있다.- 애님 그래프 : 애님 인스턴스 변수 값에 따라 변화하는 애니메이션 시스템을 설계하는 공간이다. 2. 게임 엔진은 틱마다 입력시스템->게임 로직-> 애니메이션 시스템 순으로 로직을 실행한다. 3. 스테이트 머신, 트랜지션 4. UPROPERTY에 설정하는 키워드인 EditAnywhere와 VisibleAnywhere에 있는 Anywhere 키워드는 에디터와의 연동 방법에 따라 Defaults..
Chaper6 캐릭터의 제작과 컨트롤 1. 캐릭터 무브먼트 컴포넌트가 FloatingPawnMovemnt에 비해 가지는 장점은?- 점프와 같은 중력을 반영한 움직임 제공- 기어가기 날아가기 수영하기 등 다양한 움직임 가능- 멀티 플레이 환경에서 캐릭터들의 움직임을 자동으로 동기화 2. 컨트롤러는 물리적 상황을 고려하지 않은 플레이어의 의지에 관한 데이터를 관리 폰은 게임 세계에서 물리적인 제약을 가지기 떄문에 물리적인 상황을 관리 3. C++은 class 키워드로 열거형을 선언하는 방식과 class 없이 선언하는 방식, 이렇게 두 가지를 제공한다.다른 열거형간의 묵시적 변환을 허용하지 않는 전자의 방식을 추천한다.범위있는 enum (Class 키워드) vs 범위없는 enum // Effective modern C++항목 10에서전자의 장점 ..