λ§μ΄ λ¬΄λ¦¬κ° κ°λ μμ μ΄μμ
κ°μ²΄κ° 150~200κ°λ§ κΉλ €λ μ£½μλΌκ·Έλ¬λ€
Repository ν¨ν΄μ΄ μ΄μΈλ¦¬λκ² μκ³ μμ΄μΈλ¦¬λκ² μλ€λ κ²μ κΉ¨λ¬μ μ½μ§μ΄μμ
λ§μ΄ λ¬΄λ¦¬κ° κ°λ μμ μ΄μμ
κ°μ²΄κ° 150~200κ°λ§ κΉλ €λ μ£½μλΌκ·Έλ¬λ€
Repository ν¨ν΄μ΄ μ΄μΈλ¦¬λκ² μκ³ μμ΄μΈλ¦¬λκ² μλ€λ κ²μ κΉ¨λ¬μ μ½μ§μ΄μμ
λ μ΄λ 리μ€νΈμ λ£κ³ κ·Έλ¬λκ±°μλ?
λ¬΄λ €! Dictionaryμ! λ£μμ΅λλ€ γ γ
rigidbodyλ₯Ό λμ λ리μ λ£μ΄λκ³ μ°λ©΄ μλλ? μ¬μ€ 리ν¬μ§ν 리ν¨ν΄μ λͺ¨λ¦... γ
μ λμ νλ μ΄ μ€ν¬λ¦½νΈ (νλ μ΄μ΄ μ‘°μ/ AI) μ κ±°μ³μ λμ¨ Direction μ λμ μνμ λ°λ₯Έ μ΄λ κ°λ₯ μ¬λΆ μ λμ νμ¬ λ²ν/λν κ²°κ³Όλ‘ λμ¨ Speed 3 κ°μ κ°μ§κ³ λ€μ μ λμ μ΄λμ κ²°μ ν΄μΌ νκ³ AI μ νλ¨, 곡격μ μ λ νμ λ±μ νμ©νκΈ° μν΄ Position μ 보λ₯Ό μ½κ² μ κ·Όνκ³ μΆμ μμ¬μ΄ μμλλ°μ.
κ·Έλμ κ²μμ μμ ν λ Initialize μ€ν¬λ¦½νΈμμ Repository λΌλ κ°μ²΄λ₯Ό λ§λ λ€ κ²μ λ‘μ§ μΈ‘μμ μ 3 쑰건μ λ°λΌ κ°μ κ°±μ νκ³ κ° μ λμ΄ FixedUpdate λ‘ μμ§μ΄κΈ° μ§μ μ μ κ°μ μ°Έμ‘°ν΄ λ€μ μμ§μμ κ²°μ ν, Position μ Repository μ μ λ°μ΄νΈνλ κ³Όμ μ΄μμ΄μ
κ΅³μ΄ μ΄λ κ² ν μ΄μ λ AOE λ AI κ°μ μ€ν¬λ¦½νΈλ₯Ό μ§€ λ Repository λ§ μ°Έκ³ νλ©΄ μ¬μμ λ°λ₯Έ νλμ μλ₯Ό μ½κ²νκ³ μΆμ΄μμꡬμ.
μ€μ Dictionary μ μ°Έμ‘°μκ°μ O(1) λ‘ λ§€μ° μ§§μ§λ§ Hash μ°μ°μ μννλ μκ°μ΄λ μ¬λ¬μ°¨λ‘ Record λ₯Ό μμ±ν΄μ κ°±μ ν΄μ£Όλ μκ°μ΄ μ’ ν©μ μΌλ‘ κ±Έλ €μ 0.020 ~ 0.060 ms κΉμ§ μκ°μ΄ μμλμλλ°μ. λΆνκ° ν° κ²μ μλμ§λ§ FixedUpdate μμ νΈμΆνκΈ°μ λΆλ΄μ΄ ν° μμ μ΄λΌλ κ²°λ‘ μ λλ€. μ κ° λ§λ€κ³ μΆμ κ²μμ μ λμ΄λ ν¬μ¬μ²΄κ° λ§μ΄ λ±μ₯νλ κ²μμ΄κΈ°λ νκ³ μ.
κ°μ¬ν©λλ€. μ€κ³ λ΄λΉμΈμ§λΌ λμμ λλ¦¬μ§ λͺ»ν΄ μμ½λ€μ γ γ μ λ³΄λ€ κ³ μμ μ§λΌ λλΌ λ μκ°μ λ§λΆμ΄μ§λ λͺ»ν κ² κ°λ€μ. κ·Έ μμ¬ μ΄ν΄νλμ§λΌ λμ€μ λΆνλ― λ μ’μ λ°©λ² λ μ€λ₯΄μκΈΈ κΈ°μνλκ±°μμ !
> rigidbodyλ₯Ό λμ λ리μ λ£μ΄λκ³ μ°λ©΄ μλλ? μ κ° μλͺ» μκ° ν κ² κ°μ΅λλ€. μ΄λ κ² νλ©΄ λ³λͺ©μ΄ λ§μ΄ μ€μ΄λ€ κ² κ°μμ. GameObject λ₯Ό ν¬ν¨νκΈ° μ«λ€λ μμ¬μ λ³λμ Repository λ₯Ό λ§λλ κ²μΌλ‘ ν΄κ²°μ΄ κ°λ₯ν κ² κ°κ³ μ.
μ λ²μ¨ ν΄κ²°λμλ€λ λλ κΈ°μκ±°μμ.
μ‘°μΈ κ°μ¬λ립λλ€