언리얼 오브젝트는 언리얼 엔진의 관리를 받는 특수한 개체이다.꼭 모든 클래스가 UObject가 되어야 하는것은 아니며, 필요에 따라 네이티브 클래스를 사용할 수 있다.언리얼 클래스는 접두사를 통해 구분한다.F: 일반 C++ 오브젝트U: 언리얼 오브젝트(UObject)A
Actor 레벨에 배치될 수 있는 모든 오브젝트의 기본 클래스 이동, 회전, 스케일과 같은 3D Transform을 지원하는 범용 클래스이다. 액터는 Transform 데이터를 직접 저장하지 않는다. 액터의 루트 컴포넌트에 트랜스폼 데이터가 존재할 경우, 그 데이터
플레이어나 AI가 제어할 수 있는 모든 액터의 베이스 클래스월드 내 플레이어나 AI개체에 대한 물리적 표현이다. 플레이어나 AI 개체의 시각적인 모습뿐 아니라 콜리전이나 기타 물리적 반응 같은측면에서 월드와의 상호작용 방식도 Pawn이 규정한다.기본적으로 Control
캔버스 패널에 UI 위젯의 바람직한 위치를 정의하고,화면 크기가 달라져도 그 위치를 유지하도록 하는 데 사용된다.좌상단 구석인 Min(0,0), Max(1,1)에서우하단 구석인 Min(1,1), Max(1,1) 범위로 정규화 된다.노랑 박스 안에 있는 것은 앵커 메달로
출처:https://superyateam.com/2019/10/29/setting-up-ue4-character-jumps/점프 높이위의 비디오에는 높이와 시간에 대한 속도와 중력 의존성을 설명하는 두 가지 중요한 공식이 있습니다. 그리고여기서 v 0 은 초기
데이터 테이블은 유용한 방식으로 짜여진 표를 의미한다..CSV파일을 임포트하기 위해 데이터를 엔진이 인식할 수 있게 Row컨테이너를 만들어엔진에 데이터 해석방식을 알려줘야 한다.이후 빌드한 후 에디터에서 데이터 테이블을 만들고, 드롭다운을 눌러보면우리가 만든 데이터 테
출처: https://www.parallelcube.com/2017/12/18/add-volume-control/ 언리얼의 오디오 시스템은 여러 구성요소로 작동한다. 사운드 웨이브 사운드 큐 사운드 클래스 사운드 믹스 사운드 웨이브 사운드 파일을 에디터로 임포트
AIController를 상속받는 cpp클래스를 만들고 이를 기반으로 BP를 만들어서AI가 빙의할 폰이나 캐릭터의 BP로 가서 디테일탭의 폰 세션에서 AI컨트롤러를 설정해준다그러면 게임이 시작될때 이를 위한 AI컨트롤러 객체가 자동으로 월드에 배치된다.AI의 기억과 같
출처:https://hyo-ue4study.tistory.com/287https://darkcatgame.tistory.com/66https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/
타임라인 컴포넌트를 UTimelineComponent타입으로 추가해준다.사용할 커브를 UCurveFloat 타입으로 추가해준다.커브에 사용할 델리게이트를 FOnTimeLineFloat타입으로 추가해준다.(Vector이면 FOnTimeLineVector)델리게이트 등록해
출처:https://docs.unrealengine.com/4.26/ko/InteractiveExperiences/SaveGame/https://docs.unrealengine.com/4.26/ko/InteractiveExperiences/SaveGa
https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/FTimerManager/SetTimerForNextTick/4/다음 프레임에 호출되도록 하는 기능블루프린트에서 Delay에 0초로 설정하면 이 기능과
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=takemoto882&logNo=221599715725
출처:https://www.unrealengine.com/ko/blog/unreal-property-system-reflectionhttps://kyoun.tistory.com/77?category=749179Reflection은 프로그램이 실행시간에
언리얼 엔진은 C++11과 C++14의 일부 기능을 지원합니다. 이 중에서도 가장 많이 사용되는 버전은 C++14입니다.언리얼 엔진에서 C++14의 특징들 중 일부는 다음과 같습니다:Generic Lambdas: 람다 함수에 타입을 명시하지 않아도 됩니다.Return
World Context Object는 단순하게, World에 존재하는 객체이다.UGameplayStatics에서 이 WorldContextObject를 통해 거슬러 올라가, World를 찾게 된다.UGameplatStatics의 대부분의 기능은 이 WorldConte
PIE를 하면 NULL서브시스템만 사용하기에, 매번 스팀 서브시스템을 테스트할 때마다 빌드를 뽑아 하기엔 어려움이 있다.이때 프로젝트 폴더의 uproject파일을 우클릭하고 LaunchGame을 클릭하면 스팀 서브시스템을 찾을 수 있다.
https://docs.unrealengine.com/5.0/ko/unreal-engine-ik-rig/IK 릭(IK Rig) 시스템은 스켈레탈 메시의 포즈를 편집하는 솔버(Solvers) 를 인터랙티브하게 생성하는 수단을 제공한다.그 결과로 생성된 IK 릭
베리언트 매니저는 레벨에서 액터의 여러 환경 설정을 구성하는 데 사용할 수 있도록 특화된 언리얼 에디터의 UI패널이러한 환경설정을 베리언트라 한다.베리언트 매니저의 기능베리언트를 구성할 수 있습니다.베리언트를 베리언트 세트라는 카테고리로 정리한다.각 베리언트가 제어해야
https://night-devlog.tistory.com/20https://pppgod.tistory.com/26https://docs.unrealengine.com/4.27/en-US/API/Runtime/Core/Math/FRotatio
위젯 컴포넌트를 World로 하면 루트 컴포넌트에 따라 회전하며, 다른 액터에 가려질 수 있지만,Screen으로 설정하면 UI처럼 회면 위에 그려지므로, 회전하지도, 가려지지도 않는다.
델리게이트에 함수를 바인딩하려면, 파라미터의 타입과 갯수를 동일하게 맞춰줘야 한다.이 파라미터 타입과 갯수를 편하게 보는 방법이 있다.보통 콜리전에 충돌 콜백함수를 바인딩할 때 OnComponentBeginOverlap과 같은 것들을 사용한다.OnComponentBeg
출처: https://oldpg.tistory.com/4 클래스의 생성자. 언리얼 에디터에서의 설정 클래스 내의 BeginPlay() 함수 즉, BeginPlay() 에서 특정 변수값으로 3을 대입하였다면, 언리얼 에디터에서 그 변수의 값을 아무리 바꿔도 소용
https://leeporter.tistory.com/10
https://docs.unrealengine.com/4.27/en-US/API/Runtime/Core/Math/FVector/GetSafeNormal2D/벡터를 2D로 노말라이즈하여 안전한지 확인하고 변환시켜 준다.Hit의 Normal을 빨간색으로 표시하고,
https://nvidia.custhelp.com/app/answers/detail/a_id/5157위 링크에 들어가서 해당 파일을 다운받은 후 실행하면 된다
분명히 StopMovementImmediately를 해서 Velocity를 0으로 만들었음에도 Velocity가 남아있는 경우가 있다. 그럴때는 StopMovementImmediately()를 사용하여 PenningLaunch등의 예약된 힘들을 클리어해주자
https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/Networking/Actors/Properties/Replicate되는 변수는 바로 호출되는 것이 아니라 일정 주기 혹은 타이밍에 호출되게 된다.하지
에디터 개인 세팅에서 네트워크 핑을 임의로 조절할 수 있다.이를 사용하여 핑이 좋지 않는 상황에서 어떻게 작동하는지 테스트할 수 있다
https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/Networking/HowTo/DedicatedServers/
C:\\Program Files (x86)\\Epic Games\\Launcher\\Engine\\Binaries\\Win64폴더에 있는 UnrealVersionSelector 파일을 복사한다.엔진이 설치된 드라이브에 가서, 다음 폴더에 복사한 파일을 붙여넣는다.만약
요거대로 임포트하면 된다
https://www.youtube.com/watch?v=hGLIqru5wnI프로파일링은 범행 수법을 추론한 뒤 이를 바탕으로 범인을 찾아내는 수사 기법따라서 오래전에 생긴 문제는 증거와 기록이 남아있지 않아 범인을 찾아내기 어렵다.따라서 출시 직전에 몰아서
프로파일링 결과를 얻기 위해 성능에 영향을 주는 변수들을 통제1\. PIE가 아닌 독립형 게임으로 실행2\. V-Sync를 끄자(r.vsync 0 콘솔 명령 실행)3\. Smooth Framerate, Physics Sub Stepping, GC Verify, AI L
https://youtu.be/JOJP0CvpB8w언리얼은 빌트인 된 멀티플레이 기능을 가지고 있다.멀티플레이에선 여러개의 클라이언트가 동시에 실행되는데, 각 클라이언트가 서로 대화할 수 있고, 일관적인 하나의 세계를 공유해야 한다.언리얼 네트워크 모델에서는,
EOS를 이용하여 로그인을 지원하는 게임을 만들 때, 자신의 브랜드를 심사받지 않은 상태에서는 자기 조직 사람들만 로그인이 가능하다. 그렇지 않으면 위 오류가 뜨며 로그인이 되지 않는다https://dev.epicgames.com/portal/ko/위 링크의
프로젝트 세팅에서 클라이언트 측면 내비게이션 허용 체크Simple Move to Location 노드 사용
큰 물체가 루멘 환경에서, 움푹 들어간 부분같은 곳에 검은색으로 그림자가 져버리는 현상이 왕왕 생긴다.스태틱 메쉬에서 디스턴스 필스 셀프 섀도 바이어스를 높게 설정하면 사라진다.(1000)
전신 IK를 사용하여 각 다리의 발이 특정 위치를 타겟팅 해야 한다. 0. 월드 스페이스와 rig 스페이스의 차이 월드 스페이스는 레벨 내의 공간. 실제 게임의 좌표계이며 무한으로 확장되는 큰 좌표계라고 생각하자. 그리고 rig 스페이스는 그 큰 좌표계 위에 올려진
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/behavior-tree-in-unreal-engine---overview 언리얼 엔진에서 캐릭터에 사용할 AI를 만드는 방법은 많지만, 비헤이비어 트리를 사용