κ°λ¨νκ² μ νλ₯Ό ꡬννκ³ μλλ°,
μ ν - ν΄λ§ - λλ© μ΄λ κ² μμ§μμ λ§λ€κ³ μκ±°λ μ.
μ½λ¦¬μ νμ μΌλ‘ λλ©μ ν κΉ νλλ°, κ·Έλ¬λ©΄ μμ λΏλ κ²λ§μΌλ‘λ λλ©μ΄ λ κΉλ΄, 리μ§λλ°λ.velocity.yκ° μμμΌ λ, λ μ΄λ₯Ό μλλ‘ μ΄μ 0.3f λ―Έλ§μΌ μλ§ λλ©μ΄ λλλ‘ νμ΄μ.
μ λλ©μ΄μ 컨λμ μ isFallμ΄ trueμΌλ, jumpingμμ Fallλ‘ μ λλ©μ΄μ μ΄ μ¬μλλλ‘ νμ΄μ.
κ·Έλ°λ° μμμμ 보μλ€μνΌ isFallμ΄ falseμΈλ°λ Fall μ λλ©μ΄μ μ΄ μ¬μλλ€μ.
μ½λλ μλμ κ°μμ.
μ νλ₯Ό μ λ°μ΄νΈ, ν΄μ ν½μ€λμ λ°μ΄νΈμ λ£κ³ μ€ννλλ°, μ’ μ’ μ΄λ κ² λ μλ€λ μ... μ΄μ νλ£¨μ’ μΌ κ³ λ―Όνλλ°, λ΅μ΄ μλμμ... λ체 μμΌκΉμ?
μΆκ°μλ£
RigidBodyμ νΈλμ€νΌ ν¬μ§μ μ΄ μΊλ¦ν°μ μ μ€μμΈκ±° μλ? μΊλ¦ν° μ μ€μμμ 3fλ§νΌ λ μ΄λ₯Ό μ΄λ λ°λ₯μ λΏμ§ μμμ 곡μ€μ λ μλκ±Έλ‘ νμ λλκ±°κ°μ
λ μ΄μ κΈΈμ΄λ₯Ό 10fλ‘ λ°κΏ¨λλ°λ.. κ·Έλλ‘λ€μ.. μ΄μνλ€μ.
μ΄λμ κΌ¬μ¬μ boolκ°μ€μ νλκ° μ λ μλ°λμκ³ κ·Έ μ΄νμ μ΄λμ ifμ²΄ν¬ ν΅κ³Ό λͺ»ν΄μ κ³μ μν€κ³ μμκ±°κ°μ. κ·Όλ° isGroundedλ₯Ό μ λ κ² μΌμΌμ΄ λ°κΎΈμ§ λ§κ³ boolκ°μ λ°ννλ ν¨μ λ§λ€κ³ λ μ λΏμμμ true μλΏμΌλ©΄ falseλ‘ νλκ² λ«μ§μμκΉ μΆμ
anim.SetBool("onGround", OnGround())μ΄λ°μμΌλ‘ νλ©΄ ν¨μκ°μ λ°λΌ μλμΌλ‘ μ λλ©μ΄μ μ onGroundκ° μ ν΄μ§κ±°κ³ λν λͺ¨μ μμ onGroundμΌ λ μ°©μ§λ‘ λΉ μ Έλκ°κ² νλ©΄ μμ°μ€λ½κ² λΉ μ Έλκ°μ§ μΆμλ°?
νλ² μλν΄λ³΄κ² μ΅λλ€.
Loop κ° μΌμ§κ±° μλ?
루νλ₯Ό κΊΌλ λμΌν΄μ....
κ± μ λλ©μ΄μ μ체λ₯Ό μμ ν΄λ³΄κ³ , μλ¬ μ΄λμ λλμ§ νμΈν΄λ΄ μ€ν¬λ¦½νΈ μμμ 건λ€κ³ μλκ² κ°μλ°
λμΆ© μκ²λ κ°μμ. Rayhit.distanceκ° 0.3fμ΄μμΌ μμ Fall μ λλ©μ΄μ μ μ¬μνκ³ , κ·Έ νμ Land μ λλ©μ΄μ μ΄ μ¬μλλλ‘ νλλ°, μΈλμ μ€λ₯Ό μμ μ νλ₯Ό ν΄μ λνλ₯Ό νλ μμ μλ Rayhit.distanceκ° 0.3fμ΄ νλ³΄κ° μλλ κ²½μ°κ° λ¬Έμ κ° λλ κ² κ°μμ.
λ§μ§λ§ μμμμ 보면 μ΄ 2λ² μλμ΄κ°λλ° μ΄μ κ° λ€λ¦
(1) 25μ΄ μ λμ Fallμμ μλμ΄κ°λκ±° : μ΄κ±΄ [Any State] - [Fall] νΈλμ§μ λμ€μ LandingBoolμ΄ Trueκ° λλ λ°λμ μ λλ©μ΄μ μ΄ μΉνλ λ―. [Any State]-[Fall] νΈλμ§μ μ΅μ μ€μ 'Interruption Source'λΌλ μ΅μ μ΄ μλλ° μ΄κ±Έ 'Next State'λ‘ λ³κ²½νλ©΄ ν΄κ²°λ λ―
(2) 8μ΄μ λμ Jumpμμ μλμ΄κ°λκ±° [Jump]λ₯Ό μ¬μνλ λμμ μ΄λ―Έ λ μ λΏμλ²λ €μ [Fall]λ‘ λμ΄κ°μ§ μμ. [Jump]-[Land]λ‘ λ°λ‘ κ°λ νΈλμ§μ λ£μ΄μ£Όλκ² κ°μ₯ κΉλνμ§ μμκΉ μΆμ
λ΅λ³ μ λ§ κ°μ¬ν©λλ€. ν΄λ³΄κ² μ΅λλ€. μ§κΈ λ무 νλμ κΉμΉλ³Άμλ°₯ νκ³ μμ΄μ.