Unreal_Engine🎮 15

[ Unreal Engine ] TIL 📖 ( 14 )

Unreal Engine은 기본적으로 서버-클라이언트 모델을 사용 함.멀티플레이를 지원하는 게임을 개발하기 위해서는 네트워크에 대한 기초 개념을 알아야 함.네트워크란?-> 서로 다른 장치들이 데이터를 주고받을 수 있도록 연결 된 시스템. 서버 & 클라이언트-> 서버 : 데이터를 저장하고 관리하며 클라이언트의 요청을 처리하는 컴퓨터-> 클라이언트 : 서버에 요청을 보내고 데이터를 받아서 사용하는 컴퓨터Ex) 멀티플레이 게임에서 각각의 플레이어들은 클라이언트가 됨. (서버와 데이터 송수신) 네트워크 기본 구성 요소1. 노드- 네트워크의 기본 단위- 엔드 노드와 중간 노드- 통신, 라우팅, 데이터 처리, 네트워크 관리 2. 링크- 노드 간에 데이터를 전송하는 연결(유선 : 이더넷, 광섬유, 케이블 / 무선 :..

[ Unreal Engine ] TIL 📖 ( 13 )

AI 이동시키기 !코드로 설명해주셨지만 한번에 받아들이기엔 조금 어려워서 코드 하나하나 자세히 분석해봄1. Navmesh를 활용한 AI의 기본 이해- EnemyCharacter 설정하기 1) EnemyCharacter.h#pragma once#include "CoreMinimal.h"#include "GameFramework/Character.h"#include "EnemyCharacter.generated.h"UCLASS()class AIPROJECT_API AEnemyCharacter : public ACharacter{ GENERATED_BODY()public: AEnemyCharacter(); // 순찰 포인트들을 저장해둘 배열. // 에디터에서 인스턴스 단위로 배열을 수정하..

[ Unreal Engine ] TIL 📖 ( 12 )

액터 vs 블루프린트 액터 액터는 좌표계 기본 인식 x 블프 액터는 디폴트값으로 루트 컴포넌트를 가지고 있기 때문에 생성 직후 원하는 위치에 배치 가능 거기에 이용하는게 scene 컴포넌트(좌표를 가지고있는 컴포넌트) == 루트 컴포넌트로 최적화 되어있음 액터를 눈에 보이게 -> 스태틱 매시 컴포넌트머티리얼에 따라서 다양한 질감까지 표현가능  코드 설정 이후 좌표 설정 가능   컨텐츠드로어 -> 레퍼런스 복사 -> 씨코드에 복사하면 경로 복사가능머테리얼도 마찬가지 코드 적용 =매시랑 머테리얼 적용 후  ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ로그 비긴플레이 사용  로그 카테고리 화DECLARE_LOG_CATEGORY_EXTERN(LogSparta, Warning, All);//로그 스파..

[ Unreal Engine ] TIL 📖 ( 11 )

Actor의 라이프 사이클 이해하기Actor의 라이프 사이클이란 Actor 가 생성되고 , 게임 속에서 사용되다가 소멸되기까지의 과정을 이른다. 생성자기능 : 기본 값 설정, 구성 요소 추가 주의사항 : 게임 월드나 네트워크 상태에서는 접근 불가C++클래스 객체가 메모리에 생성될 때 한번 호출됨. PostInitializeComponents()기능 : 복잡한 컴포넌트 초기화, 의존성 설정액터의 모든 컴포넌트가 생성, 초기화 된 후 자동 호출 BeginPlay() 기능 : 게임 시작 로직, 네트워크 동기화주의사항 : 다른 Actor나 시스템에 의존하는 초기화는 BeginPlay에서 처리Actor가 게임 월드에서 활성화 될 때 호출게임 시작 시 로직 실행을 위해 주로 사용됨. Tick(float DeltaT..

[ Unreal Engine ] TIL 📖 ( 10 )

Unreal Engine에서 중요한 클래스 중 하나인 Actor 클래스 알아보기 Actor 란? 월드에 배치할 수 있는 객체로, 다른 Actor들과 상호작용 가능위치. 회전, 크기 등 공간적 정보를 가지고 있고 다른 컴포넌트 등을 추가할 수 있음Actor의 주요 함수BeginPlay() : 게임이 시작되거나 Actor가 월드에 생성될 때 실행EndPlay() : Actor가 비활성화 되거나 삭제될 때 실행Destroyed() : Actor가 파괴될 때 실행Tick(float DeltaTime) : 매 프레임 호출되며 Actor의 동작을 업데이트 함. DeltaTime은 두 프레임 사이의 시간 간격.Actor의 하위 클래스APawn : 움직이는 액터의 기본 클래스ACharacter : APawn의 확장, ..

[ Unreal Engine ] TIL 📖 ( 9 )

본격적으로 언리얼엔진을 공부하기 전 기본적인 개발환경, 구조 등을 공부했다. 1. 비주얼 스튜디오 워크로드 확인Visual Studio Installer 에서 C++를 사용한 데스크톱 개발, C++를 사용한 게임 개발 활성화. 2. Unreal Engine 프로그램 내부에서 코드 편집기 설정(혹시 모를 오류 대비 Visual Studio -> Visual Studio 2022로 변경)프로젝트 구조SpartaProject.sln (Visual Studio 솔루션 파일)C++ 소스 코드와 빌드 설정이 연결된 핵심 파일입니다.더블 클릭하면 Visual Studio에서 .cpp, .h 파일을 열어 수정할 수 있습니다.SpartaProject.uproject언리얼 에디터가 프로젝트 설정 (콘텐츠, 맵, 플러그인 ..

[ Unreal Engine ] TIL 📖 ( 8 )

챕터 3-1 디자인 패턴 디자인 패턴이란? => 개발 중 자주 나타나는 문제를 해결하기 위한 일반화 된, 재사용 가능한 솔루션   디자인 패턴은 세가지 유형으로 나뉜다.1. 생성 패턴 (Creational Patterns)2. 구조 패턴 (Structual Patterns)3. 행동 패턴 (Behavioral Patterns) 1. 생성 패턴 (Creational Patterns)  생성 패턴은 객체 생성 과정을 캡슐화 하거나, 객체 생성의 복잡성을 숨기고 코드를 유연하게, 재사용성을 높이는데 중점을 두는 패턴이다. 공장에서 물건을 찍어내듯이 객체를 찍어냄. 예시로는 싱글톤, 팩토리 메서드, 추상 팩토리, 빌더, 프로토타입 등이 있다. Ex) 싱글톤하나의 인스턴스만 존재해야 함.모든 호출자가 같은 인스턴..

[ Unreal Engine ] TIL 📖 ( 6 )

챕터 1-1 : 프로그래밍 기초  변수- 프로그램에서 데이터를 저장하고 처리하기 위해 사용하는 메모리 공간. 두개의 숫자를 입력하면 입력된 숫자의 합을 보여주는 프로그램 코드 결과   배열- 같은 종류의 데이터를 일정한 순서로 저장하는 자료 구조- 연속적인 메모리 공간에 저장하여 효율적인 접근처리 가능 학생 5명의 점수를 입력받고 총점과 평균을 내는 프로그램 코드cin을 이용하여 score배열에 학생 5명의 점수를 연속적인 메모리에 저장함.tot라는 변수에 학생들 점수의 총합을 저장함.사진속 24번째 줄 tot를 구하는 식에서 만약 학생수가 5명이 아니고 100명이라고 하면 일일이 더하기 힘들다.따라서 다음과 같이 작성할 수도 있다이렇게 구한 총합(tot)를 학생수 (5)로 나누게 되면 평균이 나온다. ..

[ Unreal Engine ] TIL 📖 ( 5 )

DAY 5 블렌더 스페이스와 움직이는 액터 액터를 내가 입력한대로 움직일 수 있도록 만들었지만 애니메이션이 첫 모션 그대로여서 어색한 느낌이 들었다. 그래서 이번엔 캐릭터에 애니메이션을 추가해보았다! 캐릭터 달리기 애니메이션 설정하기 콘텐츠 드로어 우클릭 > 애니메이션 > 애니메이션 블루프린트을 클릭하여 애니메이션 블루프린트를 생성한다. 생성한 캐릭터의 AnimGraph에서 A_Bot_Idle 파일을 이용해서 아무것도 하지 않을때의 애니메이션을 적용시킨다. 연결 후 적용시키면 아까 기본 모양과 다르게 차렷 자세를 하고 있다. 이후 캐릭터의 디테일탭에서 방금 만든 애니메이션 캐릭터블루프린트를 등록해준다. 그다음 블렌드 스페이스를 하나 생성한다.Speed변수를 하나 만들고 세로축에 넣는다.이후 Speed가 ..

[ Unreal Engine ] TIL 📖 ( 4 )

DAY 4 플레이어 캐릭터와 나만의 레벨 디자인  레벨 디자인 : 플레이어가 경험할 수 있는 환경과 구조를 만드는 과정.-> 시각적 요소를 배치하는 것 뿐만 아니라 플레이어 경험의 핵심을 설계하는 역할 에셋 펩 라이브러리에서 샘플 에셋 적용플레이어 캐릭터 생성하기 콘텐츠 드로어 우클릭 > 블루프린트 생성 > 캐릭터 로 생성을 하고이렇게 새로 생긴 에셋을 더블클릭 하면이렇게 캐릭터 뷰포트가 생긴다. 이때 사용할 스켈레탈 메시 에셋을 선택해주면이런식으로 생기게 된다. 뷰포트에 떠있는 파란색 화살표가 캐릭터가 바라보고있는 방향이라서 캐릭터 방향을 맞춰줘야한다.이렇게 !!!이후 캐릭터를 따라다니는 카메라를 달아줄거다.컴포넌트에서 Spring Arm 과 Camera를 달아주면이렇게 화면에 생성이 된다.이 캐릭터를..