Unreal Engine - 멀티캐스트 델리게이트
·
Unreal Engine
0. 델리게이트델리게이트 공식 문서 언리얼에서의 사용특정 상황이 발생했을 때 다른 객체에게 알려주기 위해서 사용환다.예를 들어,캐릭터의 체력이 0이 되었을 때 UI와 게임모드, 사운드 등에서 한 번에 반응을 할 때 사용할 수 있다.캐릭터가 체력과 관련된 델리게이트 변수를 가지고 있고, 이 변수를 체력이 0이 될때 BroadCast 하면UI나 게임모드 등 다른 부분에서 바인딩 한 모든 함수들을 동시에 실행할 수 있다.예시//character.hDECLARE_MULTICAST_DELEGATE(FDeathDelegate);...public: void TakeDamage(float Damage); UPROPERTY() FDeathDelegate DeathDelegate; //characte..
Unreal Engine - 데디케이티드 서버 7 (동기화 2)
·
Unreal Engine
캐릭터의 체력을 UI와 연동하는 시스템 구현하기 1. 액터 컴포넌트 동기화1 - 1. 세팅새롭게 생성한 파일Status Component캐릭터의 체력을 set하고 get하는 함수들 존재멀티캐스트 델리게이트를 통해 변수 생성HPWidgetText를 setting 하는 함수와해당 UI의 Owner에 대한 정보를 가진 변수와 해당 변수를 가져오는 함수 존재UPROPERTY(VisibleAnywhere, BlueprintReadOnly)TObjectPtr OwningActor;HPTextWidgetComponent연결된 widget을 가져와서 Owner를 통해 초기화 진행위젯 컴포넌트의 역할?수정한 로직PlayerCharacterStatus Component와 HPTextWidgetComponent 변수 추가 ..
DP (배낭 문제)
·
알고리즘(코딩테스트)
1. 특징배낭 문제 유형의 경우, 특정 스텝을 나아가는 도중에 "제약조건" 을 가지고 있어서 해당 조건을 체크해주는 작업이 필요하다. 예를 들어,물건들을 고르는 방법의 수를 구하는데 "최대 무게"가 정해져 있음동전을 모으는 방법의 수를 구하는데 "최대 금액" 이 정해져 있음인사를 하면서 얻는 기쁨을 구하는데 "최대 체력"이 정해져 있음  그렇기 때문에, 이중 for문을 사용해야 하는 경우가 많다.step을 밟아 나가는 for문제약조건을 지켜주는 for문 2. 예시https://www.acmicpc.net/problem/1535 이 문제는 가장 스탠다드한 형태의 문제이다.바깥 for문을 통해 step을 밟아 나가면서안쪽 for문을 통해서 제약조건을 지켜준다.더보기#include using namespace..
TIL day 79
·
TIL
1. 코딩테스트오늘 오전에는 저번에 연습이 필요하다고 느껴진 배낭문제 유형의 DP 문제를 풀었습니다. 평범한 배낭https://www.acmicpc.net/problem/12865더보기#include using namespace std;int n, k;pair props[102];int dp[102][100'002];int answer = 0;int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> n >> k; for (int i = 1; i > w >> v; props[i].first = w; props[i].second = v; } for (int i = 1; i  동전https://www.acmicpc.net/problem/9084더보기#include..
Unreal Engine - 데디케이티드 서버 6 (동기화)
·
Unreal Engine
1. 캐릭터 걷기 및 점프 동기화코드더보기//animinstance.h#pragma once#include "CoreMinimal.h"#include "Animation/AnimInstance.h"#include "DXAnimInstanceBase.generated.h"class UCharacterMovementComponent;UCLASS()class SCC_DEDICATEDX_API UDXAnimInstanceBase : public UAnimInstance{ GENERATED_BODY() public: virtual void NativeInitializeAnimation() override; virtual void NativeUpdateAnimation(float DeltaSeconds) overr..
TIL day 78
·
TIL
1. 언리얼오늘은 오전부터 멀티플레이 공부를 하고 프로젝트를 진행하고 있습니다. https://gbleem.tistory.com/156 Unreal Engine - 데디케이티드 서버 5 (RPC, Replication)https://gbleem.tistory.com/152  Unreal Engine - 데디케이티드 서버 4 (RPC)1. RPC 개념https://gbleem.tistory.com/140#6.%20RPC-1-5 Unreal Engine - 데디케이티드 서버 개념 및 실습1. 서버의 종류P2P각 컴퓨터가 서버랑 클라gbleem.tistory.com멀티플레이 관련 공부를 하면서, 개념은 점차 잡혀가고 있어서 다행인 것 같습니다.오늘은 NetMulticast와 프로퍼티 리플리케이션 관련해서 공부..
Unreal Engine - 데디케이티드 서버 5 (RPC, Replication)
·
Unreal Engine
https://gbleem.tistory.com/152  Unreal Engine - 데디케이티드 서버 4 (RPC)1. RPC 개념https://gbleem.tistory.com/140#6.%20RPC-1-5 Unreal Engine - 데디케이티드 서버 개념 및 실습1. 서버의 종류P2P각 컴퓨터가 서버랑 클라이언트를 모두 수행하는 방식리슨 서버HOST 역할을 하는 서버용gbleem.tistory.com이어지는 글 입니다. 1. NetMulticast RPC vs Replication1 -1. overview게임에서 리플리케이션 된 액터가 있을때, 이 액터의 속성이 서버에서 수정된 경우를 생각해보자넷 멀티캐스트 RPC를 통해서 서버 + 모든 클라이언트에게 변경된 값을 알려주거나프로퍼티 리플리케이션을 ..
TIL day 77
·
TIL
1. 코딩테스트오늘은 수업중에 DP관련 문제를 풀었습니다.https://www.acmicpc.net/problem/1535DP 배낭문제 유형의 문제였는데, 이 문제 유형 관련해서 좀 더 공부를 해봐야겠다는 생각이 들었습니다.현재 턴을 가지고 진행하면서체력과 같은 제한이 있는 경우2차원 배열을 사용하고 2중 for문을 통해서 문제를 해결하는 것 같은데, 좀 더 템플릿화해서 익숙해져야 할 것 같습니다.더보기#include using namespace std;int n;pair board[22];int dp[22][102]; //현재 i번째 왔을때 남은 체력 j 일때의 기쁨int answer = 0;int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> n; fo..
TIL day 76
·
TIL
1. 코딩테스트class 5의 용액 문제를 풀었습니다.https://www.acmicpc.net/problem/2467더보기#include #include using namespace std;int n;int board[100'002];int answer = INT_MAX;pairans;int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> n; fill(board, board + 100002, INT_MAX); for (int i = 0; i > board[i]; } int st = 0; int en = n - 1; while (st abs(sum)) { answer = abs(sum); ans = make_pair(board[st], boa..
TIL day 75
·
TIL
1. 코딩테스트class 4 한 문제와 class 5 한 문제를 풀었습니다. DP 문제로 유명한 LCS문제https://www.acmicpc.net/problem/9251더보기#include #include using namespace std;string str1, str2;int dp[1002][1002];int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> str1 >> str2; for (int i = 1; i   class 5 다각형의 면적https://www.acmicpc.net/problem/2166 우선 외적을 통해서 원점과 다각형의 두 개의 점을 연결한 삼각형의 넓이를 구했습니다.주의할 점은 오목한 다각형이 존재하기 때문에, 넓이를 더할 때 ..