프로그래밍 450

[HDProject] UGUI Text Mesh Pro Style Applier 에디터 제작

Git : https://github.com/kwon1232/HDProject UGUI에서 Text Mesh Pro를 사용하다보면다른 아웃라인과 색깔을 적용하기 위해서는 매번 새로운 머티리얼을 할당해줘야 한다. Legacy Text 보다 이는 사용하기 번거롭기 때문에,동적으로 머티리얼을 할당하는 코드를 제작하여 해당 프로젝트에 적용하였다. 먼저 TMPStyleMainColor, TMPStyleOutline 클래스를 제작하였다. 해당 클래스들은 구조체처럼 서로 다른 변수의 모음을 담기 위해서 제작하였으며따라서 MonoBehaviour를 상속받지 아니한다. TMPTextStyle 내부에는컬러를 조정할 변수 모음인 TMPStyleMainColor 클래스를 인스턴스화 하여 맴버 변수로 삼고,아웃라인을 조정할 변..

[GAS] 언리얼 게임플레이 어빌리티 시스템 개요 (UE GAS Overview)

해당 GAS관련 학습 프로젝트를 진행하며 작성하는 글에서의사용자의 정의를 하고자한다. 해당 분류의 포스팅에서의 사용자의 의미는언리얼에서 GAS를 사용하여 제작하는 사용자를 일컫는 말로 정의하고자 한다. 언리얼 게임 플레이 어빌리티 시스템을 이용하면 다양한 아이템을 제작할 수 있다.또한조종하는 캐릭터가 다양한 공격과 스킬을 사용할 수 있다. 물론 GAS를 사용하지 않아도공격과 스킬, 다양한 아이템은 제작할 수 있다만 시스템을 사용해서 보다 효과적으로 구현해 본 경험을 가지는 게 나의 학습 목표이다. 자, 이제 왜 GAS를 사용하면 어떤 점이 좋은지공부하며 차차 알아가보자. 오늘 포스팅 목표는 다음과 같다. 게임플레이 어빌리티 시스템을 구성하는 주요 개념과 핵심 구성요소의 학습C++ 언어로 게임플레이 어빌..

UE5/GAS 2025.04.26

[백준 골드 5] 1456 거의 소수

Git Hub :https://github.com/kwon1232/CodingTest/tree/main/%EB%B0%B1%EC%A4%80/Gold/1456.%E2%80%85%EA%B1%B0%EC%9D%98%E2%80%85%EC%86%8C%EC%88%98arr size 정하는 법제곱의 범위를 생각하면 된다.x^n 이므로,제곱 벗기는 법은 루트 씌우기이다.즉, 루트 x^n의 값 까지가 최대 탐색 수가 maxSize가 된다.10^14 를 루트를 씌워준 뒤 +1의 값이 최대 배열의 수가 된다. 1. 이후 최대 배열의 수 까지 배열을 초기화해준다. 2. 초기화 이후에는 배수를 지워주는 반복문을 돌아준다. 3. 각각의 소수에 관해 소수를 N제곱한 값이 들어온maxRange보다 커질 때까지 반복문을 실행해준다. 4...

마이크로 소프트에서 사용되는 _CLRCALL_OR_CDECL

_CLRCALL_OR_CDECL 는 으래 C++에서 쓰이는 endl을 타고 들어가면 볼 수 있는 매크로이다. enld을 타고 들어가면 다음과 같은 코드를 볼 수 있는데, 해당 코드에서 사용되는 basic_ostream의 클래스 크기는 1바이트이다.아마 c의 _Alignof나 C++의 alignof(T) 또는 alignas를 사용한 것 같다. alignas의 예시 alignas를 사용하지 않고 클래스 패딩 규칙에 따른 메모리 할당 크기 alignas를 사용하여 메모리 할당 크기를 사용자가 임의로 지정해 준 코드 해당 코드 전문class a{ int v[4];};// V의 메모리 풀 즉, 패딩을 내가 조절하는 것// alignas를 사용하면// V의 할당 될 메모리를 비트 단위로 내가 할당해..

[HDProject]파티 초대 팝업창 포톤 연동 + 왜 포톤을 쓰나요?

Git : https://github.com/kwon1232/HDProject 필자가 Unity엔진에서 Photon 서버를 사용하는 주된 이유는 다음과 같다.빠른 개발 속도Photon Unity Networking(PUN) 패키지를 통해 복잡한 소켓 프로그래밍 없이도 멀티플레이어 기능을 즉시 구현할 수 있다. RPC 호출, 룸 생성·관리, 이벤트 전송 등 기본적인 네트워킹 기능을 API 한 줄로 처리할 수 있다.낮은 레이턴시 및 글로벌 리전 지원전 세계에 분산된 서버 리전을 통해 플레이어가 가장 가까운 리전에 접속하여 레이턴시를 최소화할 수 있다. 게이머의 지역에 따라 자동으로 최적의 리전을 선택하는 기능도 제공된다.매치메이킹·로비·룸 관리 기능이 제공자동 매치메이킹으로 플레이어를 간편하게 그룹화할 수 ..

[백준 실버2] 1541 잃어버린 괄호

GitHubhttps://github.com/kwon1232/CodingTest/tree/main/%EB%B0%B1%EC%A4%80/Silver/1541.%E2%80%85%EC%9E%83%EC%96%B4%EB%B2%84%EB%A6%B0%E2%80%85%EA%B4%84%ED%98%B8 CodingTest/백준/Silver/1541. 잃어버린 괄호 at main · kwon1232/CodingTestThis is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - kwon1232/CodingTestgithub.com #include #i..

순수 가상 메서드와 추상 베이스 클래스

순수 가상 메서드란 클래스 정의 코드에서명시적으로 정의하지 않는 메서드이다.메서드를 순수 가상 메서드로 만들면,컴파일러는 이 메서드에 대한 정의가 현재 클래스에는 없다고 판단한다.순수 가상 메서드가 하나라도 정의된 클래스를 추상 클래스라 부른다.추상 클래스는 다른 코드에서 인스턴스를 생성할 수 없다.클래스에 순수 가상 메서드가 하나라도 있으면컴파일러는 이 클래스가 객체를 생성하는데 사용되지 않는다고 생각한다.순수 가상 메서드를 지정하려면 선언 뒤에 =0 을 붙인다.그리고 구현 코드는 작성하지 않는다.

C++ 기초 플러스 완독 후기

사실 1회독을 한 지는 1년 6개월 정도 지났지만,이제서야 "완독" 이라는 표현을 쓰는 이유는당시에는 이해가 가든 안가든 필사하고 밑줄 쳐가며 읽어나갔기 때문이다.그 당시는 회독이지, 완독이라 표현하기엔 부족함이 있었다.이후 시간이 흐르며 추가적으로 C++강의와 다른 서적들,마이크로소프트 공식문서를 보며이제서야 책에서 했던 말이 이해가 되었기 때문이다.처음 C++을 배울 때 이 책으로 시작했었지만,후회는 없다.후회가 없는 이유는 C++를 모르는 상태에서오히려 꾸역꾸역 1600페이지가 넘는 분량을 읽어나갔기에,다음에 다른 책을 읽을 때는 덜 어려웠기 때문이다.처음부터 두껍고 상세한 책을 읽음으로써매를 먼저 맞은 것 같다.처음 배울 때 부터 상세하고 방대한 양에 익숙해지니,그 다음에 800페이지 책은 읽을만..

취미/개발서적 2025.04.18