유니티 블렌더 90도 꺾임

유니티 블렌더 90도 꺾임

작성일 2024.01.29댓글 1건
    게시물 수정 , 삭제는 로그인 필요

블렌더 파일을 유니티로 불러오면 90도가 꺾이네요 아마 축이 달라서 그런거 같던데 애니메이션을 뜯을순 없어서 스크립트로 -90도를 돌리려고 합니다 그런데 코딩을 배운지 얼마 안되서 자료를 찾아봐도 나오지 않아서 도움 요청합니다 스크립트는 밑처럼 작성했구요 어떻게 짜야하는지 알려주시면 감사하겠습니다
    public float speed;
    float hAxis;
    float vAxis;
    bool wDown;

    Vector3 moveVec;

    Animator anim;

    void Awake()
    {
        anim = GetComponentInChildren<Animator>();
    }

    void Update()
    {
        hAxis = Input.GetAxisRaw("Horizontal");
        vAxis = Input.GetAxisRaw("Vertical");
        wDown = Input.GetButton("Walk");

        moveVec = new Vector3(hAxis, 0, vAxis).normalized;

        if(wDown)
            transform.position += moveVec * speed * 0.3f * Time.deltaTime * -1;
        else
            transform.position += moveVec * speed * Time.deltaTime * -1;

        anim.SetBool("isRun", moveVec != Vector3.zero);
        anim.SetBool("isWalk", wDown);
        transform.LookAt(transform.position + moveVec);

    }
}


#유니티 블렌더 #유니티 블렌더 차이 #유니티 블렌더 애니메이션 #유니티 블렌더 파일 #유니티 블렌더 트리 #유니티 블렌더 호환 #유니티 블렌더 텍스쳐 #유니티 블렌더 쉐이더 #유니티 블렌더 적용 #블렌더 유니티 내보내기

profile_image 익명 작성일 -

맞습니다.

블랜더와 유니티의 3d축이 달라서 생긴 버그들이죠.

가장 좋은 방법은 블랜더에서 직접 회전을 수정하시는 걸 추천드립니다.

하지만 안된다면, 저는 코드로 하는 것을 추천드리지 않습니다.

작업하다가 잊어버리면서 코드가 통일되지 않고 계산에 꼬일 수 있기 때문입니다.

예들 들어 Cube(1)이 질문자님이 말씀하신 오브젝트라고 생각해보세요.

월드 z축은 7시 방향이지만,

현재 cube는 4시방향? 으로 제가 90도 돌린 모습입니다.

Create Empty로 빈 오브젝트를 만들고 Cube의 바닥이 캐릭터의 발 부분이라고 생각하고 밑으로 맞췄습니다.

그 다음 Cube를 만들어둔 오브젝트의 자식으로 두면 방향이 달리는 것이죠.

그러면 여기서 2가지를 생각해주셔야 합니다.

캐릭터가 움직이기 위해서는 TempObejct가 움직여야 합니다.

캐릭터가 애니메이션을 적용하기 위해서는 원본 오브젝트인 Cube의 에니메이션을 진행해야 합니다.

저는 이 방법이 추후 깔끔하다고 생각합니다.

안그러면 매번 계산마다 +90이나 -90을 하면서 불필요 계산의 코드를 적용시켜야 하기 때문이죠.