오브젝트가 있다.
상위본과 하위본으로 이루어져 있다.
하위본을 잡아서 당기게 만들고 싶다.
상위본에 피직스본을 넣는다.
1)당기고나서 안 돌아가게 하기 위해 Immobile은 1로 하고, 그 외 모든 값을 0으로 해뒀다. 그럼 탄성이 없어질 것이다.
2)잡을 수 있게 하기 위해 크기를 부여했다. 공은 1사이즈이므로 Collision의 반지름을 0.5로 하면 딱 공의 크기에 맞는다.
3)잡고 늘릴 수 있게 Allow Grabbing을 체크했고, Max Stretch값을 1로 해줬다.
Max Stretch가 1이므로 길이가 1만큼 늘어난다. 그럼 최대 5까지 늘릴 수 있겠지?
그럼 5를 넘어서게 늘리는 방법은 어떻게 할까?
사슬에서 아이디어를 가져오면 된다.
더미1, 더미2라는 빈 오브젝트를 만들어준다. 이를 더미 본이라고 칭한다.
더미1의 위치는 하위 본의 위치와 동일하게,
더미2의 위치는 상위 본의 위치와 동일하게 해주고 그 밑에 하위 본을 넣어준다.
사슬로 치면 이런 느낌이다.
검은색이 본이고 파란색이 사슬이다. 이렇게 만들고 쭉 핀다면 그림처럼 최대 길이가 늘어나보이겠지.
이러면 문제가 있다. 사슬 부분(더미 본)도 잡을 수 있게 된다. Collision부분의 그래프를 수정해서 끝 부분만 잡을 수 있게 바꿔준다.
본을 잘 보면서 그래프를 수정해준다.
그래프의 의미는
가로축이 본(0이면 루트본 1이면 엔드본),
세로축이 본의 크기다. (1이면 설정한 값, 0이면 0)
이렇게 설정하고 나면 끝 부분 본만 잡을 수 있게된다.
쭈욱~
시각적 이해를 돕기위해 더미본에도 공을 놨다.
놨을 때 돌아가게 하고 싶으면 pull값을 적당히 주면 된다. (오른쪽 사진은 pull값이 0.1)
이렇게 되면 최대길이는 1 + (더미본의 수 x 2)이 된다.
잘 응용해보자.