Unreal 11

Unreal 노티파이

▶ 애니메이션 이벤트 - 유니티: 애니메이션 이벤트 - 언리얼: 노티파이 ◈ 노티파이 (공지) ㄴ 노티파이 애니메이션 시퀀스에서 이벤트를 구성하고 받아 외부 동작을 수행하는 이벤트 ㄴ 애니메이션이 끝나는 시점에 노티파이를 입력해 동작이 끝났을 알릴 수 있다. AnimationBlueprint ㄴ Montage ㄴ Notify ※ 캐스팅이 될 객체가 아니면 노드 간 연결이 발생하면 안된다.

Unreal 2023.10.16

Unreal 애니메이션

▶ 애니메이션 기본 - 휴머노이드 ㄴ 머리 / 팔 2개 / 몸통 / 다리 2개가 있는 오브젝트(캐릭터)는 일반적으로 인간형으로 분류 할 수 있으며, 이는 인간형 오브젝트들이 리타겟팅을 이용해서 애니메이션을 서로 공유 할 수 있음. - 제네릭 ㄴ 휴머노이드를 제외한 나머지 오브젝트들을 보통 제네릭으로 분류해서 처리한다. ㄴ 특징은 리타겟팅을 통한 애니메이션을 원할하게 공유 할 수는 없지만 상대적으로 휴머노이드 객체보다 코스트가 낮다. ▷ 페르소나 / 메카님 - 페르소나 자체는 애니메이션 블루프린트로 대체 - 메카님은 유니티에서 사용하는 물리 엔진 상태 머신 ※ 둘의 공통점은 기본적으로 상태를 만들어 애니메이션 재생을 관리하고 트랜지션 로직을 통해 다른 애니메이션 상태로 전이가 된다. 또한 가장 큰 장점으로..

Unreal 2023.10.13

Unreal C++ Script

▶ 언리얼 엔진의 계층 / 코딩 규약 - 모든 언리얼 오브젝트는 UObjectBase 클래스를 상속 받는 구조로 되어 있다. ㆍ 계층도 1. UObjectBase 모든 오브젝트가 상속 받는 UObject의 베이스 클래스 -> 일반적인 오브젝트라면 필요로 하는 기본적인 기능이 들어있다. 2. UObjectBaseUtility UObject에 대한 유틸리티 함수 지원->메타데이터->함수를 사용하는데 있어 가상화 된 함수 테이블 3. UObject 모든 오브젝트의 베이스 클래스(언리얼에서 지원하는 오브젝트는 이 클래스를 상속 받아야 한다.) 4. AActor 레벨에 배치 / 스폰 할 수 있는 오브젝트의 베이스 클래스->크게 트랜스폼, 랜더, 프로세스를 조종하는 컴포넌트에 초점이 맞춰져 있음->뷰포트 최소 단위..

Unreal 2023.10.13

Unreal 폰 감각 입히기

▶ PawnSensing - 기본적인 이벤트 외에 추가적인 이벤트 트리거를 제공하는 컴포넌트 폰의 감각 컴포넌트라고 불리며 액터의 감각 설정과 기능을 담은 집합체라고 할 수 있다. - EQS (Environment Query System) 맵에 배치해서 노드 기반으로 인식시킴. ◆ 델리게이트 - 액터 레벨에서는 상대적으로 사용이 적지만 폰 레벨로 올라오면 사용빈도가 올라간다. - 델리게이트를 이용하면 멤버 변수를 보관하고 호출 하는 것이 가능. ㄴ 함수를 함수의 반환 값 또는 매개 변수로 전달하는 것이 가능하기 때문에 델리게이트가 선호된다. - 델리게이트는 값 / 참조 로 모두 전달이 가능하지만 메모리 할당 (힙)을 해야 하기 때문에 가급적 참조로 전달해 주는 것이 좋고 이런 설계 방식으로 구현을 해야 ..

Unreal 2023.10.12

Unreal AI

▶ AI - 3D 월드에서 AI가 맵을 돌아 다니게 하려면 Terrain / NavMesh / Navigation 정보가 필요하다. ㄴ 맵에 3종 중 하나를 심는다. ◇ Terrain (Landscape) - 캐릭터가 움직일 배경이 되는 자연환경을 생성하는 것. ◆ Navigation - 사용 엔진에서 게임 오브젝트가 길을 찾을 때 사용한다. ㄴ 라이트맵과 유사한 구조를 가진다. ㄴ 미리 Bake를 진행하고 시작하기 때문에 길찾기 로직치고는 가볍다. ㄴ 단, 맵의 크기가 커지거나 오브젝트가 많아지면 부하가 발생하기 시작한다. ◆ NavMesh - Navigation Mesh의 줄임말 - 맵을 구성하는 3D 오브젝트의 Mesh 정보를 분석하여 추적 할 수 있는 영역과 장애물로 판단해 지나갈 수 있는 영역의..

Unreal 2023.10.10

Unreal UI

▶ UI - 2D / 3D 구조적으로 다름. ㄴ GUI(Graphic User Interface) / HUD(Head up Display) - UI는 유저 인터페이스의 줄임말로 상호작용을 하기 위해 필수로 필요한 시스템 ㄴ CLI -> TUI -> GUI 형태로 발전 ㄴ 현재는 시장 대부분에서 GUI로 구성되어 있다. ㄴ UI는 씬 전환 매니저와 비슷한 역할을 한다. - 언리얼 쪽은 GUI 에디터를 채용하고 있으며 이 GUI 에디터에 TUI + GUI가 혼합된 형태로 지원을 한다. ㆍ UMG(Unreal Motion Graphic-design) ㄴ 코드로 구현하는 것보다 블루프린트를 사용해 구현하는 편이 구조적으로나 편의적으로나 이득이다. ㄴ 언리얼 엔진에서 지원하는 모션 그래픽 비주얼 툴 ※ 엔진(언/..

Unreal 2023.10.06

Unreal 타임라인, 프렉쳐, 보간

▶ 타임라인 주로 애니메이션을 통한 자연스러운 움직임을 표현할 때 사용. 특수 노드로써 엔진에서 사용 할 수 있는 부드러운 처리에는 모두 적용할 수 있다. 언리얼 엔진 애니메이션 방법 1. 타임라인 ㄴ 간단한 값에 변화를 주기에 적합. ㄴ 시작과 끝이 명확할 때 사용이 가능. 2. 애니메이션 블루프린트 (마티네) ㄴ 캐릭터 기반의 애니메이션이나 시네마틱을 위한 애니메이션을 다룰 때 적합하며 스켈레탈 메시의 애니메이션을 제어 할수 있는 기능들이 있다. (특수 블루프린트) ▶ 프렉처 - 스태틱 메시는 추가적인 연산이 불가능. - 블루프린트 클래스 & 지오메트리로 변환해 폴리곤을 분할해 월드에 들고 옴. ▶ 보간 - 선형 보간 두 점 사이 선을 이어 비율로 점을 구하는 방법. - 구면 보간 부드러운 회전을 구..

Unreal 2023.10.05

Unreal 트랜스폼

▶ 트랜스폼 ㆍ 이동 / 회전 / 스케일 - 스크립트 컴포넌트에서 다른 객체 또는 자기 자신의 객체에 속해 있는 컴포넌트에 접근하기 위해서는 관련 함수를 사용해야 한다. - 자주 이용되는 컴포넌트는 미리 프로퍼티로 정의가 되어 있기 때문에 해당 프로퍼티를 활용하면 쉽게 컴포넌트에 접근 할 수 있다. ▶ 프로퍼티 ㆍ get / set 함수 ㄴ 안정성 + 편리성 - 언리얼의 프로퍼티는 내부 구현이 단순 할 경우 이를 자동적으로 정의해주는 오토 프로퍼티 기능을 지원. - 무명 타입 데이터도 정의 할 수 있다. ㄴ 한번 사용하고 지워짐. ㄴ 지역변수가 필요. ▶ 회전 1. transform.Rotate (원점) 2. transform.RotateAround (액터) 3. transform.AxisRotate (..

Unreal 2023.09.27

Unreal 블루프린트

▶ 블루 프린트 - 블루프린트 비주얼 스크립팅 이라고 불리는 노드 기반 스크립팅 시스템 - 쉽게 접근해 보면 블루프린트는 말 그대로 "비주얼 스크립팅" ㄴ 코드로 하는 작업을 노드라는 작업으로 연결시켜 주는 것을 의미한다. ㄴ 시각적인 그래프 기반 시스템으로 게임 플레이 메카닉이라 인터렉션 로직 구축이 가능하다. - 또한 프로그래밍 언어를 잘 모른다 하더라도 게임 플레이에 대한 메커니즘을 만들고 인터페이스를 구상할 수 있으며 상호작용까지 OK 단점: 블루프린트로 애니메이션 만들기는 어려울 수 있음. - 블루프린트를 빠르게 마스터하고 C++ 스크립트로 넘어가는게 엔진에 익숙해 지는데 아주 좋다. ㄴ 설계 단계 및 모듈화에서도 높은 효율을 자랑한다. ▷ 블루프린트의 방향 - 트랜스폼 + 애니메이션 - 블루프..

Unreal 2023.09.25

Unreal 벡터, 행렬

행렬 - 선형변환 - 비례 - 회전 - 합성 S(비례행렬)R(회전행렬)T(이동행렬) - 역행렬 (* 나중에 더 채워넣어야 함.*) ㄴ 역행렬 ㄴ 간단한 값의 역행렬은 행렬과 단위 행렬이라고 할 수 있지만 복잡한 행렬은 역행렬을 가진다. (거친다. -> 연산량 줄일 때) ㄴ 웬만하면 필요 없을 것 같지만 역행렬이 있기 때문에 로컬 -> 월드 -> 뷰 -> 모니터에서 다시 역순으로 돌아갈 수 있다. 벡터 - 좌표계 ㄴ 왼손잡이(DX) - 엄지(Z) 위, 검지(X) 앞, 중지(Y) 오른쪽을 향함. ㄴ 오른손잡이(OpenGL) - 엄지(Z) 위, 검지(X) 앞, 중지(Y) 왼쪽을 향함. - 내적 ㄴ 계산식: A * B * cos(theta) ㄴ 결과: 기준 벡터에 투영한 값. - 외적 ㄴ 계산식: A x B *..

Unreal 2023.09.22