부모클래스는 자신의 변수와 함수를 가지며 부모클래스를 상속받은 자식클래스는 자신만의 변수와 함수를 가지며 추가적으로 부모클래스의 변수와 함수를 가진다.이 때 자식클래스는 부모클래스의 함수를 override하여 사용한다위 그림처럼 상속이 연속으로 이루어진 것을 계승 계층
게임 스크립트 언어 게임 공간에 배치된 객체 게임 세계에 배치할 수 있는 모든 것(좌표를 가짐)액터를 게임 플레이 도중 어떤 방식으로 이동 또는 변화할 수 있도록 할지를 제어빛과 그림자의 실시간 계산의 부하를 줄이기 위함스태틱(Static): 게임 플레이 도중 어떤 식
시간에 맞춰 같은 움직임을 반복적으로 보여주는 것들정해진 시간에 정해진 대로 영상을 변화시키기 위한 기능시간의 경과에 따른 값의 변화를 곡선으로 표현x축: 시간y축: 값트랙의 종류: float, vector, color, event곡선 입력Key=(time, value
오버랩 활용을 목적으로 하여 게임의 물리적인 움직임에는 간섭하지 않고 게임의 로직의 시발점이 되는 콜리전트리거 = 이벤트 박스상효작용적 요소를 가져야함맵의 특정 장소에서 특별한 일이 발생, 장치/아이템과 상호작용두 자동차의 충돌 -> 물리적인 현상이 실제로 발생함코스
정적 객체한 번 맵에 배치되면 움직임이 없는 객체동적 객체동적으로 생성되었다가 소멸되는 객체ex) 스폰(spawn), 리스폰(respawn)액터를 생성하는 것Locator를 사용하여 위치 좌표를 설정해주어야 한다마우스로 움직여 조정할 수 있다스폰 지점, 이동 중계 지점
언리얼 엔진 기초 C++로 Actor 만들기 StaticMesh 추가하기 CreateDefaultSubobject를 통해 생성자에서 mesh를 초기화하고 있다 VisibleAnywhere를 통해서 엔진 내에서도 속성이 보이게 할 수 있다 ConstructorHe
애니메이션 사용하기애니메이션 모드를 Use Animation Asset으로 선택한 후 사용하고 싶은 애니메이션을 선택AnimInstance 클래스 생성 후 애니메이션 클래스에 Speed 변수 추가어디서나 편집할 수 있고 블루프린트에서 ReadOnly 속성이며 카테고리는
애니메이션 블루프린트에서 State Machine 추가다양한 상태를 등록해서 상태에 따른 행동을 결정할 수 있다땅에 있는 Ground 상태에 대한 움직임C++ 애니메이션 클래스에 떨어지는지 판별하기 위한 IsFalling 변수 추가캐릭터 클래스의 GetMovementC
애니메이션을 편집해서 또 다른 애니메이션을 만드는 기법스켈레탈 메시 에셋 에디터 -> Create Asset -> Anim Montage로 생성여러가지 애니메이션을 붙이고 잘라서 새로운 동작을 만들어낼 수 있다애니메이션의 End Time을 조정해서 다양한 효과를 만들
어떤 함수가 끝났을 때 특정 함수를 호출하도록 등록하는 것바인딩을 통해 콜백함수를 등록한다캐릭터에 공격중인지 판단하는 IsAttacking 변수공격중이라면 함수를 바로 빠져나온다BeginPlaye시 만드렁둔 AnimInstance를 초기화하고 몽타주가 끝났을 때 호출
애니메이션의 특정 부분에서 코드에 알림을 받을 수 있는 기능몽타주의 Notifies 칸 우클릭 -> Add Notify -> New Notify를 통해 애니메이션 노티파이를 추가할 수 있다애니메이션에 Nofity를 받을 함수 추가만들어준 Nofity의 이름과 동일하게
공간을 섞는다는 뜻으로 애니메이션을 섞는 기능을 한다애니메이션 -> 블렌드 스페이스 생성을 통해 생성할 수 있다블렌드 스페이스 애셋의 가로축과 세로축에 이름을 생성한다Vertical: 상하, Horizontal: 좌우축의 최솟값과 최댓값을 -1 ~ 1로 지정한다축의 값
Engine -> Collision에 Object Channel 추가 preset profile도 추가 행동(공격)과 관련된 충돌은 Trace Channel에 추가 Attack 추가 애니메이션 공격에 대한 델리게이트 추가 멤버 변수로 델리게이트를 가지고 있는다
소켓이란 스켈레탈 메시 내 본에서 약간 오프셋을 준 부분을 말합니다. 소켓을 통해 오브젝트를 붙일수 있습니다. 왼쪽 손(hand_l)에 소켓 추가 캐릭터에 무기를 붙여줄 StatckMeshComponent 멤버 변수 추가 캐릭터의 생성자에서 만들어준 소켓에 We
아이템에 대한 오브젝트 채널과 프로필 추가 무기에 충돌 영역을 담당할 BoxComponent 추가 생성자에서 Weapon을 RootComponent에, Trigger를 Weapon에 붙여준다 Weapon과 Trigger의 CollisionProfileName을 위에
GameInstance를 상속받은 C++ Class 추가 GameInstance는 게임이 시작될 때 한번만 초기화된다. 스탯과 관련된 데이터 매니저로 사용하기 유용하다. GameInstance에 캐릭터의 스탯을 관리하는 구조체 추가 MyCharacterData 타입
AI Controller를 상속받은 C++ Class 생성 빙의(Possess)할 때 호출되는 OnPossess 함수와 빙의가 끝났을 때 호출되는 OnUnPossess 함수 추가 타이머를 통해 3초마다 RandomMove 함수를 호출한다 랜덤으로 이동하는 Rand
Blackboard, BehavirTree 블루프린트 추가 Blackboard: AI에서 사용하는 데이터를 모아놓는 저장소 Behavior Tree: 데이터를 기반으로 어떤식으로 동작할지 트리로 만든 것 AIController에 Blackboard와 BehaviorT
타겟이 있으면 추적하고, 없으면 정찰하면서 돌아다니는 로직을 구현하기 위해 행동트리에 Selector 추가 1~2초 마다 무언가를 반복하게 하는 Service Selector 우클릭 후 추가 BTService를 상속받은 C++ Class 추가 생성자에서 Interv