1. κ²μ μΈμ€ν΄μ€
κ²μ μΈμ€ν΄μ€λ κ²μμ΄ μμν λ λ§λ€μ΄μ Έ κ²μμ΄ μ’ λ£λ λκΉμ§ μ‘΄μ¬νλ€.
- λ λ²¨μ΄ λ³κ²½λμ΄λ κ³μ μ μ§λμ΄ μ 보λ€μ μ μ₯νκ³ κ³΅μ νλ λ° μ¬μ©νλ€.
- μ±κΈν€κ³Ό κ±°μ λΉμ·ν κ°λ μ΄λ€.
μμ±λ κ²μ μΈμ€ν΄μ€λ νλ‘μ νΈ μΈν μμ μ€μ μ΄ νμνλ€. μ΄λ νΉμ κ²μ μΈμ€ν΄μ€λ₯Ό μ ννλ©΄ κ²μ μ€ λ³κ²½ν μ μμΌλ©° μ νλ νλμ κ²μ μΈμ€ν΄μ€λ§ μ‘΄μ¬ κ°λ₯νλ€.
κ²μ νλ¦ κ°μμ λ°λ₯΄λ©΄ κ²μ μΈμ€ν΄μ€λ 곡μμ μΌλ‘ κ²μ νλ μ΄κ° μμλκΈ° μ , λ¨Όμ κ²μ μΈμ€ν΄μ€λ₯Ό μμ±(Create)ν ν μ΄κΈ°ν(Init)λ₯Ό μ§ννλ€.
2. μλΈμμ€ν
μλΈμμ€ν μ μλͺ μ΄ κ΄λ¦¬λλ μλ μΈμ€ν΄μ± ν΄λμ€μ΄λ€. μ¦, νλ‘κ·Έλλ¨Έκ° μ§μ μΈμ€ν΄μ€λ₯Ό μμ± λ° κ΄λ¦¬νμ§ μμλ μμ§μ΄ μμμ μΈμ€ν΄μ±νκ³ μμ± λ° μλ©Έμ κ΄λ¦¬νλ€λ κ²μ΄λ€.
μ 곡νλ μλΈ μμ€ν μ λ€μκ³Ό κ°λ€.
Subsystem | Inherit From |
Engine | UEngineSubsystem |
Editor | UEditorSubsystem |
GameInstance | UGameInstanceSubsystem |
LocalPlayer | ULocalPlayerSubsystem |
μ΄ μ€ UGameInstanceSubsystem λ² μ΄μ€ ν΄λμ€μμ νμλ ν΄λμ€λ₯Ό μλ₯Ό λ€λ©΄ λ€μκ³Ό κ°μ κ³Όμ μ κ±°μΉλ€.
class UMyGameInstanceSubsystem : public UGameInstanceSubsystem
- UGameInstance μμ± μ΄ν, UMyGameInstanceSubsystem μΈμ€ν΄μ€ μμ μμ±λλ€.
- UGameInstance μ΄κΈ°ν μ, μλΈμμ€ν μμ Initialize()κ° νΈμΆλλ€.
- UGameInstance μ’ λ£ μ, μλΈμμ€ν μμ Deinitialize()κ° νΈμΆλλ€.
- μλΈμμ€ν μ λν μ°Έμ‘°κ° μμ λκ³ λ μ΄μ μ°Έμ‘°κ° μμΌλ©΄ μλΈμμ€ν μ κ°λΉμ§ 컬λ μ λλ€.
κ·Έλ λ€λ©΄ κ·Έλ₯ UGameInstanceλ₯Ό μ¬μ©νμ§ μ UGameInstanceSubsystemλ₯Ό μ¬μ©νλ κ²μΌκΉ?
- νλ‘κ·Έλλ° μκ°μ΄ μ μ½λλ€.
- μμ§ ν΄λμ€ μ€λ²λΌμ΄λλ₯Ό νΌν μ μλ€.
- μ΄λ―Έ λ°μ ν΄λμ€μ API μΆκ°λ₯Ό νΌν μ μλ€.
- μ¬μ©μμκ² μΉμν μ νμ λ Έλλ₯Ό ν΅ν΄ λΈλ£¨νλ¦°νΈλ‘ μ‘μΈμ€ ν μ μλ€.
- μλν° μ€ν¬λ¦½ν μ΄λ ν μ€νΈ μ½λ μμ±μ μν΄ Python μ€ν¬λ¦½νΈμ μ‘μΈμ€ ν μ μλ€.
- μ½λλ² μ΄μ€μ λͺ¨λμ±κ³Ό μΌκ΄μ±μ μ 곡νλ€.
- νλ¬κ·ΈμΈ μ μ μ μ μ©νμ¬ νλ¬κ·ΈμΈ μλμ νμν μ½λ μμ μ΄ μμ΄λ λλ€.
κ²μ μ 체μ μΌλ‘ 곡μ λμ΄μΌ ν λ UGameInstanceμ μ¬μ©νκ³
νΉμ κΈ°λ₯λ§μ ν¬ν¨ν λ UGameInstanceSubsystemμ μ¬μ©νλ©΄ μ’μ κ² κ°λ€.
μ°Έκ³
https://poppeople.tistory.com/39
https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/Subsystems/