전체 글 282

함수 뒤에 const? 너 누군데

멤버 함수 뒤에 const를 붙이면const 키워드로 멤버 함수를 선언하면 함수가 자신이 호출되는 개체를 수정하지 않는 "읽기 전용" 함수로 지정하는 것이다. const 객체들은 const 맴버함수만 호출할수 있다.그렇다고 일반 객체는 const가 뒤에 있는 맴버함수도 가능하지 않다는 것은 아니다. int getMonth() const; // A read-only function 그럼 앞에 쓰면? 반환값을 상수화 하는 것이다.const int A(); // 반환값을 상수화한다. 주로 참조값으로 반환이기 때문에 const를 붙여줘야 할 때 쓰인다.  그럼 매개변수에 const는?매개변수를 call by reference일때 즉 참조값으로 받을때 사용한다.속도는 높이고 싶은데 참조값을 변경하기 싫을때..

DX11 HongLap - 무게중심좌표계 이론

Interpolation v1에서 v2까지의 거리가 있다고 가정했을 때.v0은 v1,v2 중간 어딘가에 있다,이때, v1에서 v0까지 거리를 a라고 할 때,v0에서 v2는 b이다. 그럼 v0이 v1에 가까워지면 b가 커지고,v0이 v2에 가까워지면 a가 커지는 것을 알 수 있다.이러한 v는 다음과 같이 표현할 수 있다. v = b/a+b* v1 + a/a+b *v2여기서 b/a+bv1을 w라고 표현하면, a/a+b * v2는 1-w로 표현할 수 있다.그럼 이제… 세 점 사이의 정 가운데 p가 있다고 해보자. 세 점은 각각 v1, v2, v3라 할 때p를 다음과 같이 표현할 수 있다. p = v1 + v2 + v3 / 3 = 1/3 v1 + 1/3 v2 + 1/3 v3= w1v1 + w2v2 + w3v3 ..

그래픽스/DX11 2024.09.24

프로그래머스 C++ Lv.2 퍼즐게임 (PCCP 기출문제 2번)

https://school.programmers.co.kr/learn/courses/30/lessons/340212 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  이분탐색 쓸 생각 못했었는데 적용하는 계기가 되었다. #include #include #include #include using namespace std;bool Possiblelevel(int level, vector diffs, vector times, long long limit){ long long time_cur = times[0], time_prev = 0; long long..

프로그래머스 - Lv.1 동영상 재생기

코딩테스트 연습 - [PCCP 기출문제] 1번 / 동영상 재생기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  1. 10초 미만인 경우의 max값을 구한다.2. 오프닝 구간 사이에 있는 경우 오프닝 끝으로 계속 보내주는 걸 고려하기3. 시간이 최소 시간 이하인 경우, 최대 시간 이상인 경우 고려하기 string solution(string video_len, string pos, string op_start, string op_end, vector commands) { string answer ..

디버깅에 도움되는 메소드 ensure 사용법

c++용법에서 Assert 매크로가 있는데ue5에도 이와 비슷하게 응용할 수 있다. 1. Check(표현식) assert결과가 false면 실행을 중지시킨다. 2. Ensure (표현식) ensure을 사용하여 오류를 디버깅 하는 방법에는 3가지가 있다. 1. ensure( 표현식 )표현식을 검증하여 실패하는 그 지점까지 이르는 콜스택을 생성한다. 2.ensureMsgf(표현식, TEXT("")) 해당 표현식 검증이 실패되면 TEXT에 써져있는 구문으로 오류를 체크할 수 있다. 3. if문을 사용하는 표현식 위 3가지 방식을 코드화하면 다음과 같다.

UE5 2024.09.22

AVL

AVL은 균형 잡힌 이진트리 종류 중 하나 입니다.이진트리의 종류는 대략적으로 다음과 같습니다- AVL- 2-3 트리- 2-3-4 트리- Red-Black 트리- B 트리  자동으로 균형을 잡는 AVL 트리와 균형 인수(Balance Factor) 균형 인수 = 왼쪽 서브 트리의 높이 - 오른쪽 서브 트리의 높이 균형 인수를 통해서 해당 트리의 균형을 잡기 위한 척도를 잡을 수 있다.AVL트리는 균형 인수의 절대값이 2 이상인 경우에 균형을 잡기 위한 트리의 재조정을 진행한다.  이 그림과 반대로 오른쪽 트리의 깊이가 3이고 왼쪽 트리의 깊이가 1라면균형 인수는 -2일것이다.  AVL 트리의 균형이 무너지는 상태(= 이를 리밸런싱이 필요한 상황이라한다. )를바로잡는 회전은 4가지로 정리가 된다.  LL회..

1. GameplayAbilitySystem 플러그인 소개

게임 플레이 시스템은 MOBA 타이틀 또는 RPG에서 찾을 수 있는유형의 능력과 속성을 구축하기 위한 매우 유연한 프레임워크입니다. 게임 속 캐릭터가 사용할 수 있는 액션이나 패시브 능력,이러한 액션으로 인해 다양한 속성이 쌓이거나 닳아 없어질 수 있는 상태 효과인'쿨타운' 타이머 또는 리소스 비용을 구현하여위와 같은 방법으로 액션의 사용을 규제하고, 각 레벨에서 해당 기능의 수준과 효과를 변경할 수 있습니다.또한 입자 또는 음향 효과 등 역시 게임플레이 어빌리티 시스템으로 활성화 할 수 있습니다. 간단히 말해, 이 시스템은 현대 RPG 또는 MOBA 타이틀에 설정된캐릭터의 능력에 대해서 복잡한 게임 내 능력을 설계하고 구현할 때 효율적으로 네트워크화 하는데 도움이 될 수 있도록 만들어진 것입니다. 게임..

UE5/GAS 2024.09.19

[DevLog] Lucy 240917

추가 기능 1- idle 상태, relax 상태 , jog 상태 분리relax는 idle상태에서 실행되고 2초 지나면 랜덤으로 팔 휘적거리거나 좀 편안해 보이는 애니메이션 재생함.애니메이션이 3개면 실행 확률을 다음과 같이 조정함1 애님 - 30%2 애님 - 40%3 애님 - 30%이 정도로 나누어 랜덤 실행되도록 함 기본적은 Anim Instance는 c++에서 값을 받아옴.해당 값을 ABP에서 관리하고 수정 가능하도록 함. 추가 기능 2향상된 인풋 시스템에 맞는 게임 플래이 태그 제작 및 인풋 시스템 cpp 제작  오늘 적용한 것MIXAMO에서 애니메이션을 받아와 파라곤 캐릭터에 맞게리타겟팅함- 언리얼 기본 마네킹 스켈레톤을 이용해서 리타겟팅 하였다.캐릭터 애니메이션 - Idle, Relax, Jog..

Enhanced Input System Input Binding Process (향상된 인풋 시스템 인풋 바인딩 과정)

1. Native Gameplay Tags- Define input tags(입력 태그 정의) 입력 태그를 정의해줍니다. 입력 태그는 점프, 이동, 발사 등 다양한 입력 동작을 나타내는 식별자입니다. 이러한 입력 태그는 소스 파일에서 다음과 같은 형태로 정의해줄 수 있습니다.// 해더 파일 class UInputAction; class UInputMappingContext; USTRUCT(BlueprintType) struct FLucyInputActionConfig { GENERATED_BODY() public: UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, meta = (Categories = "InputTag")) FGameplayTag InputTag; UPR..

UE5 2024.09.16