일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Unreal Engine Error
- Ai
- ai jitter
- redirector crash
- 리디렉터 크래쉬
- unreal engine
- unity
- Random Map Generator
- ai 뚝뚝 끊김
- register component
- staticmesh mobility
- unreal ai lag
- ue4 error
- 13iew
- redirection crash
- unreal engine redirection crash
- ue4 Crash
- deltaTime
- ai 주춤거림
- 리디렉션 크래쉬
- Unreal Engine 5
- UE
- UnrealEngine
- splinemeshcomponent scale
- 언리얼
- UE4
- LittleNightMare
- UE5
- Unreal Engine 4
- 랜덤 맵 생성
- Today
- Total
목록전체 글 (64)
Class GameDev* SheepAdult

해당 에러가 발생하는 이유는 아래 with 괄호 안의 rvalue(?)에 해당하는 헤더파일이 없기 때문이다. 즉, 해결방법은 해당 cpp 파일에 헤더파일을 추가하면된다. 하지만 어떠한 과정으로 인해 저 에러가 생기는지는 모르겠다... 그냥 Tick 함수의 내부 코드들을 주석처리하면 해당 에러가 발생하고 코드가 있으면 발생하지 않는데, Tick의 코드는 외부에 영향을 주지 않는 코드라 이해가 되지 않는다,, 암튼 해결 방법은 알았으니 추가적인 것은 추후에 알아 봐야겠다.
게임 이름 : Get-Plugged! 진행 기간 : 2022.01 ~ 2022.01 장르 : 2D 플랫포머 도트 게임 팀원 : 3명 에셋 : 도트 - 자체 제작 / sound - https://www.chosic.com/ 배포 여부 : O (https://t9100.itch.io/get-plugged) 이전에 2주 프로젝트로 만든 게임입니다.저는 맵의 기믹들의 프로그래밍 및 도트작업, 레벨 선택 Scene의 작업을 맡았습니다.https://www.youtube.com/watch?v=hi0m58RdLbU
게임 이름 : Von-mir 진행기간 : 2020.12 ~ 2021.02 장르 : 2D 로그라이크 도트 게임 팀원 : 3명 에셋 : 자체 제작 출시 여부 : X (도트 찍기가 너무너무 힘듬..) 영상 왼쪽 위 마우스 아이콘 양해 부탁드립니다. 저는 보스 패턴을 맡았으며, 메인 캐릭터와 몇몇 맵을 제외한 모든 도트작업을 맡았습니다. 만들었던 게임 영상 만들어 뒀던거 올려봅니다. https://www.youtube.com/watch?v=cso0qGuNbHA

우리가 만약 UPROPERTY()로 선언한 변수 값이 늘어나 디테일 창에서 정리를 하고 싶거나 특정 값을 기준으로 해당 값을 Disable(Deactivated) 혹은 Able(Activate) 시키고 싶을 때가 있을 것이다. 이럴 경우 언리얼 UPROPERTY()의 EditCondition을 사용하면 된다. 사용법은 아래와 같다. UPROPERTY(Specifier, meta=(EditCondition="BooleanPropertyName")) 자료형 변수명; EditCondition은 Boolean 자료형을 받으며 true 조건이 되면 활성화가 되고 false 조건이면 비활성화가 된다. 테스트로 아래와 같이 코드를 작성해 보았다. UPROPERTY(EditAnywhere) bool bIsTesting..
데코레이터 블랙보드의 플로우 컨트롤 카테고리에 'Notify Observer'라는 항목이 있다. 두 가지 옵션이 있는데, 하나는 On Result Change이고, 다른 하나는 On Value Change이다. 전자는 사용되는 Key에 특정 값이 할당되어 있고 이 값이 null 값으로 할당되면 호출된다. 후자는 null 값뿐만 아니라 값이 변경되면 호출된다. 즉, On Result Change는 키 값이 null로 되면 호출, 다른 값으로 변경되면 호출 X On Value Change는 키 값이 다른 값으로 바뀌면 호출된다.

복사 생성자는 언제 호출되는가? 기본적으로 대입 연산자(ex. =)를 사용하여 복사를 할 때 생성된다. 이는 기존에 생성된 객체를 이용해 새로운 객체를 초기화한 경우이다. 이뿐만 아니라 참조가 아닌 복사 방식인 Call-by-value방식에서 함수 호출 시 객체를 인자로 전달하는 경우, 그리고 객체를 참조형으로 반환하지 않는 경우에도 복사 생성자가 호출된다. 함수의 매개변수가 참조자가 아닌 경우 복사가 일어난다. 인자를 매개변수에 대입하는 과정에서 발생한다. 그리고 return으로 반환 시 해당 return 값에도 복사 생성자를 통한 복사가 일어난다. 일반적으로 함수가 종료되면 안에서 선언된 변수나 객체는 소멸되는데 반환되는 객체는 '임시 객체'로써 일단 소멸되지 않는다. 아래와 같이 클래스와 함수가 있..
vector에서 중복이 되어 있는 수 들을 제거하기 위해서는 먼저 정렬을 해준다. 그 후 unique를 사용하면 중복되는 값들이 배열 맨 뒤로 이동하고 이동된 값의 첫 번째 위치를 반환한다. 그 후 erase를 해당 지점부터 end()까지 하게 되면 중복되는 수들은 제거된다. 물론 set을 사용하면 이 과정들이 필요 없이 처음부터 정렬해주고 중복된 수들도 제거해 주겠지만 벡터로 제한되는 상황이 나올 수 있으니 알아 두자는 의미로 작성한다. ex) // 정렬해주고 sort(answer.begin(), answer.end()); // unique로 뒤로 밀려난 중복된 수들 중 첫 번째를 unique는 반환한다. end()까지 erase하면 끝 v.erase(unique(v.begin(), v.end()), ..
언리얼에 내장되어 있는 Interface 클래스가 아닌 다른 클래스에서 가상 함수를 만들어보면 // AMaster_InteractableObject.h public: UFUNCTION() virtual void Interact() PURE_VIRTUAL(AMaster_InteractableObject::Interact, ); 과 같이 보통 작성한다. 저 PURE_VIRTUAL을 보면 순수 가상함수를 말하는 것 같아 " = 0"으로 작성해도 똑같지 않을까 해서 아래와 같이 고치고 컴파일하면 public: UFUNCTION() virtual void Interact() = 0; "해당 클래스를 인스턴스화 할 수 없습니다"라는 에러가 뜨게 된다. 찾아보니 언리얼 오브젝트의 최상위 오브젝트인 UObject는 모..

(상수 같은 경우 코드의 가시성을 높이기 위해 따로 빼두지 않고 넣어놨습니다.) 3D 게임 개발 시 간단하게 이동을 구현하면(기본 언리얼이 제공하는 3D 콘텐츠 팩 같은 경우), 좌측으로 이동했다가 우측으로 이동할 경우 특별한 마찰력 등의 저항을 주지 않았다면 짧은 시간 안에 속도가 0으로 줄어들었다가 몸이 반대로 돌아가며 속도가 다시 서서히 올라간다. 방향 전환이 이루어질 때 아무런 애니메이션 없이 휙 돌아가는 모션이 없어 어색해 약간 주춤(?)하는(자동차 드리프트 느낌) 애니메이션을 넣어 보고자 했다. (코드는 마지막에) 1. 구현에서의 첫 번째 오판 - 판단 처음에 생각했을 때 캐릭터의 AxisValue를 받아서 구현해 보고자 했다. 일단, 속도가 너무 느리면, 즉 걸을 때는 일반적인 경우처럼 하기..

메뉴를 열거나 pause 키로 게임을 중단시키고 싶을 경우 일반적으로 UGameplayStatics::SetGamePaused(GetWorld(), true); 를 사용해 게임을 중단시킨다. 그리고 다시 게임으로 돌아오기 위해 ESC를 누르거나 P키(일반적으로 Pause키)를 누르면 안 눌러지는 것을 알 수 있다. 왜냐하면 게임이 중단되면 Input도 중단되기 때문이다. 그러면 FlipFlop형태로 중단했다가 재개하려면 어떻게 해야 할까? 블루프린트를 살펴보면 아래와 같은 bool 값이 있다. 저기 Execute when Paused가 있는 것을 알 수 있는데 저것을 true로 바꿔주면 된다. c++ 에선 아래와 같다. void AMainCharacter::SetupPlayerInputComponent(..