Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 티스토리챌린지
- baekjoon
- Programmers
- 팰린드롬 만들기
- GeeksForGeeks
- UE5
- C++
- softeer
- algorithm
- 1563
- Frustum
- directx
- DeferredRendering
- 프로그래머스
- const
- Unreal Engine5
- DirectX11
- NRVO
- 오블완
- IFileDialog
- winapi
- 2294
- UnrealEngine4
- UnrealEngine5
- 백준
- 언리얼엔진5
- RVO
- RootMotion
- 줄 세우기
- C
Archives
- Today
- Total
Game Develop
[UE5] 구조체 본문
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
|
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "CustomStructs.generated.h"
class HYOBINSPROJECT_API CustomStructs
{
public:
CustomStructs();
~CustomStructs();
};
USTRUCT(Atomic, BlueprintType) // Atomic : 항상 하나의 단위로 직렬화. BlueprintType : 블루프린트에서 사용될 수 있음을 의미.
struct FAttackInfoStruct
{
GENERATED_USTRUCT_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite) // 포인터변수의 경우, 댕글링포인터 방지하기위해 UPROPERTY 꼭 붙이기
float damage;
};
|
cs |
1. 6번째 라인에 있는것처럼, 클래스이름.generated.h는 필수로 선언.
2. 구조체이름 맨 첫번째에 F도 필수.
3. USTRUCT는 당연히 필수고, 굳이 블루프린트에서 사용할일 없으면 BlueprintType 빼버리면 된다.
UPROPERTY도 마찬가지.
4. 기본적으로 변수에는 UPROPERTY를 해주는게 좋고, 포인터변수일 경우 댕글링포인터 문제에서 보호받기위해 UPROPERTY 매크로를 사용하면 좋다. 대신, 언리얼 GC의 수집대상이 되기 때문에 의도치않게 객체가 파괴되어 문제가 발생할 수 있다.
5. 데이터테이블을 사용하고싶다면 FTableRowBase를 상속받기
'UnrealEngine5 > 이것저것' 카테고리의 다른 글
[UE5] 전방선언을 자주 활용하자. (0) | 2023.01.12 |
---|---|
[UE5] 스트링 처리 (0) | 2023.01.11 |
[UE5] CharacterMovement 컴포넌트의 각 옵션들 (0) | 2023.01.11 |
[UE5] 루트모션 적용할 때 알아야할 옵션 (1) | 2023.01.10 |
[UE5] 리타겟팅(Retargeting) (루트모션 정상적으로 적용하기) (0) | 2023.01.10 |