Unreal_Engine🎮 14

[ 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를 달아주면이렇게 화면에 생성이 된다.이 캐릭터를..

[ Unreal Engine ] TIL 📖 ( 3 )

DAY 3 블루프린트를 이용한 비주얼 스크립팅 블루프린트 이런 창 위에 스크래치 프로그램처럼 블록을 연결하여 코드를 만드는 방식이다. 오늘의 과제 강의시간에는 아래 조건을 만족하는 텍스트 슈팅 게임을 만들었는데총알은 기본적으로 30발이 주어집니다.마우스 좌클릭을 할 때마다 총알이 1발씩 발사됩니다.키보드 R을 누르면 총알 30발이 재장전됩니다.이를 응용한 문제 4개와 추가 문제 2개를 더 해봤다. 1.총알 발사 버그 (30번 이상은 불가능하도록)강의시간에 만든 텍스트 슈팅 게임은 총알이 30발임에도 불구하고 더 쏘면 총알 갯수가 -로 찍히고 무한슈팅이 가능했다.이를 수정하기위해마우스 클릭 이벤트 이후 Branch를 이용하여 Bullet 갯수가 0보다 클 때 총을 쏘고, 0개일때는 총알이 없다는 문구를 출..