TIL_231220

Z_제트·2023λ…„ 12μ›” 20일
0

TODAY I LEARNED

λͺ©λ‘ 보기
38/88
post-thumbnail

to do_였늘 ν•  일

  • μ•Œκ³ λ¦¬μ¦˜ λ¬Έμ œν’€κΈ°
  • νŒ€κ³Όμ œ ing

retro_였늘 ν•œ 일(회고)

νŒ€κ³Όμ œ 진행상황

μ˜€λŠ˜λ„ μ—΄μ‹¬νžˆ μž‘μ—…μ€‘πŸ”₯

μ—λŸ¬ μˆ˜μ • :
(도움 μ£Όμ‹  쑰원뢄듀 졜고 !)

  • 적(Alien)μ΄λ‚˜ 동물이 돌과 λ‚˜λ¬΄λ₯Ό 뚫고 λŒμ•„λ‹€λ‹ˆλŠ” ν˜„μƒ
    β†’ Resources(돌, λ‚˜λ¬΄) 에 Nav Mesh Obstacle μ»΄ν¬λ„ŒνŠΈ μΆ”κ°€ν•˜κΈ° (Carve 체크도 μžŠμ§€ 말 것 !)

  • μ μ΄λ‚˜ 동물이 μ£½μ—ˆλŠ”λ° μ‹œμ²΄κ°€ ν”Œλ ˆμ΄μ–΄λ₯Ό λ”°λΌμ˜€λŠ” ν˜„μƒ
    β†’ (AI 의 μ›€μ§μž„μ΄ Update μ—μ„œ μ‹€ν–‰λ˜κ³  있기 λ•Œλ¬Έμ—) Nav Mesh Agent 의 속도λ₯Ό 0 으둜 μ„€μ •ν•΄μ£ΌλŠ” λ°©μ‹μœΌλ‘œ ν•΄κ²° ! (GetComponent μ‚¬μš©)
    e.g.

private void Die()
{
    isDie = true;
    gameObject.GetComponent<NavMeshAgent>().speed = 0;
    Destroy(gameObject.GetComponent<BoxCollider>());

    Instantiate(dropOnDeath, transform.position + Vector3.up * 2, Quaternion.identity);

    // μ£½λŠ” μ• λ‹ˆλ©”μ΄μ…˜ μΆ”κ°€
    animator.SetTrigger("Die");

    // μ£½λŠ” λͺ¨μ…˜(5초) ν›„ DestroyObject ν•¨μˆ˜ μ‹€ν–‰
    Invoke("DestroyObject", 5);
}
  • Inspector μ°½μ—μ„œ prefab λ§Œμ„ drag & drop ν•˜κΈ° μœ„ν•΄ NPC script μ—μ„œ Item 을 GameObject 둜 λ³€κ²½ν•˜κΈ°(Item Data μž‘μ—…μ€ CSV 파일둜 진행함.)
    β†’ public Item dropOnDeath; 을
    public GameObject dropOnDeath; 둜 λ³€κ²½

  • νŠΉμ • μ• λ‹ˆλ©”μ΄μ…˜μ„ λ™μž‘ν•  λ•Œ y 좕이 μœ„λ‘œ μ˜¬λΌκ°€μ§€λŠ” ν˜„μƒ
    β†’ 1. μ• λ‹ˆλ©”μ΄ν„° λ‹¬λ €μžˆλŠ” μ˜€λΈŒμ νŠΈμ—μ„œ Animator Inspector 창에 Apply Root Motion 체크 ν•΄μ œ

    β†’ 2. μ• λ§€ν•œ 상황 λ°œμƒν•˜λŠ” μ• λ‹ˆλ©”μ΄μ…˜μ—μ„œ Root Transform Position Y - Bake Into Pose 체크 μ„€μ •.

    ν•΄κ²°μ°Έκ³ μ˜μƒ


what else ?

profile
trying to make the world a better place with a cool head and warm heart

0개의 λŒ“κΈ€