inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템

IdentifiedObject

Category[] 직렬화

227

샌즈

작성한 질문수 2

0

[SerializeField] 를 통해 IdentifiedObject에서 Category를 직렬화해주고 있는데요.

직렬화를 위해서는 다시 Category의 부모인 IdentifiedObject의 직렬화 가능한 멤버변수를 알아야 하는데 그렇다면

이론상 재귀 호출이 무한히 일어날 것 같은데 잘 작동이 되는 이유가 궁금합니다.

unity modules

답변 1

1

Developer G

수강해주셔서 감사합니다.

다음은 IdentifiedObject(강의에서 보게되실 Effect 객체)의 meta Data입니다.

image
주황색을 보시면 codeName은 string형이므로 값 자체가 Serialize 됐지만, Category와 그 아래 Icon은 유니티 객체이므로 FileID와 GUID(=참조 정보)만 Serialize된 것을 볼 수 있습니다.

UnityEntine.Object를 상속 받고 있는 모든 유니티 객체는 직렬화될 때 해당 객체의 참조 정보(FileID, GUID 등)만 직렬화됩니다. Instantiate 함수를 사용하거나 Scene에서 생성될 때 이 참조 정보를 이용하여 내부 AssetDatabase에서 해당 객체를 찾아와 변수에 연결해주는겁니다.

Category는 IdentifiedObject를 상속 받고, IdentifiedObject는 ScriptableObject를 상속 받고 있는 유니티 객체이므로 직렬화가 일어날 때 Category들에 대한 참조 정보만 직렬화되므로 내부 변수에 접근하지 않기 때문에 Loop가 일어나지 않습니다.

감사합니다.

Indicator와 SelectionAction 및 SearchAction 간의 관계에 대해 질문있습니다.

0

70

2

ChargingState에서 질문이 있습니다.

0

49

1

Effect.GetData 함수 질문있습니다.

0

45

2

CanTransitionToSelf 질문 있습니다.

0

53

2

Stat의 MaxValue에 관하여 질문이 있습니다.

0

42

1

Stat vs StatScaleFloat

0

75

4

애니매이션 버그가 있는것 같습니다.

0

65

2

StatsOverride질문이 있습니다.

0

50

2

SetBonusValue함수 질문있습니다.

0

46

2

오늘 수강시작한 취준생입니다.

0

49

1

사소하지만 에디터 관련 질문있습니다

0

69

1

스킬시스템을 데이터 테이블화 하는 법에 대해 감이안잡혀서 질문드립니다.

0

146

2

TargetSearcher에 대해서 질문이 있습니다

0

52

1

돌진해서 몸박을하면 피격자를 날리면서 데미지를 입히는 스킬은 이 시스템에서 어떻게 만들 수 있을까요??

0

116

2

스킬 관련 질문입니다

0

110

2

통일된 Stat을 사용하지 않고 모듈화 방식으로 Stats를 만드신 이유가 궁금합니다.

0

152

1

Effect에 기능 확장에 대해서 질문이 있습니다.

0

149

2

SkillData 구조체 질문

0

122

1

스킬트리 저장 질문입니다

0

135

2

BT와 FSM을 활용해 몬스터 AI 구현

0

350

2

MonoStateMachine을 만든 이유가 잘 이해가 가지 않습니다.

0

128

1

근접 콤보 공격을 만들고 싶습니다.

0

153

1

하나의 스킬 내에서 타겟, 이펙트가 여러번 바뀌게 하는 방법이 궁금합니다.

0

190

1

올해에 예정된 새로운 강의가 있으신지요?

0

115

2