일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- ue4 error
- 언리얼
- unreal engine
- Unreal Engine 4
- draw call skeletal mesh
- 랜덤 맵 생성
- multithreard chat
- UE5
- game ability system
- 아이작 맵 생성
- Unreal Engine 5
- Unity Engine
- unity
- Chat Server
- UE
- ue4 Crash
- bluezone
- UnrealEngine
- tick처럼 사용
- 13iew
- 언리얼 자기장
- Ai
- 채팅 서버
- Random Map Generator
- tick 사용하지 않고
- Unreal Engine Error
- LittleNightMare
- unreal engine 5 merge mesh
- deltaTime
- UE4
- Today
- Total
목록Unreal Engine (28)
Class GameDev* SheepAdult
(2022-12-27 수정) 물건이 떨어져서 바닥에 닿았을 때 소리가 나는 경우를 구현하고자 할 때, OnComponentHit을 사용해서 구현해야 한다는 생각이 자연스럽게 들 것이다. 하지만, OnComponentHit은 우리가 생각했던 것보다 더 많은 빈도수로 호출된다. 만약 어떠한 처리도 하지 않고 물건을 떨어뜨리면 바닥에 한 번만 닿아도 수십 번의 소리가 재생되어 원치 않던 소리가 나므로 적절한 처리를 해주어야 한다. 본문에서 사용할 처리 방법은 OnComponentHit의 매개변수인 NormalImpulse에 임계점을 주어 강한 충돌만 다룰 것이다. 여러 오브젝트에 이식할 수 있도록 컴포넌트로 만들었다. 아래는 PhysicsCollisionSoundComponent.cpp 이다. // Physi..
전혀 문제가 없을만한 코드에서 『Unable to merge actions producing ... : prerequisites are different 』 와 같은 에러가 발생했다. 단순히 bool 값을 추가하고 값을 설정해준 코드여서 당황했다. 위와 같은 에러는 cpp 파일 등이 복제가 되어 나타나는 에러이다. 처음 구글링했을 때 봐도 뭔말인가 싶어 브라우저에서 source 디렉토리를 직접 찾아보니 위와 같이 복제가 되어 있었다. 해당 파일은 private에도 있어 사용하지 않는 파일을 삭제해주면 된다. 근데 도대체 bool값 하나 추가했다고 되고 안되고 하는지 모르겠다. 복제된 파일이 문제면 추가 안해도 문제가 생겨야 할텐데 이해가 안된다. 그리고 어떻게 복제가 된건지도 모르겠다. 하지만 언리얼을 ..
1. 'void ConstructorHelpers::ValidateObject(...) :인수 1을(를) 'T *'에서 'UObject *'(으)로 변환할 수 없습니다.' with 괄호 내에 해당하는 헤더를 추가하면 된다. https://sheep-adult.tistory.com/41 2. -WaitMutex 어쩌고... (한 번 더 발생하면 내용 추가 및 수정) 1) 그냥 오타가 났을 확률이 큼. 예를 들어 UPROPERTY()의 오타라든지 2) 에디터에서 실행하고 로컬 디버거로 실행하면 (2중 실행) 나타남 3. 재정의 어쩌고... (한 번 더 발생하면 내용 추가 및 수정) 전역변수로 설정한 변수의 값을 지역변수로도 사용하여 생기는 오류 4. 에디터 시작 or 디버깅 시 75%(또는 다른 지점)에서 ..
해당 에러가 발생하는 이유는 아래 with 괄호 안의 rvalue(?)에 해당하는 헤더파일이 없기 때문이다. 즉, 해결방법은 해당 cpp 파일에 헤더파일을 추가하면된다. 하지만 어떠한 과정으로 인해 저 에러가 생기는지는 모르겠다... 그냥 Tick 함수의 내부 코드들을 주석처리하면 해당 에러가 발생하고 코드가 있으면 발생하지 않는데, Tick의 코드는 외부에 영향을 주지 않는 코드라 이해가 되지 않는다,, 암튼 해결 방법은 알았으니 추가적인 것은 추후에 알아 봐야겠다.
우리가 만약 UPROPERTY()로 선언한 변수 값이 늘어나 디테일 창에서 정리를 하고 싶거나 특정 값을 기준으로 해당 값을 Disable(Deactivated) 혹은 Able(Activate) 시키고 싶을 때가 있을 것이다. 이럴 경우 언리얼 UPROPERTY()의 EditCondition을 사용하면 된다. 사용법은 아래와 같다. UPROPERTY(Specifier, meta=(EditCondition="BooleanPropertyName")) 자료형 변수명; EditCondition은 Boolean 자료형을 받으며 true 조건이 되면 활성화가 되고 false 조건이면 비활성화가 된다. 테스트로 아래와 같이 코드를 작성해 보았다. UPROPERTY(EditAnywhere) bool bIsTesting..
언리얼에 내장되어 있는 Interface 클래스가 아닌 다른 클래스에서 가상 함수를 만들어보면 // AMaster_InteractableObject.h public: UFUNCTION() virtual void Interact() PURE_VIRTUAL(AMaster_InteractableObject::Interact, ); 과 같이 보통 작성한다. 저 PURE_VIRTUAL을 보면 순수 가상함수를 말하는 것 같아 " = 0"으로 작성해도 똑같지 않을까 해서 아래와 같이 고치고 컴파일하면 public: UFUNCTION() virtual void Interact() = 0; "해당 클래스를 인스턴스화 할 수 없습니다"라는 에러가 뜨게 된다. 찾아보니 언리얼 오브젝트의 최상위 오브젝트인 UObject는 모..
메뉴를 열거나 pause 키로 게임을 중단시키고 싶을 경우 일반적으로 UGameplayStatics::SetGamePaused(GetWorld(), true); 를 사용해 게임을 중단시킨다. 그리고 다시 게임으로 돌아오기 위해 ESC를 누르거나 P키(일반적으로 Pause키)를 누르면 안 눌러지는 것을 알 수 있다. 왜냐하면 게임이 중단되면 Input도 중단되기 때문이다. 그러면 FlipFlop형태로 중단했다가 재개하려면 어떻게 해야 할까? 블루프린트를 살펴보면 아래와 같은 bool 값이 있다. 저기 Execute when Paused가 있는 것을 알 수 있는데 저것을 true로 바꿔주면 된다. c++ 에선 아래와 같다. void AMainCharacter::SetupPlayerInputComponent(..