[go: up one dir, main page]

✨ 추천 콘텐츠 ✨

[Unreal Engine] Animation Blueprint에서 Owner 캐릭터의 정보를 가져오는 3가지 방법
·
Unreal Engine
안녕하세요 1년 차 게임 클라이언트 프로그래머 🫛빈콩입니다~Animation Blueprint에서 Character의 특정 정보를 가져오고 싶을 때 사용할 수 있는 방법 3가지를 정리해 보았습니다.1. Casting방법ABP에서 TryGetPawnOwner로 캐릭터 객체(Object)를 가져와 Casting 하여 원하는 정보를 가져오는 방법성능 : 下가장 간단하면서 가장 비효율적인 방법이다.Casting을 할 경우 ABP를 Load 할 때 캐스팅한 Character BP도 함께 Load 되므로 ABP가 무거워진다.ABP_Base의 Size Map을 보면 BP_LyraCharacter가 통째로 포함되어 있는 것을 확인할 수 있다. 2. Interface 방법1. Chracter로부터 원하는 정보를 가..
[Unreal] Game Ability System(GAS)
·
Unreal Engine
GAS는 어빌리티(액터가 할 수 있는 것으로 액티브 스킬이나 패시브 스킬과 같은 능력)나 어트리뷰트(액터의 능력치)를 만들 수 있는 굉장히 유연한 프레임워크로 RPG나 MOBA류의 게임에서 사용하면 좋다. 어빌리티의 결과로 어트리뷰트를 변경시키거나 버프나 디버프, 쿨다운 타이머 혹은 마나 사용과 같은 자원 비용을 구현할 수 있다. 어빌리티의 파티클이나 사운드도 설정할 수 있다. 점프와 같은 간단한 어빌리티나 우리가 다른 게임에서 보던 복잡한 스킬도 구현이 가능하다.GAS는 싱글 플레이와 더불어 멀티 플레이 게임에서도 사용가능하도록 다음 사항의 기본 솔루션을 제공한다.Game Abilities ⇒ 레벨 기반 캐릭터 능력이나 비용이나 쿨타임이 있는 스킬 구현Attributes ⇒ Actor의 능력치 정의 및..
[Unreal Engine] 모듈(Module)
·
Unreal Engine
모듈은 Unreal Engine의 소프트웨어 아키텍처에서 기본적인 구성 요소로, 렌더링, 입력 처리, 게임플레이 로직 등 특정 기능을 독립적인 코드 단위로 캡슐화한 코드 묶음입니다. 각 모듈은 Unreal Build Tool(UBT)에 의해 개별적으로 컴파일되며, 필요한 경우 다른 모듈과의 의존성을 정의하여 연결될 수 있습니다.모듈의 구조모듈은 프로젝트의 📂Source 내에 위치하며, 다음과 같은 구조를 가집니다.MyProject/└── Source/ └── MyModule/ ├── MyModule.Build.cs ├── Private/ │ └── MyModule.cpp └── Public/ └── MyModule.hMyMo..

🔥 최신 글 🔥

문자 인코딩
·
🖥️ Study Note
문자 인코딩 분류SBCS(Single Byte Character Set)1Byte로 문자를 표현하는 방식표현 범위 : 영문, 숫자 및 일부 특수 문자대표 문자셋: ASCIIMBCS(Multi Byte Character Set)문자에 따라 유동적인 크기로 문자를 표현하는 방식1Byte : 영문, 숫자 및 일부 특수 문자2Byte~ : 아스키 코드 범위 외의 아시아 문자나 특수 문자대표 문자셋 : ANSI, UTF-8WBCS(Wide Byte Character Set)2Byte 이상의 고정 크기로 문자를 표현하는 방식표현 범위 : 대부분의 문자대표 문자셋: Unicode문자 인코딩1. ASCII (American Standard Code for Information Interchange)ASCII는 최초의 ..
모션 매칭
·
🖥️ Study Note
Referencehttps://dev.epicgames.com/community/learning/tutorials/lwlG/unreal-engine-your-first-60-minutes-with-motion-matching http://journal.cg-korea.org/archive/view_article?pid=jkcgs-29-3-159 https://www.gdcvault.com/play/1023280/Motion-Matching-and-The-Road https://youtu.be/KSTn3ePDt50?si=oEy0Wp8rFkRyHlex 모션 매칭 등장 배경유비 소프트에서 For Honor 라는 게임을 개발하고 있었음. 이 게임은 멀티 플레이 게임인데 상단, 좌단, 우단의 세 방향으로 공격과 ..
TryLoad를 사용하여 TSoftObjectPtr을 Load하는 경우
·
오답노트
잘못된 부분FSoftObjectPath SkeletalMeshPath(Mesh.ToSoftObjectPath());USkeletalMesh* SkeletalMesh = Cast(SkeletalMeshPath.TryLoad());if (SkeletalMesh != nullptr){ MeshesToMerge.Add(SkeletalMesh);}수정된 부분TSoftObjectPtr MeshPtr = MeshArray.Get(Index);if (!MeshPtr.IsNull()){ USkeletalMesh* SkeletalMesh = MeshPtr.LoadSynchronous(); if (ensureAlways(SkeletalMesh)) { MeshesToMerge.Add(SkeletalMesh); }}무엇이 잘..
[Unreal]Get() 사용하여 TSoftObjectPtr 데이터를 Load하는 경우
·
오답노트
잘못된 부분MergedMesh = SkeletalMeshMergeData.GetDefaultSkeletalMesh().Get();수정된 부분TSoftObjectPtr DafualtSkeletalMesh = SkeletalMeshMergeData.GetDefaultSkeletalMesh();MergedMesh = DafualtSkeletalMesh.LoadSynchronous();TSoftObjectPtr의 Get() 함수는 Editor에서 사용되는 Editor 전용 함수이다.#if WITH_EDITOR /** Overridden to deal with PIE lookups */ FORCEINLINE UObject* Get() const { if (GPlayInEditorID != INDEX_NONE) ..
[C++] 콘솔입출력 라이브러리 iostream
·
C++
C++에서는 iostream 라이브러리의 "cin" 이 콘솔 입력을, "cout" 이 콘솔 출력을 담당한다.// 입력char[100] name;std::cin > "당신의 이름은" >> name >> "입니다." >> std::endl; 그렇다면 iostream은 어떤 라이브러리고, cin과 cout 은 정확히 무엇일까?iostram은 스트림을 이용하여 입출력 기능을 제공하는 객체 지향 라이브러리다.cin과 cout은 스트림 클래스의 객체이다.📢스트림과 스트림 버퍼입력과 출력이 발생하면 입력 받은 혹은 출력할 문자들을 저장했다가 한번에 처리하는 과정을 스트림이라고 한다.스트림 버퍼는 스트림 과정에서 한번에 처리할 데이터들을 쌓아두는 저장 공간이다. iostream 라이브러리의 전체 개요도는 다음과 같다..