μ λν° λ΄ μμ λ°νμ λ‘λλ 리μμ€ ν΄λ μ¬μ©μμ μμ λ²λ€, μ΄λλ μλΈ μμ λ°©μμΌλ‘ λ°μ ν΄κ°κ³ μλ€.
리μμ€ ν΄λ
리μμ€ ν΄λλ μ λν°μμ μ 곡νλ 리μμ€ λ‘λ ν΄λλ‘ λ¦¬μμ€ ν΄λ μ νμΌμ κ²½λ‘λ‘ μ κ·Όνμ¬ μ¬μ©νλ λ°©μμ΄λ€.
Resources.Load<GameObject>("νμΌ κ²½λ‘")
μ¬μ©νκΈ°μ νΈλ¦¬νλ€λ μ₯μ μ΄ μμ§λ§, κ·Έλ§νΌ λ¨μ λ λ§μ μ λν°μμλ κΆμ₯νμ§ μλ λ°©λ²μ΄λ€.
- λΉλ μ ν¨κ» λ¬Άμ΄λ―λ‘ λΉλ μ¬μ΄μ¦κ° μ»€μ Έ μ± μμ μκ°μ΄ κΈΈμ΄μ§λ€.
- μμ μ΄λ¦μ ν΅ν΄ λ‘λνλ―λ‘ μμ μ΄λ¦ λ³κ²½μ΄ μ΄λ ΅λ€.
μμ λ²λ€(Asset Bundle)
μμ λ²λ€μ μμ λ€μ νλλ‘ λ¬Άμ΄ μμΆ νμΌμ μμ±νλ κ°λ μΌλ‘ μμ±λ μμ λ²λ€μ λ€νΈμν¬λ₯Ό ν΅ν΄ λ°°ν¬νκ³ λ°νμμ λ‘λνμ¬ μ¬μ©λλ€.
- λΉλμ ν¬ν¨λμ§ μμΌλ―λ‘ μ΄κΈ° μΈμ€ν¨ μ¬μ΄μ¦λ₯Ό μ€μ¬ μ± μμ μκ°μ λ¨μΆμν¬ μ μλ€.
- μ± μ€μΉ μ μ½ν μΈ λ₯Ό λΆλ¦¬ν μ μμ΄ λΌμ΄λΈ μ±μ μ κΈ°μ μΈ μ½ν μΈ μ λ°μ΄νΈ(DLC, ν¨μΉ λ±)λ₯Ό μ 곡ν λ μ¬μ©νλ€.
νμ§λ§ μ΄λ¬ν μ΄μ μλ λΆκ΅¬νκ³ μ€μ λ‘ μμ λ²λ€μ νμ©νλ κ²μ κ°λ¨νμ§ μλ€.
- λ²λ€μ μ’ μμ± λ¬Έμ κ° μ‘΄μ¬νλ€: κ°μ μ΄λ―Έμ§λ₯Ό Asset Aμ Asset Bμ λ¬Άμ¬μλ€λ©΄ κ°μ μ΄λ―Έμ§ 1κ°λ‘ μ²λ¦¬λ κ² κ°μ§λ§ 2κ°μ μ΄λ―Έμ§λ‘ μΈμλλ κ²μ λ§νλ€.
- μ’ μμ± λ¬Έμ λ‘ μ€λ³΅λ μμ μ΄ λ°μνμ¬ λ©λͺ¨λ¦¬ κ΄λ¦¬κ° μ΄λ €μμ§ μ μλ€.
- μ½λλ₯Ό μμ±νκΈ°κ° μ΄λ ΅λ€.
κ·Έλμ μμ μ μμΉ μ§μ , λΉλ λ° λ‘λμ κ΄λ ¨νμ¬ μΌλ°μ μΌλ‘ λ°μνλ λͺ κ°μ§ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν νλ μμν¬λ₯Ό ꡬμΆνκΈ° μν΄ μ΄λλ μλΈμ΄ νμνκ² λμλ€.
μ΄λλ μλΈ μμ (Addressable Asset)
μ΄λλ μλΈ μμ μ μμ μ μ£Όμλ₯Ό μ§μ νλ λ°©μμΌλ‘ μ£Όμ(address)λ‘ μμ μ μ½κ² λ‘λν μ μλ λ°©λ²μ μ 곡νλ€.
μμ μμΉμ μκ΄μμ΄ μ°Έμ‘°κ° κ°λ₯νλ€. μ¦, λ‘λν λμμ΄ λλ μμ κ³Ό μμ μ΄ λ‘λλλ μμΉ λ° λ°©μμ λΆλ¦¬νλ κ²μ΄λ€. κ·Έλμ μμ μ λ‘λνλ μΈ‘μμλ μμ μ μ΄λλ μ€λ§ μλ©΄ λκ³ μμ μ μ€μ μμΉκ° λ³κ²½λμ΄λ μκ΄μλ€.
- μμ λΉλμ λ°°ν¬μ λ¨μν: μ§μ λ νΌλ°μ€, 리μμ€ ν΄λ, μμ λ²λ€ λΆλ¦¬κ° λ¨μνλκ³ νΈλ¦¬ν΄μ§λ€.
- ν¨μ¨μ μΈ μμ κ΄λ¦¬: μ’ μμ± νμ λ° λ©λͺ¨λ¦¬ λ‘λ λ° μΈλ‘λ νν©μ λ³Ό μ μλ€.
- μμ λ²λ€μ²λΌ μΉ΄ν κ³ λ¦¬λ‘ λΆλ₯ν μ μμΌλ©° ν΄λΉ μΉ΄ν κ³ λ¦¬λ νλμ κ·Έλ£ΉμΌλ‘ λ¬Άμ΄κ² λλ€. μ΄λ κ·Έλ£Ή λ΄ νλμ 리μμ€λ§ μ¬μ©νλ € ν΄λ ν΄λΉ κ·Έλ£Ή λ΄ λ²λ€μ μ λΆ λ€μ΄λ‘λνμ¬μΌ μ¬μ©μ΄ κ°λ₯νλ€.
- μ¬μ©λ²μ΄ 볡μ‘νμ§ μμΌλ©° μ½λλ κ°λ¨νλ€.
- λκ·λͺ¨ νλ‘μ νΈμμ λ©λͺ¨λ¦¬λ₯Ό ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκ³ μΆμ λλ μλ²μμ μΆκ° μμ λ€μ΄λ‘λκ° νμν λ μ μ©νλ€.
1. μ΄λλ μλΈ μ°½
μ΄λλ μ€λ₯Ό λΆμ¬ν μμ λ€μ κ΄λ¦¬ν μ μλ μ°½μ΄λ€. μ΄λλ μλΈ μμ μ ν¨κ» κ·Έλ£Ήννμ¬ λΉνΈμΈ μ½ν μΈ λ‘ λΉλνκ³ λ‘λνκ±°λ λ°νμ μ λμ μΌλ‘ λ‘λνκΈ° μν λ²λ€λ‘ ν΅ν©ν μ μλ€. μ΄λ¬ν λΆλ¦¬λ₯Ό ν΅ν΄, κ²μ μ½λλ₯Ό λ³κ²½νμ§ μκ³ λ μ μ μ΅μ’ λ¨κ³μ μ½ν μΈ ν¨ν€μ§κ³Ό λ°°ν¬μ λν μμ¬ κ²°μ μ ν μ μλ€.
2. λ°νμ λ©λͺ¨λ¦¬ κ΄λ¦¬
μμ λ²λ€μμλ νμνμ§ μμ μ½ν μΈ λ₯Ό λ©λͺ¨λ¦¬μμ ν¨μ¨μ μΌλ‘ μΈλ‘λ ν μ μμλ€. κ·Έλ¬λ λ‘λν κ²κ³Ό μμ νκ² μΈλ‘λ ν μ μλ κ²μ ν¨κ³Όμ μΌλ‘ μΆμ νκΈ° μν΄ κ°λ°μκ° λ³΅μ‘ν μ½λ© μμ μ μνν΄μΌ νλ€.
νμ§λ§ μ΄λλ μλΈμ ν΅ν΄ λ‘λνλ©΄ λ‘λλ μμ κ³Ό μ΄λ€μ μ’ μμ±μ λν΄ κ°λ΅μ μΈ μ°Έμ‘° νμκ° μλμΌλ‘ κ³μ°λλ―λ‘ λ μ΄μ μ¬μ©νμ§ μλ λ²λ€κ³Ό κ΄λ ¨ μμ μ μλμΌλ‘ μΈλ‘λ ν μ μλ€. λν μ΄λλ μλΈμ λ‘λλ μμ κ³Ό μμ λ²λ€ μ°Έμ‘° νμλ₯Ό μ€μκ°μΌλ‘ λλ²κΉ νκΈ° μν μκ°μ νλ‘νμΌλ¬λ μ 곡νκ³ μλ€.
3. μ΄λλ μλΈ μμ μ¬μ©
1) ν΄λΉ μμ μ μ΄λλ μ€ λΆμ¬νκΈ°
μ΄λλ μλΈ μ²΄ν¬λ°μ€λ₯Ό νμ±ννκ³ μ΄λλ μ€λ₯Ό λΆμ¬νλ©΄ λλ€. μ΄λ μ΄λλ μ€λ λν΄νΈλ‘ νμ¬ μμ μ pathκ° μ£Όμλ‘ μ€μ λλλ° μμ μ΄ κ°λ₯νλ€.
2) μμ λ‘λνκΈ°
μ½λλ₯Ό ν΅ν΄ λ‘λν μ μλ€.
// Lables μ¬μ©
Addressables.LoadAssetsAsync(type.ToString(), (Object obj) = >
{
if (!m_dicObject.ContainsKey(type))
m_dicObject.Add(type, new Dictionary<string, Object>());
m_dicObject[type].Add(obj.name, obj);
});
// μ΄λ¦ μ¬μ©
public void LoadAsset(string strAddressableName)
{
Addressables.InstantiateAsync(strAddressableName);
}
μΈμ€νν°μμ λ νΌλ°μ€λ₯Ό μ§μ νμ¬ λ‘λν μ μλ€.