⭐ Unreal Engine
[UE] Multiplayer 6: Button Callbacks 만들기, SubSystem 접근하기
[UE] Multiplayer 6: Button Callbacks 만들기, SubSystem 접근하기
2023.07.17이번 시간에는 지난 시간에 만든 Widget 버튼을 Unreal C++ 변수와 연결시켜 줄 것이다. 버튼을 누르면 함수가 실행되게 만든다. 그 후, Subsystem 기능들을 가져와 쓸 수 있도록 기본적인 세팅을 할 것이다. 목차 Button Callbacks 만들기 + SubSystem에 접근하기 Button Callback 만들기 Menu.h더보기#pragma once#include "CoreMinimal.h"#include "Blueprint/UserWidget.h"#include "Menu.generated.h"UCLASS()class MULTIPLAYERSESSIONS_API UMenu : public UUserWidget{ GENERATED_BODY()public: UFUNCTION..
[UE] Multiplayer 5: Plugin: Plugin 만들기, Menu 생성하기
[UE] Multiplayer 5: Plugin: Plugin 만들기, Menu 생성하기
2023.07.16온라인에서 Player들이 접근할 수 있게 만드는 Plugin을 만들것이다. 기존에 구현했던것과 달리 Plugin을 만들어 사용하면 관리가 용이하다. 기존에 했던 작업을 분리할 수 있는 Plugin을 만들고 좀 더 고도화 해보자. 목차 Plugin 만들기 Plugin 만들기 새로운 Plugin 생성 새로 만든 Plugin에 OnlineSubsystem, OnlineSubsystemSteam 플러그인 정보 기입 - MultiplayerSessions.uplugin MultiplayerSessions.uplugin더보기{ "FileVersion": 3, "Version": 1, "VersionName": "1.0", "FriendlyName": "MultiplayerSessions", "..
[UE] Multiplayer 4: Session 들어가기
[UE] Multiplayer 4: Session 들어가기
2023.07.15목차 Session 들어가기 (=Joining the Session) MultiplayerCharacter MultiplayerCharacter.h더보기// Copyright Epic Games, Inc. All Rights Reserved.#pragma once#include "CoreMinimal.h"#include "GameFramework/Character.h"#include "Interfaces/OnlineSessionInterface.h"#include "MultiplayerCharacter.generated.h"UCLASS(config=Game)class AMultiplayerCharacter : public ACharacter{ GENERATED_BODY() /** Camera ..
[UE] Multiplayer 3: Session 생성하기
[UE] Multiplayer 3: Session 생성하기
2023.07.15목차 Session 생성하기 MultiplayerCharacter MultiplayerCharacter.h더보기 #pragma once#include "CoreMinimal.h"#include "GameFramework/Character.h"#include "Interfaces/OnlineSessionInterface.h"#include "MultiplayerCharacter.generated.h"UCLASS(config=Game)class AMultiplayerCharacter : public ACharacter{ GENERATED_BODY() /** Camera boom positioning the camera behind the character */ UPROPERTY(VisibleAnyw..
[Unreal] SDK Not Setup 문제(Project Package 문제) 해결하기
[Unreal] SDK Not Setup 문제(Project Package 문제) 해결하기
2023.07.15SDK Not Setup 문제 해결하기 (the sdk for windows is not installed properly, which is needed to generate date. check the sdk section of the launch on menu in the main toolbar to update sdk. would you like to attempt to continue anyway?). 다음과 같은 문구가 뜨며 프로젝트가 Package 되지 않는 문제 해결하기. 목차 SDK Not Setup 문제 해결하기 the sdk for windows is not installed properly, which is needed to generate date. check the sdk sect..
[UE] Multiplayer 2: Online Subsystem Steam
[UE] Multiplayer 2: Online Subsystem Steam
2023.07.15목차 프로젝트 생성 + Plugin: Online Subsystem Steam 등록하기 프로젝트 생성 Plugin 설치하기 - Online Subsystem Steam 설치 Multiplayer.Build.cs - Plugin인 OnlineSubsystemSteam과 OnlineSubsystem을 연결한다. Multiplayer.Build.csusing UnrealBuildTool;public class Multiplayer : ModuleRules{ public Multiplayer(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; PublicDep..
[UE] Multiplayer 1: Listen Server Testing, LAN Connection
[UE] Multiplayer 1: Listen Server Testing, LAN Connection
2023.07.15프로젝트를 패키지하여 LAN으로 연결되는 기본 게임을 구현해본다. 컴퓨터의 IP 주소를 활용하여 제3자 컴퓨터가 접속하여 네트워크에 접속하여 참여한다. 목차 Multiplayer 1: Listen Server Testing ThirdPersonCharacter Event Graph ※ 자기 컴퓨터의 IP 주소 찾는법 Command Prompt에 ipconfig 입력 후 엔터IPv4 주소가 자기 컴퓨터의 IP 주소이다. 프로젝트 패키지 하기 (Package Project) 제3자 컴퓨터에서 LANTesting.exe 파일을 열어 접속한다. C++ 코드로 구현하기 LANTestCharacter LANTestCharacter.h더보기#pragma onc..
[UE] 화살
[UE] 화살
2023.07.13화살을 생성하여 발사하여 데미지를 전달한다. 활을 장착(=Equip) 시에 화살을 생성하고 장착 해제(=Unequp) 시에 화살을 소멸시켜준다. 조준 후 화살을 발사하면 Projectile 값이 1000.0으로 적용되어 날라가고 충돌이 켜진다. 발사 후에는 Owner(여기서는 플레이어)의 손에 화살을 생성하여 붙여준다. 목차 Plugins Weapon Resource Icon128.pngweapon_thumbnail_icon.png Source Weapon SWeaponCheckBoxes.h .cppSWeaponDetailsView.h .cppSWeaponDoActionData.h .cppSWeaponEquipmentData.h .cppSWeaponHitData.h .c..
[UE] 활 시위에 손 맞추기
[UE] 활 시위에 손 맞추기
2023.07.10지난 시간에는 활 시위를 구부러뜨리는것을 구현하였다. 오늘은 활 시위를 플레이어 손에 붙였다가 화살 발사 시 손에 떨어뜨리는 것을 구현할 것이다. CDo_Action_Bow를 만들어 발사 시점과 끝난 시점을 구분지어 줄 것이다. CAnimNotifyState_BowString 만들어 손에서 떨어진 활 시위를 다시 붙여주는 시점에 몽타주에 삽입할 것이다. 목차 Plugins Weapon Resource Icon128.pngweapon_thumbnail_icon.png Source Weapon SWeaponCheckBoxes.h .cppSWeaponDetailsView.h .cppSWeaponDoActionData.h .cppSWeaponEquipmentData.h .cp..
[UE] 활 시위 당기기
[UE] 활 시위 당기기
2023.07.07지난 시간에는 BlendSpace1D를 사용하여 활이 구부러지는것을 구현하였다. 오늘은 활의 SkeletalMesh에 AnimInstance를 만들어 활의 시위가 당겨지는 것을 구현하겠다. CAnimInstance_Bow, CAttachment_Bow, 그리고 CSubAction_Bow는 서로 상속관계가 아니므로 활 시위가 당겨지는 float 변수(여기서는 float Bend)를 만들어 이어줘야 한다. 목차 Plugins Weapon Resource Icon128.pngweapon_thumbnail_icon.png Source Weapon SWeaponCheckBoxes.h .cppSWeaponDetailsView.h .cppSWeaponDoActionData.h .c..
[UE] 활 조준
[UE] 활 조준
2023.07.06지난 시간에 이어 활 조준을 구현해보자. 활의 BlendSpace 1D를 만든 것처럼 플레이어 애니메이션도 BlendSpace 1D로 만들어 활 조준을 자연스럽게 구현할 것이다. 목차 Plugins Weapon Resource Icon128.pngweapon_thumbnail_icon.png Source Weapon SWeaponCheckBoxes.h .cppSWeaponDetailsView.h .cppSWeaponDoActionData.h .cppSWeaponEquipmentData.h .cppSWeaponHitData.h .cppSWeaponLeftArea.h .cppWeapon.Build.csWeaponAssetEditor.h .cppWeaponAssetFact..
[UE] 활 구현하기
[UE] 활 구현하기
2023.07.05이전에 만든 Attachment을 구조를 활용하여 활 무기를 추가해보자. CAttachment_Bow를 생성하여 활용하여 활은 만든다. BlendSpace와 Curve를 활용하여 활이 구부러지는 것을 구현한다. 목차 Plugins Weapon Resource Icon128.pngweapon_thumbnail_icon.png Source Weapon SWeaponCheckBoxes.h .cppSWeaponDetailsView.h .cppSWeaponDoActionData.h .cppSWeaponEquipmentData.h .cppSWeaponHitData.h .cppSWeaponLeftArea.h .cppWeapon.Build.csWeaponAssetEditor.h .cp..