κ°μ²΄(Entity)-ꡬμ±μμ(Component) λμμΈ
μ»΄ν¨ν° κ³Όνμμ 'κ΄μ¬μ¬ λΆλ¦¬(μμμ£Ό: Separation of Concerns,ν΅μΉ SoCλΌκ³ λΆλ¦Ό)'λ‘ μλ €μ§ κ°λ μ΄ μμ΅λλ€.
κ΄μ¬μ¬ λΆλ¦¬λ μννΈμ¨μ΄κ° μννλ κΈ°λ₯μ λ°λΌ λͺ¨λμ΄ μ΄λ»κ² λλλμ§ μ€λͺ νλ μ€κ³ μ리μ λλ€.
κ° λͺ¨λμ ν΄λΉ λͺ¨λμ μμ ν μΊ‘μνλμ΄μΌνλ λ¨μΌΒ λ¨μΌ κΈ°λ₯μΈ 'κ΄μ¬(Concern)'μ λ΄λΉν©λλ€.
ꡬνκ³Ό κ΄λ ¨νμ¬ μ°λ €λλ μ¬νμ λ€μ λμ¨ν ν΄μνμ μΈ μ©μ΄(interpretive term)μΌ μ μμ΅λλ€, μ΄λ¬ν μ°λ €λΒ
νλ©΄μ κ·Έλν½μ λλλ§νλ κ²μ λν μ λ’°μ±μ μμΉλ§νΌ κ΄λ²μνκ±°λ 곡κ°μμ μΌκ°νμ΄ λ€λ₯Έ μΌκ°νκ³Ό κ²ΉμΉ λ
κ³μ°νλ κ²λ§νΌ μ’μ λ²μμ λ¬Έμ μΌ μ μμ΅λλ€.
μννΈμ¨μ΄ μ€κ³μ μμ΄, κ΄μ¬μ¬(Concerns)λ₯Ό λΆλ¦¬νλ μ£Όλ μ΄μ μ€ νλλ κ°λ°μκ° μ€λ³΅λλ κΈ°λ₯μ μμ±νλ κ°λ°λ ₯μ λλΉλ₯Ό μ€μ΄κΈ° μν¨μ λλ€.
μλ₯Όλ€μ΄ νλ©΄μ μ΄λ―Έμ§λ₯Ό λ λλ§νλ μ½λκ° μμΌλ©΄, ν΄λΉ μ½λλ₯Ό 1νλ§ μμ±νλ©΄ λ©λλ€.
λΉλμ€ κ²μμ κ·Έλν½μ νλ©΄μ λ λλ§ν΄μΌνλ μμ λλ μλ°±κ°μ§μ μν©μ κ°μ§κ³ μμΌλ, κ°λ°μλ κ·Έ μ½λλ₯Ό λ¨ 1νλ§ μμ±νλ©΄λκ³
μ΄λμμλ μ¬μ¬μ©ν μ μμ΅λλ€.
μ λν°λ κ°μ²΄-ꡬμ±μμλΌκ³ λΆλ¦¬λ κ²μ νλ‘κ·Έλλ°μμ λ§€μ° μΈκΈ°μλ λμμΈ ν¨ν΄μ κ°μ§κ³ ,Β
κ΄μ¬μ¬λ₯Ό λΆλ¦¬νλ μ² νμ κΈ°λ°μΌλ‘ ν©λλ€.(μμ μ£Ό: μ λν° κ°λ° μ² ν μμ²΄κ° κ°μ²΄-μ»΄ν¬λνΈ μ² νμ κΈ°λ°μΌλ‘ νκ³ μλ€λ λ§)
κ°μ²΄-ꡬμ±μμ μ€κ³λ 'μμ(inheritance)보λ€λ ꡬμ±(Coposition)"μ μ νΈν©λλ€. μ΄κ²μ κ°μ²΄(Object)λ κ°μ²΄κ° νΉμ κΈ°λ₯μ μΊ‘μννλ
ν΄λμ€μ μΈμ€ν΄μ€(instances)λ₯Ό ν¬ν¨ν¨μΌλ‘μ¨, μ½λμ μ¬μ¬μ©μ μ₯λ €νλ€λ κ°λ μ λλ€.
κ°μ²΄λ μ΄λ¬ν ꡬμ±μμ ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό ν΅νμ¬ κΈ°λ₯μ μ‘μΈμ€(μ κ·Ό) ν μ μμ΅λλ€.
μ μ νκ²λ§ μ¬μ©νλ€λ©΄ ꡬμ±(Composition)μ λ μ μ μμ μ½λλ‘ μ»μ μ μκ³ ,Β
(μ½λμ λν) μ΄ν΄μ μ μ§ λ³΄μκ° λ μ¬μμ§κ²μ λλ€.
μ΄λ κ°μ²΄κ° μμν΄λμ€λ‘λΆν° κΈ°λ₯μ μμλ°λ μΌλ°μ μΈ μ€κ³ μ κ·Όλ²κ³Όλ μμ°ν λ€λ¦ λλ€.
μμμ μ¬μ©νλ κ²μ λ¨μ μ κΉμΌλ©΄μλ λμ μμ νΈλ¦¬λ‘ μ΄μ΄μ§ μ μλ€λκ²λλ€.
λΆλͺ¨ ν΄λμ€μμ μμ ν κ°μ§λ₯Ό λ°κΎΈλ κ²μ μλνμ§ μμ κ²°κ³Όλ₯Ό μ΄λνλ νκΈ ν¨κ³Όλ₯Ό μ§λ μλ μλ€λ κ²μ λλ€.
μ λν°μ κ°μ²΄-ꡬμ±μμ λμμΈμμ κ²μμ€λΈμ νΈλΌκ³ λΆλ¦¬λ κ²λ€μ κ°μ²΄(μν°ν°,Entity)μ΄λ©°, μ»΄ν¬λνΈλ μ»΄ν¬λνΈλΌκ³ λΆλ¦ λλ€.
Unity Scneneμ λͺ¨λ κ²μ κ²μ μ€λΈμ νΈλ‘ κ°μ£Όλ©λλ€λ§, κ²μ μ€λΈμ νΈ μ체λ‘λ μλ¬΄λ° κ²λ νμ§ μμ΅λλ€.
μ»΄ν¬λνΈμμ λͺ¨λ κΈ°λ₯μ ꡬνν λ€μ μ΄λ¬ν μ»΄ν¬λνΈλ₯Ό κ²μ μ€λΈμ νΈμ μΆκ°νμ¬μΌ μ°λ¦¬κ° μνλ κ²μ ν©λλ€.
κ°μ²΄μ κΈ°λ₯κ³Ό νλ(benhavior)λ₯Ό μΆκ°νλ κ²μΒ κ·Έ κ°μ²΄μ ꡬμ±μμλ₯Ό μΆκ°νλ κ²λ§νΌ κ°λ¨ν©λλ€.
μ»΄ν¬λνΈ μ체λ νλμ λͺ¨λμλ§ μ΄μ μ λ§μΆκ³ λ€λ₯Έ λ¬Έμ λ° μ½λμ λΆλ¦¬λλ λ³κ° λͺ¨λμ΄λΌκ³ μκ°ν μ μμ΅λλ€.
λ€μ λ€μ΄μ΄ κ·Έλ¨μ μ°Έμ‘°νμ¬ κ°μμ κ²μ μ€μ μμ κ°μ²΄-κ΅¬μ± μμ μ€κ³κ° μ΄λ»κ² μ¬μ©λλμ§ μμ보μΈμ!
λμμ μ 곡νλ μ»΄ν¬λνΈλ Top X-axis(μλ¨ XμΆ)μ μκ³ , κ²μλ΄ κ°μ²΄λ μ’μΈ‘μ yμ΄(Column)μ μμ΅λλ€.
보μλ€μνΌ νλ μ΄μ΄μ μ μκ²λ 4κ°μ§ ꡬμ±μμμ κΈ°λ₯μ΄ λͺ¨λ νμν©λλ€.Β
μ°½(wepaon)μ λλΆλΆμ κΈ°λ₯,νΉν λμ§λ 물리νμ΄ νμν©λλ€λ§ μ€λμ€λ νμμΉ μμ΅λλ€.
λ무μλ 물리μ μνΈμμ©μ΄λ μ€λμ€κ° νμνμ§ μμ΅λλ€. λ무μ λΆλͺνλ©΄ ν΅κ³Όν μ μλλ‘νλ κ·Έλν½ λ λλ§ λ° μΆ©λ κ°μ§λ§ μμΌλ©΄ λ©λλ€.
μμ μμμ μ£Όλ―Ό(Villager)μ κ·Έλν½κ³Ό μΆ©λ κ°μ§κ° νμνμ§λ§ μ¬(Scene)μμ μ£Όμλ₯Ό κ·Έμ μ΄μ¬λ 거리기 λλ¬Έμ 물리νμ΄ νμμΉ μμ΅λλ€.
νμ§λ§ κ²μμμ νλ μ΄μ μνΈμμ©νλ μ£Όλ―Όμ μ€λμ€ νΈλμ μ¬μν λ €λ©΄ μ€λμ€κ° νμν μ μμ΅λλ€.
κ°μ²΄-ꡬμ±μμ μ€κ³λ νΉν λν νλ‘μ νΈμμ μ ν(Limitations)μ΄ μμκ³ , μλ μ΄ μ§λ νμμΌ λΉλ‘μ μ μ±κΈ°κ° μμ΅λλ€.
ν₯ν, μ§κΈλ³΄λ€ λ λ°μ΄ν° μ§ν₯μ (data-oriented) μ€κ³(λμμΈ)μΌλ‘ λ체λ μμ μ λλ€. μ΄μ μ΄ μλ‘μ΄ μ§μμ νμ©νμ¬ λ΄ μλ€.
λκΈ 0