분류 전체보기
[UE Net] 캐릭터 공격 구현
[UE Net] 캐릭터 공격 구현
2024.04.10네트웍 멀티플레이를 위한 캐릭터의 공격 구현과 체력 동기화 네트웍 멀티플레이 게임 제작을 위한 기본 구현 원칙의 학습 액터 컴포넌트를 리플리케이션하는 방법의 학습 인프런 이득우님의 '언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해] 강의 들으러 가기! 목차 캐릭터 공격 구현 학습 목표 네트웍 멀티플레이를 위한 캐릭터의 공격 구현과 체력 동기화 캐릭터의 공격 플로우 (Standalone) 액터와 애님 인스턴스간에 수행되는 캐릭터의 공격 플로우 네트웍 멀티플레이의 구현을 위한 4원칙 1. 클라이언트의 명령은 Server RPC를 사용한다. Server RPC는 클라이언트에서 서버로 패킷..
[C++] Effective C++ : Chapter 2 생성자, 소멸자 및 대입 연산자
[C++] Effective C++ : Chapter 2 생성자, 소멸자 및 대입 연산자
2024.04.10목차 Chapter 2: 생성자, 소멸자 및 대입 연산자 항목 5: C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자 Q. C++이 만들어내는 기본적인 함수는 무엇이고, 어떠한 형태로 생성할까요? 프로그래머기 만들지 않으면 컴파일러가 기본으로 생성해주는 멤버 함수가 뭐가 있을까요?더보기A. 기본적인 함수는 복사 생성자, 복사 대입 연산자, 소멸자입니다. 생성자조차도 선언되어 있지 않으면 역시 컴파일러가 기본 생성자를 선언합니다. 이 4가지 함수는 inline 함수 형태로 생성됩니다.추가로 이동 생성자, 이동 대입 연산자도 생성됩니다public - inline 은 컴파일러가 선택한다.move&&… (가변길이 템플릿)코드복사형태https://modoocode.com/290" data..
[백준 8980번 C/C++] 택배
[백준 8980번 C/C++] 택배
2024.04.10[백준 8980번 C/C++] 택배 https://www.acmicpc.net/problem/8980 8980번: 택배 입력의 첫 줄은 마을 수 N과 트럭의 용량 C가 빈칸을 사이에 두고 주어진다. N은 2이상 2,000이하 정수이고, C는 1이상 10,000이하 정수이다. 다음 줄에, 보내는 박스 정보의 개수 M이 주어진다. M은 1이 www.acmicpc.net 해결전략 그리디 Greedy Algorithm 각 택배를 가능한 한 먼저 배달해야 하는 목적지 마을 순으로 정렬. 각 마을별 남은 용량 계산 트럭이 각 마을을 방문할 때마다 특정 용량만큼의 박스를 싣고 내린다. 이를 관리하기 위해 capacity 벡터를 사용하여 각 마을별로 남은 용량을 관리한다. 초기값은 트럭의 최대 용량인 c로 설정한다. ..
[백준 24337번 C/C++] 가희와 탑
[백준 24337번 C/C++] 가희와 탑
2024.04.09[백준 24337번 C/C++] 가희와 탑 https://www.acmicpc.net/problem/24337 24337번: 가희와 탑 일직선으로 다양한 높이의 건물들이 N개 존재합니다. 가희는 건물들의 왼쪽에, 단비는 건물들의 오른쪽에 있습니다. 일직선 상에 가희와 단비, 건물들은 아래와 같은 순서로 배치되어 있습니다. www.acmicpc.net 해결전략 그리디 Greedy Algorithm 가장 높은 빌딩의 높이 계산 int tallest = max(a, b); 가희와 단비 중 더 많은 건물을 볼 수 있는 사람이 볼 수 있는 가장 높은 건물의 높이를 결정한다. 이는 두 관점에서 공통적으로 보이는 가장 높은 건물이 된다. 건물 배치 가희와 단비 각각의 관점에서 볼 수 있는 건물들을 v1과 v2에 배치..
[UE] 언리얼 프로파일링 UE Profiling
[UE] 언리얼 프로파일링 UE Profiling
2024.04.08언리얼 엔진에서 프로파일링은 게임의 성능을 분석하고 최적화하는 과정이다. 이를 통해 CPU, GPU, 메모리 사용량 등을 모니터링하여 성능 병목 현상을 파악할 수 있다. 프로파일링 결과를 바탕으로 코드를 최적화하고, 애셋을 관리하여 게임 성능을 향상시키는게 중요하다. 목차 최적화 최적화를 위해 병목지점을 찾자! CPU AI, Physics, Blueprint, Tick, DrawCall GPU Shadow, OverDraw, UI, Opaque, Lighting I / O Sequence Play, Level loading, Texture loading 네트워크 대역폭(BandWidth), 전송 지연 메모리 GC, Out of Memory 스로틀링 (throttling) 발열로 인한 가속 ..
[백준 2931번 C/C++] 가스관
[백준 2931번 C/C++] 가스관
2024.04.08[백준 2931번 C/C++] 가스관 https://www.acmicpc.net/problem/2931 2931번: 가스관 www.acmicpc.net 해결전략 구현 정답코드 #include #include #include using namespace std; // 북서남동 int dirY[4] = { -1, 0, 1, 0 }; int dirX[4] = { 0, -1, 0, 1 }; int r, c; // r: 행 c: 열 vector v; // 격자판 pair Moscow, Zagreb; // 'M'과 'Z'의 위치 int resultY, resultX; // 누락된 파이프의 위치 struct Coor { int y, x, dir; }; void FindLostPipe() { // 누락된 파이프 부분을..
[C++] Effective C++ : Chapter 1 C++에 왔으면 C++의 법을 따릅시다
[C++] Effective C++ : Chapter 1 C++에 왔으면 C++의 법을 따릅시다
2024.04.07목차 Chapter 1: C++에 왔으면 C++의 법을 따릅시다 항목 1: C++ 언어들의 연합체로 바라보는 안목은 필수 포인터는 메모리의 스택 영역에 있고 포인터가 가리키는 객체는 힙에 있다! 항목 2: #define을 쓰려거든 const, enum, inline을 떠올리자 Q. #define 매크로의 유효 범위는?더보기A. 컴파일이 끝날 때까지다. 항목 3: 낌새만 보이면 const를 들이대 보자! Q. 아래의 코드에서 값을 변경하지 못하도록 const를 붙이고 싶습니다. 어디에다가 const를 붙이는게 좋을까요?char* authorName = "Scott Meyers"; 더보기A. 값이 변경되지 않도록 앞쪽에 const를 붙이면 된다. 하지만 주소값도 변경되지 않게 con..
2024.04.07 운동일지
2024.04.07 운동일지
2024.04.07웨이트 1시간 (다리, 등, 어깨)
2024.04.05 운동일지
2024.04.05 운동일지
2024.04.05조깅 5.01km + 웨이트 30분
[UE] 언리얼 C++ 설계 3 - 델리게이트 Delegate
[UE] 언리얼 C++ 설계 3 - 델리게이트 Delegate
2024.04.05언리얼 델리게이트를 사용해 클래스 간의 느슨한 결합을 구현하기 느슨한 결합의 장점과 이를 편리하게 구현하도록 도와주는 델리게이트의 이해발행 구독 디자인 패턴의 이해발행 구독 디자인 패턴을 구현하면서, 언리얼 델리게이트를 활용한 느슨한 결합의 설계 방법을 학습 인프런 이득우님의 '언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해] 강의 들으러 가기! 목차 느슨한 결합 강한 결합(Tight Coupling) 과 느슨한 결합(Loose Coupling) 강한 결합 ( Tight Coupling ) 클래스들이 서로 의존성을 가지는 경우를 의미한다.아래 예시에서 Person 클래스는 Card 클래스를 가졌..
[UE] 언리얼 C++ 설계 2 - 컴포지션
[UE] 언리얼 C++ 설계 2 - 컴포지션
2024.04.05언리얼 C++만의 컴포지션 기법을 사용해 복잡한 언리얼 오브젝트를 효과적으로 생성하자언리얼 C++ 컴포지션 기법을 사용해 오브젝트의 포함 관계를 설계하는 방법의 학습언리얼 C++이 제공하는 확장 열거형 타입의 선언과 활용 방법의 학습 인프런 이득우님의 '언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해] 강의 들으러 가기! 목차 언리얼 오브젝트의 컴포지션 컴포지션 ( Composition ) 객체 지향 프로그래밍의 설계는 상속과 컴포지션으로 나눌 수 있다.상속이란 같은 성질을 가진 부모, 자식 객체 간의 Is-A 관계만 의존해서는 설계와 유지보수가 어려움.컴포지션은 객체 지향 설계에서 Has-A ..
[UE] 언리얼 C++ 설계 1 - 인터페이스
[UE] 언리얼 C++ 설계 1 - 인터페이스
2024.04.05언리얼 C++ 인터페이스 클래스를 사용해 보다 안정적으로 클래스를 설계하는 기법을 학습하자. 목차 언리얼 C++ - 인터페이스 언리얼 C++ 인터페이스 인터페이스란?객체가 반드시 구현해야 할 행동을 지정하는데 활용되는 타입다형성(Polymorphism)의 구현, 의존성이 분리(Decouple)된 설계에 유용하게 활용 언리얼 엔진에서 게임 콘텐츠를 구성하는 오브젝트의 설계 예시언리얼 엔진 월드에 배치되는 모든 오브젝트.월드에 배치되는 모든 오브젝트를 액터라고 한다. 액터(Actor)는 움직이는 물체와 안 움직않는 물체를 모두 통틀은 상위 개념이다. 움직이지 오브젝트 ( Pawn )길찾기 시스템을 반드시 사용하면서 움직이는 오브젝트 ( INavAgentInterface 인터페이스를 구현한 Paw..