302호 컴퓨터실
-
[UE5] FString은 왜 '*'을 붙여서 읽어야할까?302호 컴퓨터실/언리얼 엔진 5 기초 2024. 11. 27. 17:21
1. FString의 구조FString은 언리얼 엔진의 문자열 클래스입니다. 이 클래스는 내부적으로 힙(Heap)에 동적 문자열 데이터를 관리합니다.FString의 핵심은 문자열 데이터를 TArray를 통해 관리하며, 메모리 관리와 최적화를 위해 다양한 유틸리티 메서드가 포함되어 있습니다.하지만, FString 자체는 문자열 데이터를 바로 반환하지 않고, 문자열 값을 가리키는 내부 메서드를 제공합니다.2. C++에서 *의 역할'*'는 C++에서 포인터의 값을 참조하거나 언리얼에서 오버로딩된 특정 연산자를 호출하는 역할을 합니다.FString에서는 * 연산자를 오버로딩하여 내부의 C-Style 문자열 포인터(TCHAR)를 반환하도록 설계되어 있습니다.오버로딩된 operator*()의 역할const TCHA..
-
[C++] 포인터의 크기는 타입과 관계없이 모두 같다.302호 컴퓨터실/C++ 2024. 11. 27. 11:50
포인터 크기의 원리포인터가 저장하는 것은 메모리 주소포인터는 메모리 주소를 저장하는 변수입니다.메모리 주소의 크기는 운영체제의 주소 공간 크기에 따라 달라집니다.예를 들어, 64비트 운영체제에서는 메모리 주소가 64비트(8바이트) 크기입니다.포인터의 크기는 데이터 타입과 무관포인터는 가리키는 데이터의 타입(예: int, double, char)에 관계없이 메모리 주소를 저장하므로, 모든 포인터의 크기가 동일합니다.64비트 운영체제에서 포인터 크기64비트 운영체제는 64비트 주소 공간을 가지므로, 포인터 크기는 8바이트입니다.32비트 운영체제에서는 포인터 크기가 4바이트였습니다.int* p_int;double* p_double;char* p_char;// 모두 같은 크기를 가짐std::cout 포인터가 가..
-
Engine/Source/Programs/AutomationTool/Mutable/RunMutableCommandlet/obj/302호 컴퓨터실/UE 트러블슈팅 2024. 11. 24. 16:12
https://forums.unrealengine.com/t/possible-5-5-bug-in-runmutablecommandlet-directory/2125220/9 Possible 5.5 Bug in RunMutableCommandlet directoryFixed and worked for me after next steps: Open folder: UE_5.5_ROOT_FOLDER\Engine\Source\Programs\AutomationTool\Mutable\RunMutableCommandlet Open terminal window Execute command: dotnet add package System.Data.DataSetExtensions --version 4.5.0forums.unr..
-
[Unreal 5] 블루프린트 4 - Vector, Force, Impulse302호 컴퓨터실/언리얼 엔진 5 기초 2024. 11. 6. 00:01
물리학에서의 힘과 임펄스 개념 차이힘 (Force):힘은 특정 시점에 작용하는 물리적 원인입니다. 예를 들어, 우리가 공을 던질 때 손이 공에 힘을 가하게 되죠. 이때 힘이 짧은 시간 동안 가해지거나, 혹은 일정 시간 동안 지속될 수도 있어요.즉, 힘의 작용 자체는 순간적이지만, 이 힘이 작용하는 시간이 길어질수록 힘의 누적 효과, 즉 임펄스가 커지게 됩니다.임펄스 (Impulse):힘이 일정 시간 동안 누적되어 작용한 결과가 임펄스입니다. 예를 들어, 짧은 순간 동안 강한 힘을 가해 운동량을 크게 변화시키는 것이 임펄스의 대표적인 특징이죠.물리적으로 임펄스는 임펄스 = F×Δt (질량 x 속도의 변화) 로, 힘과 시간이 곱해진 값입니다.언리얼 엔진에서의 표현 방식언리얼 엔진에서는 임펄스를 한 번의 이벤..
-
[Unreal 5] 블루프린트 3 - 객체와 참조302호 컴퓨터실/언리얼 엔진 5 기초 2024. 11. 4. 00:11
객체 (Object) - 데이터와 기능의 집합액터 (Actors) - 객체를 레벨에서 사용 가능하게 해주는 것컴포넌트 (Component) - 객체를 액터로써 사용 가능하게 해주는 것참조 (Reference) - 객체가 있는 장소 (메모리 주소)데이터 핀 (Data Pin) - 블루프린트 노드의 인풋 or 아웃풋 데이터 뷰포트에서 큐브를 선택하고 블루프린트의 이벤트그래프에 큐브 노드를 추가하는 것은 큐브의 참조를 이용하는 것이다.이미지의 파란색 핀이 데이터 핀이다. 큐브 = 스태틱 메시 액터 오브젝트 레퍼런스맨 처음 언급한 내용이 모두 조합된 타입이다.아무튼 큐브가 가지고 있느 기능중 메시 컴포넌트를 사용한다. 간단하게 큐브의 메시 이름을 가져와 프린트하게 세팅해보자. 끝.
-
[Unreal 5] 블루프린트 1 - 프로젝트 생성 및 노드 생성302호 컴퓨터실/언리얼 엔진 5 기초 2024. 11. 3. 23:25
기본 게임 프로젝트 생성 광활한 타일 평야가 펼쳐질건데 아래에 보이는 콘텐츠 드로어를 클릭해 기본 맵을 호출해본다.3개 모두 골고루 확인해보자. 상단 툴바에 네모들 끼리 연결된 아이콘을 클릭하면 현재 레벨에서의 블루프린트를 확인할 수 있다. 기본 액션(기능)들이 뭐 많이 들어 있다.블루프린트가 생성될 저 배경을 event graph 라고 하며 추가될 내용들은 액션 or 기능(function) 이다. 'print string' 을 검색해서 기능 하나를 추가해본다.그렇게 생성된 저 박스를 'Node' 라고 부른다.노드는 프로젝트내에 포함된 이미 만들어진 기능(Premade functionality)의 일부를 뜻한다. 'BeginPlay' 를 검색해서 또 다른 기능 하나를 추가한다.생성된 저 빨간색..