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 |