이번에는 유니티에서 파쿠르를 어떻게 구현 하였는지 설명 해보겠습니다.
먼저 파쿠르는 언리얼은 기본 기능에 가깝지만 유니티에서는 직접 구해야 합니다.
Mixamo
www.mixamo.com
여기에서 애니메이션을 구하거나 에셋 스토어에서 구매를 하시면 됩니다.
이제 애니메이션 컨트롤러에 넣어주고 연결을 합니다.

하나는 Jumping Over 애니메이션은 한쪽이 연결 안되어 있지만 다른방식으로 실행 하였습니다.
이제 코드를 봅시다.
//캐릭터 컨트롤러
CharacterController cc;
Rigidbody rb;
public bool pakrour = false;
//업데이트
RaycastHit[] hits;
Debug.DrawRay(LineTarget.transform.position, transform.forward * line, Color.yellow);
hits = Physics.RaycastAll(LineTarget.transform.position, transform.forward, line);
먼저 레이케스트를 이용하여 파쿠르가 가능한 벽인지 아닌지 확인을 합니다
for (int i = 0; i < hits.Length; i++)
{
//레이저를 통과한 오브젝트 저장
RaycastHit hit = hits[i];
//tag에 end가 붙은 오브젝트의 값을 가져옴
if (hit.collider.tag == "End")
{
EndPoint = hit.transform.position;
print(EndPoint);
pakrour = true;
}
}
여기에서 파쿠르가 가능한 오브젝트에 충돌을 하면 파쿠르 가능상태로 변경이 됩니다.
if (Input.GetButtonDown("Jump") && pakrour && !jump)
{
cc.enabled = false;
Man.GetComponent<ModleScripts>().Root(true);
//애니메이션 시작
anim.CrossFade("Jumping Over Into Combat", 0.2f);
StartCoroutine(PakourAttion(0.8f,EndPoint));
}
애니메이션을 시작하는 동시에 코루틴을 실행을 하면 됩니다.
여기에서 anim.CrossFade(애니메이션 이름 , 지연시간) 을 이용하면 애니메이션 컨트롤러에 넣기만
해도 애니메이션을 사용을 할수 있습니다.
IEnumerator PakourAttion(float attionTime, Vector3 Point)
{
//리지드 바디 isKinematic true;
rb.isKinematic = true;
//마우스를 고정함
Cursor.lockState = CursorLockMode.Locked;
yield return null;
yield return new WaitForSeconds(attionTime);
//받은값으로 이동
transform.position = Point;
rb.isKinematic = false;
pakrour = false;
jump = false;
cc.enabled = true;
Man.GetComponent<ModleScripts>().Root(false);
//마우스를 고정 해제
Cursor.lockState = CursorLockMode.None;
}
여기에서 isKinematic를 true인 상태로 변경을 하지 않는다면 원래자리로 다시 돌아오게 됩니다.
transform.position을 이동하는 엑션 (단거리 텔레포트 같은) 경우에도 isKinematic를 true 상태에서 position
을 변경해야 원래자리로 다시 돌아 오지 않습니다.
이제 실행을 하면


그런대 보면 리지드 바디는 가만이 있고 애니메이션을 이용해 앞으로 가는것처럼 만든 것과 목표위치가 고정이고 한번씩
원래자리로 돌아가거나 애니메이션이 불안정하는 등 많은 문제점이 있습니다. 그렇기 때문에 애니메이션은 앞으로
가는것 처럼 보이고 순간이동을 목표지점 까지 순간이동 방식은 비추천 합니다.
이쪽으로 가면 다른 방식으로 구현하였습니다.
https://dove-dove.tistory.com/33
티스토리
좀 아는 블로거들의 유용한 이야기, 티스토리. 블로그, 포트폴리오, 웹사이트까지 티스토리에서 나를 표현해 보세요.
www.tistory.com
'유니티 개발 > 계륵' 카테고리의 다른 글
| Unity - 유닛 클릭 이동 (1) | 2025.08.05 |
|---|---|
| Unity - 발소리 구현 (0) | 2025.08.04 |
| Unity - 파쿠르 수정 버전 (0) | 2025.07.24 |
| Unity - 후레쉬 혹은 빛나는 오브젝트 구현 (3) | 2025.07.23 |
| Unity - 밤 , 안개 (0) | 2025.07.23 |