Get it on Google Play


Wm뮤 :: 유니티 Final IK

블로그 이미지
가끔 그림그리거나 3D모델링하거나
취미로 로봇만드는
퇴직한 전자과 게임프로그래머
2020.3.48f1 , 2022.3.6f1 주로 사용
모카쨩
@Ahzkwid

Recent Comment

Archive


2023. 8. 11. 05:11 Unity



 

 

브챗하면서 썼던 파이널 IK

오랜만에 다시 쓰려고 하니 기억이 안난다

그래서 정리

 

 

 

 

 

 

이건 좀 구형인데 이렇게 하고 타겟을 움직이면 따라간다

 

 

 

 

 

말그대로 Arm IK

Target으로 이동한다

유감스럽게도 아래의 Aim IK랑 동시적용은 안 된다

 

 

 

 

 

Aim IK

총구를 해당 장소에 향하게 할때 쓴다

근데 Aim IK를 쓰면 ParentConstraint가 먹통이 되니 주의

스크립트를 별도로 만들어서 연결시키는거보단 그냥 아마추어 하위에 프리팹 넣어주는게 더 간편할듯

 

Aim Transform은 총구 방향

Ribs는 체스트

Target은 쳐다보는 방향이다

스파인도 있으면 스파인도 넣어주는게 좋다

 

 

 

 

 

 

 

weight 조정

여기 올라간건 구버전이라 코드엔 안 나와있는데

애니메이션이랑 동시에 껐다 켰다 하면

일시적으로 에임 포인트가 차렷기준으로 잡혀서 허리가 돌아가 버린다

반드시 애니메이션을 먼저 키고 그 뒤 IK를 키고

끌때도 IK를 먼거 끄고 애니메이션을 끄자

var aimIK = animator.GetComponent<RootMotion.FinalIK.AimIK>();

var weight = 0f;
var lerpSpeed = 8f*Time.deltaTime;
if (GetWeaponSystem().weaponIndex == 2)
{
}
else
{
    if (attack)
    {
        if (Vector3.Distance(chest.transform.position, crosshair.HitPoint) > 1)
        {
            weight = 1;
        }
    }
    else
    {
        var nowTime = Time.time;
        var delay = 1;
        if (nowTime < weaponSlots[weaponSlotIndex].lastFireTime + delay)
        {
            weight = 1;
        }
        lerpSpeed = 4f * Time.deltaTime;
    }
}
if (GetComponent<PhotonCharacter>().hp <= 0)
{
    weight = 0;
    lerpSpeed = 1;
}
aimIK.solver.IKPositionWeight = Mathf.Lerp(aimIK.solver.IKPositionWeight, weight, lerpSpeed);

 

 

 

'Unity' 카테고리의 다른 글

다이나믹본 설정  (0) 2023.08.12
유니티 NavMesh  (0) 2023.07.16
유니티 애니메이션 관련  (0) 2023.04.03
posted by 모카쨩

  • total
  • today
  • yesterday

Recent Post

저사양 유저용 블로그 진입