개발 161

언리얼 내배캠 마스터반 5주차 - 인터페이스, 델리게이트 실습

UObject는 다중 상속 불가따라서 액터 아래에서 상속을 해주어야한다. Interface를 활용하여 불에 타는 것과 불에 타지않는 것을 만들기C++ 클래스로 언리얼 인터페이스 생성 C++ 클래스로 ItemBase 액터를 만든다.C++ 클래스로 MyTorchlight 액터를 만든다. Wood 헤더 파일에 인터페이스의 헤더를 넣어준다. 인터페이스 코드를 구현한다.// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "ItemBase.h"#include "TestMyInterface.h"#include "Wood.generated.h"/..

언리얼 C++ 클래스에 만들어둔 위젯 블루프린트 연동하기

코드로 델리게이트 바인딩하기// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Blueprint/UserWidget.h"#include "LA_HUD.generated.h"/** * */UCLASS()class LASTARTEMIS_API ULA_HUD : public UUserWidget{ GENERATED_BODY()public: // UMG 위젯이 화면에 “실제로 생성되고 붙을 때” 호출되는 C++ 초기화 함수 virtual void NativeConstruct() override; // UFUNCTION(B..

언리얼 큐브 그리드로 맵 디자인하기

맵 전체 밝기(자동 노출)를 고정하거나 조절하는 방법Auto Exposure를 끄고 원하는 밝기로 수동 설정한다. Postprocess volume 추가 (사이즈 조정 필요 X)볼륨 선택한 채로 디테일 패널에서 infinite 검색, infinite bound 체크디테일 패널에서 exposure 검색, exposure 아래에 Metering Mode를 manual로 바꾸고, 그 아래 노출값(Exposure Compensation) 조절 큐브그리드 Pull선택한 면을 뽑아낸다.Push:선택한 면을 안쪽으로 밀어넣는다.Slide Back선택한 영역을 기존 형태를 유지하며 뒤로 이동Slide Forward기존 형태를 유지하며 앞으로 이동CornerMode꼭짓점 기반으로 코너 블록 조정Accept and St..

언리얼 내배캠 CH.3 팀 프로젝트 - 임무 선택 화면 만들기

임무 선택 화면 우선 WBP_MissionSelect라는 Widget 블루프린트를 하나 만든다. Fade in 연출 버튼에 MissionData 넣기새로운 위젯 WBP_MissionEntry를 만들어 버튼과 텍스트만 넣어둔다. 데이터 에셋// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Engine/DataAsset.h"#include "UI/LA_GameType.h"#include "LA_MissionDataAsset.generated.h"class ULA_MissionLogic;UCLASS()class LASTARTEMIS..

언리얼 마스터 머티리얼 만들기

언리얼에서는 마스터 머티리얼이라는 베이스 머티리얼 만들어 수치를 변수로 만들고, 인스턴스로 이어받아 각 항목을 조절함으로써 다양한 머티리얼을 만들 수 있게 되어있다. 베이스 텍스처Texture Sample과 TextureParameter2D는 기능은 같다. 다만 머티리얼 인스턴스에서 쓰기 위해서 Texture Sample은 변수화를 해줘야하고, TextureParameter2D는 처음 생성했을 때부터 변수로 적용된다는 점이 다르다. Static Switch Parameter옵션 ON/OFF.예:NormalMap 사용 여부Emission 사용 여부 Material Functions기능 분리.예:MF_TriplanarMF_WetnessMF_Fresnel UV ParameterTexCoord * Sca..

언리얼 내배캠 마스터반 수업 과제 - 샌드박스 패턴으로 기존 과제 구조 변경 / 우클릭 조준 구현

캐릭터 스켈레탈 메시에 소켓 추가하기그런데 하다보니 카메라에 달게 되어서 소켓이 상관 없어졌다. 샌드박스 무기 클래스 만들기액터 WeaponBase파일과 이를 상속받은 SandboxWeaponBase, 또 SandboxWeaponBase를 상속받은 BP_SandboxWeaponBase_Shotgun을 만든다. // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "WeaponBase.generated.h"UCLASS()class ADVANCEDHOMEWORK1_API AWeaponBa..

언리얼 내배캠 AI 트렌드 특강

AI의 종류CLI와 GUI로컬 LLM의 경우는 개인정보가 학습에 사용되지 않아 보안성이 좋다.에이전트형 AI는 계획-실행-관찰-수정-보고를 스스로 진행한다. 제미나이 CLI 설치하기명령프롬프트에서 npm install -g @google/gemini-cli 버전 확인 gemini --version실행 gemini 구글 로그인까지 하면 로컬 CLI에서 실행되는 제미나이를 사용할 수 있다. GitHub 주소 입력하여 코드리뷰파일 생성, 삭제등 권한만 주면 컴퓨터에서 직접 여러가지를 할 수 있다.

카테고리 없음 2026.05.05

언리얼 내배캠 CH.3 팀 프로젝트 - 메인 메뉴 만들기

메인메뉴 디자인으로 상단에 프로젝트명, 좌측에 게임 메뉴, 우측에는 이미지와 함께 파티클이 날리는 연출을 진행한다. 1920*1080 해상도로 스크린샷 찍기3D 모델링 기반의 메인화면이지만, 모델링을 불러오기에는 리소스가 너무 많이 필요하므로 스크린샷을 찍는다.원하는 화면에 카메라를 위치시킨다.화면에서 `를 눌러 콘솔 입력창을 연다."HighResShot 1920x1080"를 입력한다. 이렇게 하면 원하는 해상도로 스크린샷이 찍힌다.스크린샷 폴더는 프로젝트 폴더 아래 Saved\Screenshots\WindowsEditor에 있다. 프로젝트에 가져오기 엔진이 5.5버전이라면 텍스처 그룹 대신 압축 세팅을 UserInterface2D로 변경한다. 패널 배치기본 위젯 계층 구조 (Hierarchy)C..

언리얼 심화 - 템플릿 패턴, 샌드박스 패턴

템플릿 패턴이란?알고리즘의 골격은 부모 클래스에 고정하되, 세부 단계는 자식 클래스에서 구현하도록 하는 방식.샌드박스 패턴이란?외부 코드나 하위 시스템이 메인 시스템의 핵심 API에 직접 접근하지 못하게 하고, '제한된 인터페이스(Sandboxed API)'만을 통하도록 강제하는 전략 템플릿 패턴 구현1. 액터로 WeaponBase 하나를 만든다. 2. 해당 액터를 상속한 C++ 클래스인 WeaponTemplateBese를 만든다. 3. WeaponBase에 총에서 사용할 것들을 미리 넣어준다.// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#i..

언리얼 C++ - 파티클과 사운드로 게임 효과 연출하기

파티클 시각 효과 추가하기언리얼에는 캐스케이드와 나이아가라 두 가지의 파티클 시스템이 있다. 나이아가라가 더 고급스러운 효과를 낼 수 있지만, 우선 캐스케이드로 실습을 진행한다. BaseItem.hUPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item|Effect")UParticleSystem* PickupParticle;UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item|Effect")USoundBase* PickupSound;UParticleSystem과 USoundBase를 추가해준다. BaseItem.cppvoid ABaseItem::ActivateItem(AActor* Activato..