묻공러
'게임 엔진/[코드조선] 언리얼' 카테고리의 글 목록 (2 Page)

게임 엔진/[코드조선] 언리얼

게임 엔진/[코드조선] 언리얼

언리얼 Collision - 충돌 설정

충돌체 제작 방법 충돌체를 설정하는 방법은 총 3가지가 있으며 아래와 같다추가적으로, 하나의 액터에는 아래의 세 가지의 충돌체를 모두 설정할 수도 있다 - Primitive Component일반적인 경우에는 루트 컴포넌트로 설정되는 프리미티브 컴포넌트(캡슐, 박스, …)가 충돌체 역할을 한다 - StaticMesh Component스태틱메시 에셋을 그대로 충돌체로 사용하는 방법으로스태틱메시를 더블클릭하면 열리는 스태틱메시 에디터에서 해당 충돌체 영역을 설정하고 확인할 수 있다스태틱메시 에셋에 콜리전을 넣으면, 비주얼과 충돌 기능을 모두 설정할 수 있다 - Physics Asset일반적으로 캐릭터의 이동은 캡슐 컴포넌트를 사용해서 처리한다하지만 특정 상황에서 캐릭터의 각 관절 효과가 적용되는 RagDoll..

게임 엔진/[코드조선] 언리얼

언리얼 Animation - Animation Notify

애니메이션 노티파이 애니메이션을 재생하는 동안 원하는 타이밍에 애님 인스턴스의 멤버 함수를 호출하는 기능이다애니메이션 노티파이는 애니메이션 시퀀스와 애니메이션 몽타주 모두 사용가능하다애니메이션 노티파이의 활용 공격 애니메이션인 경우에 특정 애니메이션 프레임에서 충돌 검사 로직을 처리해야 한다이때 애니메이션 노티파이를 활용하면 구현이 가능하다애니메이션 노티파이 실습 Notifies 섹션 빈 공간에 우클릭을 하고Add Notify를 통해 노티파이를 만들 수 있다3번 공격을 하는 경우라면, 적절한 위치에 CheckHit Notify를 3개 작성하면 된다   그리고 AnimInstance에 “AnimNotify_노티파이명()”의 멤버 함수와BroadCast할 멤버 변수를 만들어줘야 한다또한 UHT에 의해 언리얼..

게임 엔진/[코드조선] 언리얼

언리얼 Animation - Animation Montage

스테이트 머신의 문제스테이트 머신을 사용해서 단순한 동작 로직을 구현하는 것은 괜찮지만점점 추가될수록 복잡해지는 문제가 발생한다애니메이션 몽타주 특정 상황에서 원하는 애니메이션을 재생시키는 기능이다여러 애니메이션 클립들의 일부를 쉽게 선택하여 새로운 애니메이션을 생성하는 방법이다이때 섹션 단위로 애니메이션들을 관리한다 애니메이션 몽타주 애셋 생성Anim Slot Manager에서 우리만의 Group과 Slot을 만들어서 관리하는 것이 좋다Add Group을 통해 그룹을 추가하고해당 Group이 클릭된 상태로 Add Slot을 통해 Slot을 추가할 수 있다그리고 해당 Group의 Slot을 통해 우리가 원하는 몽타주를 쉽게 재생시킬 수 있다 몽타주를 재생하는 아래와 같은 부분에서도Montage 섹션에 D..

게임 엔진/[코드조선] 언리얼

언리얼 Animation - State Machine

State Machine (= State + Rule) 반복 수행해야 하는 동작 단위인 스테이트를 정의하고 스테이트 간의 전환(Rule)을 정의하는 부분이다  해당 머신이 돌아가기 시작하면, 전환에 따라 하나의 스테이트가 지정되고 반복 수행된다Rule스테이트가 전환되기 위한 조건이다스테이트 머신에서는 이를 트랜지션(Transition)이라고 부르지만언리얼 엔진에서는 트랜지션 대신 룰이라고 부른다   CharacterMovement Component 상태 속성StateMachine을 포함해 애님 그래프에서 여러 애니메이션 재생을 위한 속성 값이 필요하고CharacterMovement 컴포넌트에서 제공되는 다양한 캐릭터의 상태 속성을 이용하면 된다IsFalling(): 현재 공중에 떠있는지IsSwimming..

게임 엔진/[코드조선] 언리얼

언리얼 Animation - AnimInstance

AnimInstance스켈레탈 메시를 소유한 폰의 정보를 받아서 Anim Graph 가 참조할 데이터를 제공한다 블루프린트와 C++로 구현 가능하다 AnimInstance의 블루프린트 애셋에는 Anim Graph 기능이 제공된다 Anim Graph업데이트된 변수 값에 따라 지정된 애니메이션을 재생하고 제어하는 부분이다상황에 따라 적합한 애니메이션을 체계적으로  재생할 수 있도록 스테이트 머신 기능을 활용할 수 있고 블루프린트로만 구현 가능하다  AnimInstance 생성  폰의 속도에 따라 다른 애니메이션을 재생하기 위해서는 프레임마다 폰의 속력과 AnimInstance의 CurrentSpeed 속성을 연동해야 한다연동하는 방법은 아래 두 가지가 있다1. 폰의 Tick() 함수에서 AnimInstan..

게임 엔진/[코드조선] 언리얼

언리얼 View - Control Rotation

Control Rotation플레이어 컨트롤러의 컨트롤 로테이션은플레이어의 의지의 대표적인 속성 중 하나이다 게임 세계의 물리적인 요소가 아직 고려되지 않은 상태이다 Controller와 Pawn, 그리고 컴포넌트 간의 관계 Controller - Pawn bUseControllerRotation 속성은 컨트롤 로테이션 폰의 회전을 동기화 여부를 결정한다true로 설정하게 되면,컨트롤 로테이션의 축 값이 캐릭터의 Rotation 축 값과 완전 동기화가 된다 Pawn - SpringArmComponent bUsePawnControlRotation 속성은 폰의 회전 값이 연동될지 안될지 결정한다false로 설정하면,폰이 회전해도 스프링암은 회전하지 않는다컷씬을 촬영할 때, 플레이어의 회전에도 스프링암이 움직..

게임 엔진/[코드조선] 언리얼

언리얼 Character - Character 클래스 생성

새 C++ 클래스 > Character 부모 클래스를 상속받아 생성하면 된다// SCharacter.h#pragma once#include "CoreMinimal.h"#include "GameFramework/Character.h"#include "SCharacter.generated.h"UCLASS()class STUDYPROJECT_API ASCharacter : public ACharacter{ GENERATED_BODY()public: ASCharacter();};// SCharacter.cpp#include "Character/SCharacter.h"#include "Components/CapsuleComponent.h"#include "GameFramework/CharacterMovementC..

게임 엔진/[코드조선] 언리얼

언리얼 Character - Enhanced Input System

기존 입력 시스템 vs. Enhanced Input System 기존 입력 시스템은 입력 관련 설정을 해둔 뒤에 게임 로직에서 입력 값을 처리한다그에 따라 게임 플레이 중에 플레이어의 키세팅 변경에 대응이 불가능하다그래서 플레이어의 입력 관련 설정을 플레이 중에도 변경 가능한 것이Enhanced Input System이다Enhanced Input System의 동작사용자의 입력 데이터를 최종 함수에 매핑하는 과정을 체계적으로 구성한다입력을 처리하는 주체는 Input Action이고 입력과 액션이 맵핑하는 것이 Input Mapping Context이다 Input Action에서는 들어온 입력을 어떻게 재가공(Modifier)하고어떻게 입력 이벤트를 활성화(Trigger)할지의 설정을 진행한다마지막으로는 ..

게임 엔진/[코드조선] 언리얼

언리얼 Character - Pawn vs. Character

ACharacter vs. APawn 폰의 경우는 너무 추상적이고 범위가 넓기에인간형 폰을 좀 더 효과적으로 구현하기 위한 클래스가 캐릭터 클래스이다ACharacter 클래스는 APawn 클래스를 상속받은 클래스이다APawn처럼 Capsule Component와 Skeletal Mesh Component는 동일하지만CharacterMovementComponent를 사용한다는 점이 다르다CharacterMovementComponent vs. FloatingPawnMovementComponent CharacterMovementComponent는점프와 같은 중력의 영향을 받는 움직임을 제공한다걷기 이외에도 기어가기, 날아가기, 수영하기 등의 다양한 움직임 모드를 제공한다멀티 플레이 환경에서 캐릭터들 간의 움직..

게임 엔진/[코드조선] 언리얼

언리얼 Pawn - 애니메이션 기초 설정

애니메이션 블루프린트 C++ 코드로 애니메이션을 하드코딩해서 지정하는 방법도 있지만, 게임의 규모가 커지면 애니메이션을 재생하는 코드를 관리하기 어렵다따라서, 언리얼은 체계적으로 애니메이션 시스템을 설계할 수 있도록 애니메이션 블루프린트를 제공한다 애님 그래프(Anim Graph) 애니메이션 블루프린트에서 애니메이션의 흐름을 설계할 수 있다Asset Browser에서 원하는 애니메이션 애셋을 애님 그래프에 드래그 드랍하고OutputPose 노드와 연결을 하면 쉽게 재생시킬 수 있다해당 노드를 클릭해 Details에서 다양한 설정을 적용할 수 있고Loop Animation를 통해 반복되게 설정할 수도 있다애님 그래프 컴파일작업을 하고 상단 Toolbar의 좌측 Compile과 저장을 반드시 해줘야 한다스켈..