본문 바로가기
반응형

Unreal179

Unreal C++, 라이브 코딩 컴파일 [Unreal] C++, 라이브 코딩 컴파일 라이브 코딩 컴파일 방법단축키 Ctrl + Alt + F11개인적으로 라이브 코딩을 선호하지 않는다.라이브 코딩을 사용하지 않고 Visual Studio에서 컴파일 하는 편이 좋다.-> 빠르고 오류도 적다. 라이브 코딩 비활성화 방법상단 메뉴바에서 편집 -> 에디터 개인설정 -> 라이브 코딩 -> 라이브 코딩 활성화 체크 해제라이브 코딩 비활성화 방법 (간편)우측 하단에 컴파일 옵션 메뉴를 열고 라이브 코딩 활성화를 체크 해제 한다. 비활성화 후 Visual Studio에서 솔루션 빌드를 하면 짤랑거리는 소리가 나며 컴파일이 완료된다.   라이브 코딩이 활성화 되어 있는 경우Visual Studio에서 컴파일을 시도하면Unable to delete hot-re.. 2023. 10. 23.
Unreal C++ 클래스 폴더&파일 생성, 삭제, [Unreal/C++] 클래스 폴더&파일 생성, 삭제,  생성폴더는 클래스를 생성하면서 만들거나파일탐색기에서 미리 생성해 둔 후 클래스 파일을 만들 때 경로를 지정해 준다.클래스 폴더는 콘텐츠 브라우저 내에서 생성이 안된다.* 빈 폴더는 언리얼 에디터 (콘텐츠 브라우저)에 표시되지 않는다.  삭제콘텐츠 브라우저에서 삭제 불가1. 엔진 에디터 종료2. Visual Studio 내에서 제거 삭제3. 파일 탐색기에서 삭제4. Visual Studio 빌드->솔루션 빌드5. 엔진 실행   이동1. 엔진 종료2. 파일 탐색기에서 파일 정리3. 프로젝트 폴더에서 솔루션 파일(.sln) 삭제4. ProjectName.uproject 우클릭 후 Generate Visual Studio project file 실행5. .. 2023. 10. 22.
Unreal Error C1083 포함 파일을 열 수 없습니다. [Unreal/Error] C1083 포함 파일을 열 수 없습니다. 초기에 C++ 클래스 파일 생성 후 나타나는 에러 중 하나프로젝트에서 해당 경로를 찾지 못해 나타나는 증상클래스 폴더 경로를 지정해 주면 된다. unreal 폴더 생성Missing {ProjectName} ModulesThe following modules are missing or built with a different engine version: {ProjectName}Would you like to rebuild them now? Error{ProjectName} could not be compiled. Try rebuilding from source manually. 프로젝트 폴더 내에 있는 {ProjectName}.Build... 2023. 10. 22.
Unreal 언리얼 프로젝트 폴더 구조 [Unreal] 언리얼 프로젝트 폴더 구조 프로젝트를 생성할 때 옵션빈 프로젝트최대 퀄리티시작용 콘텐츠 포함하지 않음레이트레이싱 사용 안함 블루프린트 기반 프로젝트프로젝트명.uprojectConfigContentSavedIntermediateBuild (빌드하면 생기는 파일)Plugins (옵션) C++ 기반 소스가 포함된 프로젝트프로젝트명.uprojectConfigContentSavedIntermediateBuild (빌드하면 생기는 파일)SourceBinaries.vs프로젝트명.slnPlugins (옵션) ※ 기본 프로젝트 생성 시 Blueprint와 C++ 프로젝트의 용량이 다른 이유는 Intermediate 폴더에 들어있는 엔진 소스 라이브러리가 포함이 되어 프로젝트 빌드가 되기 때문에 용량이 크.. 2023. 10. 5.
Unreal C++ vs 블루프린트 [Unreal] C++ vs 블루프린트 C++ 클래스 장점빠른 런타임 퍼포먼스: 일반적으로 C++ 로직은 블루프린트 로직보다 훨씬 빠릅니다. 이유는 다음과 같습니다.명확한 디자인: C++ 에서 변수나 함수를 노출하면 세밀한 제어를 통해 원하는 것을 정확히 노출할 수 있으므로, 특정 함수/변수를 보호하고 클래스의 공식 "API"를 만들 수 있습니다. 따라서 지나치게 크고 따라잡기 어려운 블루프린트를 만들지 않아도 됩니다.광범위한 액세스: C++ 에서 정의(하고 제대로 노출)한 함수와 변수는 다른 모든 시스템에서 액세스할 수 있어, 여러 시스템 사이 정보 전달에 완벽합니다. 또한, C++ 에는 블루프린트보다 많은 엔진 함수 기능이 노출되어 있습니다.더 많은 데이터 제어: C++ 에서는 데이터 저장과 로드 관.. 2023. 10. 5.
Unreal Collision [Unreal] CollisionSimulaation Generates Hit Events 옵션 : 피직스 시뮬레이션 중 OnHit 이벤트를 발생시킴Generate OverlapEvents 옵션 : OnBeginOverlap 이벤트와 OnEndOverlap 이벤트를 발생시킴Can Character Step Up On 옵션 : 캐릭터가 이 물체에 쉽게 오를 수 있도록 함 Collision Presets- 프로젝트 셋팅 -> 충돌 -> 프리셋에서 세부 설정 확인 가능- 기본적인 반응과 Trace, Object에 대한 충돌 반응을 각각 지정할 수 있음Collision Enabled- 이 물체에 충돌시 쿼리(Query), 피직스(Physics), 둘 다(Both), 충돌 없음(None)로 설정할 수 있다.Obj.. 2023. 8. 28.
Unreal 충돌 이벤트 (Collision Event) [Unreal] 충돌 이벤트 (Collision Event) Unreal에서 충돌의 반응은 무시(Ignore), 겹침(Overlap), 블록(Block) 세 가지가 있다. 충돌 반응에 따라 발생하는 이벤트가 다르니 숙지해 놓는 것이 좋다. 블록(Block) : 두 물체의 반응이 모두 블록으로 설정된 경우에만 블록이 발생한다.   ▶ 두 물체에 대해 모두 OnHit 이벤트가 호출된다. OnHit 이벤트는 두 물체가 서로 충돌하는 순간 서로의 경로를 막을 때마다 호출된다.   ▶ 두 물체 중 하나가 피직스를 시뮬레이션 할 경우에는 해당 물체의 SimulationGeneratesHitEvents 속성을 True로 설정해야 한다.   ▶ 두 물체는 물리적으로 서로가 이동하는 경로를 막는다. 겹침(Overlap).. 2023. 8. 28.
Unreal Break Hit Result [Unreal] Break Hit Result   Blocking HitBoolean차단 적중이 있으면 참, 그렇지 않으면 거짓 Initial OverlapBoolean히트가 초기 오버랩에서 시작된 경우 True 일부 다른 값은 다르게 해석, 시간은 0이고 ImpactPoint는 위치와 동일하며 법선은 동일하며 침투 벡터를 나타냅니다. TimeFloat적중이 있는 경우 [0.0 ~ 1.0) 범위의 추적 방향을 따른 충격의 '시간'으로, 시작과 끝 사이의 시간히트가 없으면 1.0 DistanceFloatTraceStart에서 월드 공간의 위치까지의 거리초기 중첩이 있는 경우(다른 충돌 객체 내에서 추적이 시작됨) 이 값은 0 LocationVector월드 공간에서 히트의 위치이것이 스윕 모양 테스트인 경우.. 2023. 8. 27.
Unreal Collision 설정 [Unreal] Collision 설정 언리얼에서 충돌체 설정 방식편집->프로젝트 세팅->콜리전 오브젝트 채널 만들기 트레이스 채널 만들기 Trace By Channel프리셋 프로파일 만들기 Trace By Profile  Profile 이름Collision Enabled프로퍼티설명No Collision콜리전 없음 - 이 바디는 물리 엔진 내 어떠한 표현이 없습니다. 공간 쿼리(레이캐스트, 스윕, 오버랩) 또는 시뮬레이션(리짓 바디, 컨스트레인트)에 사용할 수 없습니다. 이 세팅은 특히나 움직이는 오브젝트에 최적의 퍼포먼스를 냅니다.Query Only쿼리 전용 - 이 바디는 공간 쿼리(레이캐스트, 스윕, 오버랩)에만 사용됩니다. 시뮬레이션(리짓 바디, 컨스트레인트)에는 사용할 수 없습니다. 이 세팅은 물.. 2023. 8. 25.
Unreal BP Trace [Unreal/BP] Trace Unreal Blueprint Trace by Channel 언리얼에서 Trace By Channel을 사용하는 방법은 쉽다.시작 위치와 끝 위치를 정해주고 Out Hit에서 Brake로 세부 설정들을 빼서 필요한 정보만 사용하면 된다.하나의 블루 프린트에서 시작점을 가져오기 위해 스태틱 메시를 임시로 넣어 놓고포지션으로 시작점을 얻고 시작점과 방향값을 이용해 끝 점을 얻어서 넣어주었다. Trace Channel은 충돌을 무시하거나 오버랩, 블록 등의 역할을 하기 위한 채널이다.프로젝트 셋팅 - 콜리전에서 Trace Channels를 설정한 후 Preset 등에서 포함을 시켜야 판정이 된다.기본적으로 보여지고 있는 물체들을 다 체크하는 Visibility로 설정 되어 있다.. 2023. 8. 25.
Unreal 새 레벨 만들기 [Unreal] 새 레벨 만들기 Unreal에서 새 레벨을 만들면 아무것도 보이지 않는다.그 이유는 빛과 반사되는 물건들이 없기 때문이다. 빛을 추가하는 방법은 여러가지가 있다.직접 추가하거나 언리얼에서 제공하는 환경 라이트 믹서를 활용하는 방법이다. 먼저 빛이 없을 경우를 확인하기 위해 상단 툴 바에서 창 -> 액터 배치를 눌러 큐브를 하나 배치해 본다.큐브를 배치했음에도 불구하고 빛이 없기 때문에 보이지 않는다.디렉셔널 라이트를 추가해 빛이 반사되는 큐브를 확인해 보자.라이트를 배치하니 큐브가 보인다. 디렉셔널 라이트를 추가한 것처럼 하늘, 구름, 애트머스피어, 스카이라이트 등 여러가지를 직접 추가할 수 있지만 언리얼에서는 환경 라이트 믹서라는 편리한 도구를 지원한다. 인바이런먼트 라이트 믹서(Env.. 2023. 8. 22.
Unreal C++ Input, Bind Action, Bind Axis [Unreal/C++] Input, Bind Action, Bind Axis언리얼 C++ 을 이용한 입력 방법 1. 프로젝트 셋팅 -> 입력 설정에서 키 값을 설정한다. Action, Axis2. SetupPlayerInputComponent 를 재정의 한다.virtual void SetupPlayerInputComponent(class UInputComponent* InputComponent) override;void AMyPawn::SetupPlayerInputComponent(class UInputComponent* InputComponent){ Super::SetupPlayerInputComponent(InputComponent); // "Grow" 키를 누르거나 뗄 때 반응합니다 In.. 2023. 8. 20.
반응형