분류 전체보기635 언리얼엔진5 ExponentialHeightFog ▣ ExponentialHeightFog는 Unreal Engine에서 안개 효과를 제어하는 데 사용되는 컴포넌트로, 다양한 설정을 통해 분위기를 연출할 수 있습니다. ▣ Fog Density 정의: Fog Density는 안개의 밀도를 결정하는 값입니다. 이 값이 높을수록 안개가 더 짙어지고, 시야를 가리게 됩니다. 범위: 일반적으로 0.0에서 1.0 사이의 값을 사용합니다. 값이 0.0에 가까울수록 안개가 거의 보이지 않으며, 1.0에 가까울수록 매우 짙은 안개가 형성됩니다. 용도: 전체 안개 효과의 강도를 조절하는 데 사용됩니다. 예를 들어, 저녁이나 새벽과 같은 장면에서 짙은 안개를 표현하거나, 밝은 날씨에서 약간의 안개만을 표현할 때 사용할 수 있습니다.▣ Volumetric Fog 정의: .. 2024. 8. 15. 언리얼엔진5 Apply Additive ▣ Apply Additive는 기본 애니메이션에 추가적인 움직임을 더해주는 기능입니다. ▣ Apply Additive 노드 Apply Additive 노드는 애니메이션 블루프린트에서 사용되며, 이 노드를 통해 Additive Animation을 기존의 애니메이션 시퀀스에 적용할 수 있습니다. ▣ Base Pose: 기본이 되는 포즈 또는 애니메이션. 이 포즈에 Additive Animation이 적용됩니다. Additive Pose: 기본 포즈에 추가되거나 빼야 할 애니메이션입니다. 이 포즈는 기본 포즈와 비교되어 차이점만이 적용됩니다.▣ Additive Animation의 종류 Additive Animation에는 크게 두 가지 종류가 있습니다Local Space Additive: 각 본(bone).. 2024. 8. 14. 언리얼엔진5 Time Remaining ▣ Time Remaining Time Remaining 노드는 현재 활성화된 애니메이션 시퀀스(애니메이션 클립)의 남은 시간을 반환합니다. 이 값은 초 단위로 측정되며, 애니메이션의 끝까지 남은 시간을 나타냅니다. ▣ 사용 예시: 예를 들어, 캐릭터가 공격 애니메이션을 재생하고 있다고 가정하면, Time Remaining 노드를 사용하여 애니메이션이 끝나기 직전(예: 0.2초 남았을 때) 다른 상태로 전환하거나 새로운 애니메이션을 시작할 수 있습니다. ▣ 노드 사용 방법: Time Remaining 노드는 상태 머신의 상태나 트랜지션 내에서 사용할 수 있습니다. 애니메이션 시퀀스를 지정한 후, 해당 애니메이션의 남은 시간을 얻을 수 있습니다. 참고 사항: 애니메이션이 종료되면 Time Remainin.. 2024. 8. 14. 언리얼엔진5 Add State Alias, Priority Order ▣ Add State Alias는 특정 상태(State)에 별칭(Alias)을 부여하여, 해당 상태를 다른 이름으로 참조할 수 있도록 합니다. 복잡한 애니메이션 그래프에서 동일한 상태를 여러 곳에서 사용해야 하는 경우, 별칭을 사용하면 상태를 더 쉽게 관리하고 이해할 수 있습니다. ▣ 만약 애니메이션 블루프린트에서 "Run" 상태가 있다면, 이 상태를 "SprintStart"라는 별칭으로 추가하여 사용할 수 있습니다. 이렇게 하면, 동일한 상태를 다양한 상황에서 재사용할 수 있으며, 블루프린트가 복잡해지더라도 직관적으로 상태를 파악할 수 있습니다. ▣ 사용 방법: 상태를 추가하고자 하는 노드를 우클릭합니다. Add State Alias 옵션을 선택합니다. 별칭을 지정한 후, 이 별칭을 사용하여 상태를 참.. 2024. 8. 14. 유니티 interface ▣ 인터페이스(interface)는 C#에서 클래스 또는 구조체가 구현해야 하는 멤버들의 집합을 정의하는 데 사용되는 계약(contract)입니다. 인터페이스는 메서드, 속성, 이벤트, 인덱서 등의 시그니처만을 포함하며,실제 구현은 제공하지 않습니다. 이를 통해 서로 다른 클래스들이 동일한 기능을 구현하도록 강제할 수 있습니다. ▣ 인터페이스를 사용하는 이유 일관성 유지: 인터페이스를 통해 다양한 클래스들이 동일한 메서드나 속성을 구현하도록 강제할 수 있습니다. 다형성 지원: 인터페이스 타입을 사용하여 서로 다른 클래스의 객체를 동일한 방식으로 다룰 수 있습니다. 유연한 설계: 인터페이스를 활용하면 코드의 결합도를 낮추고, 더 유연하고 확장 가능한 설계를 할 수 있습니다. 다중 상속의 대안: C#은 클.. 2024. 8. 13. 유니티 abstract ▣ abstract 키워드는 C#에서 객체 지향 프로그래밍(OOP)의 중요한 개념인 추상화(abstraction)를 구현하는 데 사용됩니다. 추상 클래스와 추상 메서드를 정의할 때 사용되며, 구체적인 구현을 제공하지 않고, 파생 클래스(자식 클래스)에서 반드시 구현해야 하는 멤버를 선언하는 데 활용됩니다. ▣ abstract 키워드의 사용 이유 공통 인터페이스 제공: 추상 클래스는 자식 클래스들이 공통으로 가져야 할 메서드나 속성을 정의합니다. 그러나 그 구현은 자식 클래스에 따라 달라질 수 있습니다. 이를 통해 코드의 일관성과 가독성을 높일 수 있습니다. - 강제 구현: 추상 메서드를 선언하면, 이 메서드를 상속받는 모든 자식 클래스는 반드시 해당 메서드를 구현해야 합니다. 이를 통해 코드의 일관성을 .. 2024. 8. 13. 유니티 virtual, override ▣ 부모 타입에 객체에 Dog를 참조하여도 부모메소드가 호출됩니다. ▣ virtual과 override 키워드는 C#에서 상속 관계를 활용할 때 주로 사용되는 키워드입니다. 이들은 부모 클래스와 자식 클래스 간의 메서드 재정의(Overriding) 작업에 중요한 역할을 합니다. ▣ virtual 키워드 정의: 부모 클래스에서 메서드나 속성을 정의할 때, 해당 메서드나 속성을 자식 클래스에서 재정의할 수 있도록 허용하는 키워드입니다. 언제 사용되는가: 부모 클래스에서 정의된 메서드가 자식 클래스에서 재정의(override)될 가능성이 있는 경우 사용합니다.▣ override 키워드 정의: 자식 클래스에서 부모 클래스의 virtual로 선언된 메서드나 속성을 재정의할 때 사용하는 키워드입니다. 언.. 2024. 8. 13. 유니티 base 키워드 ▣ base 키워드는 C#에서 객체 지향 프로그래밍의 상속(inheritance) 개념을 활용할 때 주로 사용됩니다.base 키워드는 부모 클래스(또는 기본 클래스)의 멤버(필드, 메서드, 속성 등)에 접근할 수 있도록 해줍니다.이를 통해 자식 클래스에서 부모 클래스의 기능을 확장하거나, 부모 클래스의 기능을 재사용할 수 있습니다.그리고 부모클래스를 상속해야합니다. https://learn.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/base base 키워드 - C# referenceC#의 파생 클래스 내에서 기본 클래스의 멤버에 액세스하는 데 사용되는 base 키워드에 대해 알아봅니다.learn.microsoft.com 2024. 8. 13. 언리얼엔진5 Rotation 설정 ▣ 플레이한 상태에서 ~ 콘솔 커맨드창에서DisplayAll PlayerController ControlRotation : 해당 속성값이 마우스 입력에 따라서 어떻게 회전하는지 그 값이 나옵니다. ▣ Use Controller Rotation Pitch, Use Controller Rotation Yaw, Use Controller Rotation Roll는 Unreal Engine에서 캐릭터의 회전에 관련된 설정으로, 각각 캐릭터가 입력 장치(예: 마우스, 컨트롤러 등)의 회전 입력을 따라 움직이도록 제어하는 옵션들입니다. 이 설정들은 특히 캐릭터가 움직일 때 카메라나 플레이어의 입력에 따라 자동으로 회전하도록 만들 때 유용합니다. ▣ Use Controller Rotation Pitch 역할: 이 .. 2024. 8. 9. 유니티 예외 처리 ▣ 구체적인 예외 클래스 FormatException 문자열을 숫자나 날짜 등 특정 형식으로 변환할 때 형식이 맞지 않을 경우 발생합니다. 예시: int.Parse("abc"); IndexOutOfRangeException 배열이나 컬렉션의 인덱스가 범위를 벗어날 때 발생합니다. 예시: int[] array = new int[5]; int value = array[10]; NullReferenceException 객체가 null 참조일 때 해당 객체의 멤버에 접근하려 할 때 발생합니다. 예시: object obj = null; obj.ToString(); InvalidOperationException 메서드 호출이 객체의 현재 상태와 적합하지 않을 때 발생합니다. 예시: IEnumerator enumer.. 2024. 8. 8. 유니티 메소드 ▣ ref 키워드는 변수가 메서드에 전달되기 전에 반드시 초기화되어 있어야 합니다. 메서드 내에서 이 변수의 값을 변경하면, 호출자에게도 변경된 값이 전달됩니다. ▣ out 키워드는 변수가 메서드에 전달될 때 초기화될 필요가 없습니다. 메서드 내에서 이 변수를 반드시 초기화해야 하며, 호출자는 이 초기화된 값을 사용할 수 있습니다. ▣ 가변매개변수는 가변으로 변수를 배열에 받아오는 형식을 뜻합니다. ▣ 명명된 변수를 사용할 때 맨 앞에 있는 매개변수가 Default로 지정되어 있어야 뒤에 있는 값을 명명된 변수로 사용가능합니다. https://docs.unity3d.com/ScriptReference/ Unity - Scripting API:Welcome to the Unity Scripting.. 2024. 8. 8. 언리얼엔진5 c++ 게임입력모드 설정 ▣ FInputModeGameOnly와 SetInputMode 함수는 Unreal Engine 5에서 게임 입력 모드를 설정하는 데 사용됩니다.이 코드의 목적은 플레이어가 게임 내에서만 입력을 받을 수 있도록 설정하는 것입니다.이를 통해 마우스와 키보드 입력이 게임 내 액션에만 반영되고, 다른 UI 요소나 게임 외부에는 영향을 미치지 않도록 할 수 있습니다. ▣ FInputModeGameOnly 클래스의 인스턴스를 생성합니다. 이 클래스는 게임 전용 입력 모드를 정의하는 역할을 합니다.▣ SetInputMode(GameOnlyInputMode);SetInputMode 함수는 입력 모드를 설정하는 함수입니다. 여기서는 GameOnlyInputMode 인스턴스를 입력으로 제공하여 게임 전용 입력 모드를 활.. 2024. 8. 7. 언리얼엔진5 c++ 모듈의 퍼블릭 포함 경로 ▣ PublicIncludePaths는 Unreal Engine의 모듈 빌드 시스템에서 모듈의 퍼블릭 헤더 파일들이 위치한 디렉토리 경로를 설정하는 리스트입니다. 퍼블릭 포함 경로에 추가된 디렉토리는 다른 모듈에서 이 모듈을 포함할 때 참조될 수 있습니다. ▣ AddRange는 리스트에 여러 경로를 한꺼번에 추가할 수 있는 메서드입니다. new string[] { "ProjectName" }는 새로운 문자열 배열을 생성하여 " ProjectName " 경로를 리스트에 추가합니다. 이 경로는 모듈의 퍼블릭 헤더 파일들이 위치한 디렉토리를 가리킵니다. 즉, 이 코드는 " ProjectName " 디렉토리를 현재 모듈의 퍼블릭 포함 경로에 추가하여, 이 모듈을 사용하는 다른 모듈들이 이 디렉터리에 있는 헤더.. 2024. 8. 7. 언리얼엔진5 c++ TActorIterator(특정 타입의 액터를 찾기) https://dev.epicgames.com/documentation/en-us/unreal-engine/API?application_version=5.3 ▣ TActorIterator : TActorIterator는 Unreal Engine에서 특정 타입의 액터를 반복적으로 검색하고 접근하는 데 매우 유용한 도구입니다. 이 반복자는 현재 월드에서 원하는 타입의 모든 액터를 쉽게 찾고 작업을 수행할 수 있도록 도와줍니다. TActorIterator를 사용하면 특정 타입의 액터를 간편하게 검색하고 처리할 수 있습니다. ▣ *It: 반복자가 가리키는 현재 AWeaponManager 인스턴스를 반환합니다. 이를 통해 반복자가 현재 가리키는 액터에 접근할 수 있습니다. ▣ 월드에 WeaponMana.. 2024. 7. 27. 언리얼엔진5 c++ OnOverlapBegin WidgetComponent 추가 https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/UMG/Components/UWidgetComponent/GetWidget ▣ c++코드에서 충돌 시 OtherActor가 유효한지 여부를 확인해야 합니다. 그러지 않으면 crash가 나게 됩니다. ▣ FindComponentByClass는 컴포넌트클래스를 찾습니다. 반환 후 꼭 찾은 여부 유효한지에 대한 조건문을 만들어줘서 충돌을 방지합니다. 2024. 7. 26. 언리얼엔진5 c++ SphereComponent https://dev.epicgames.com/documentation/ko-kr/unreal-engine/setting-up-collisions-with-static-meshes-in-unreal-engine?application_version=5.3 ▣ 헤더파일에서 SphereComponent 클래스 및 충돌에 대한 함수를 추가합니다. ▣ cpp파일에서 SphereComponent 헤더를 추가하고 SphereComponent 생성 및 부모 설정 반지름, 위치설정하는 코드를 추가합니다. BeginPlay() 함수에서 충돌 이벤트 바인딩하는 코드 두 개를 추가합니다. 그리고 Begin(), End() 함수에 각각 코드를 추가합니다. ▣ 컴파일 저장 후 플레이를 해서 확인하면 충돌에 따라 글자가.. 2024. 7. 26. 유니티 TileMap https://arks.itch.io/dino-characters Dino Character Sprites by Arks💢4 Colorful and simple Dino Charactersarks.itch.io https://bagong-games.itch.io/cozy-island-tileset Hana Caraka - Cozy Island Topdown Tileset by Bagong GamesComplete 16x16 tileset for your top down gamesbagong-games.itch.io https://docs.unity3d.com/kr/2023.2/Manual/class-Tilemap.html Tilemap 컴포넌트 레퍼런스 - Unity 매뉴얼Tilemap 컴포넌트는.. 2024. 7. 25. 언리얼엔진5 c++ TMap https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/TMap/ TMapTMap, 맵은 크게 키 유형과 값 유형, 두 가지로 정의되며, 맵에 하나의 짝으로 저장됩니다.docs.unrealengine.com ▣ TMap은 데이터를 키&값짝으로 (TPair) 저장합니다.TMap을 저장 및 불러올 때는 키만 사용합니다.맵의 유형은 2가지로 TMap 과 TMultiMap이있습니다.TMultiMap 은 다수의 동일한 키 저장을 지원합니다.기존에 존재하는 키&값을 추가할 때 TMap은 기존 것을 대체하고, TMultiMap은 새로 추가합니다.▣ TMap은 키와 값이 개별로 구분되어 정의됩.. 2024. 7. 16. 언리얼엔진5 c++ enum ▣ 언리얼 열거형은 enum에 class를 붙여야 컴파일 오류가 나오지 않습니다. 그리고 UENUM() 매크로를 붙여서 블루프린트에서 사용할 수 있게 지정할 수 있습니다.UENUM()에서 uint8만 지원하기 때문에 꼭 붙여야 합니다.UENUMclass 밖에서 enum class로 선언하고 BlueprintType 키워드로 블루프린트에서 사용할 수 있게 지정할 수 있습니다.UMETA(DisplayName = )을 지정해서 에디터에서 해당 enum에 이름을 지정해서 볼 수 있습니다. ▣ 블루프린트에서 enum값으로 Switch를 활용하여 만들 수 있습니다. ▣ enum으로 조건문 및 값을 변경할 수 있습니다. 2024. 7. 14. 언리얼엔진5 c++ 한글표시설정 ▣ c++ 코드에서 한글을 디버그 출력하게 되면 이렇게 깨져서 보이게 됩니다. ▣ 첫 번째 방법으로 인코딩하여 다시 저장하고 인코딩을 유니코드로 다시 저장하면 됩니다. ▣ 두 번째 방법으로 프로젝트에서 New EditorConfig를 추가하고 해당 프로젝트 파일탐색기로 가서. editorconfig에서 [*] 포함 charset = utf-8로 코드 추가하고 저장합니다. ▣ 그리고 새로운 c++ 코드를 추가하고 인코딩 저장을 하지 않고 한글로 디버그출력을 하여도 깨지지 않고 한글이 제대로 출력됩니다. 2024. 7. 13. 언리얼엔진5 Copyright(저작권 정보) ▣ Unreal Engine 5에서 C++로 게임의 저작권 정보를 설정하려면, 보통 A*GameModeBase 클래스나 주요 게임 설정 클래스에 저작권 정보를 추가할 수 있습니다.▣ Project Settings : Unreal Engine의 프로젝트 설정에서 저작권 정보를 설정할 수 있습니다. 에디터에서 Edit -> Project Settings로 이동합니다. Description 섹션에서 Copyright Notice에 저작권 정보를 입력합니다. 2024. 7. 13. 이전 1 ··· 3 4 5 6 7 8 9 ··· 31 다음