그럼 이번에는 아래로 빠지는 저 문제를 해결해보자.
이게 계산이 너무 간격이 크다보니까 계산 리밋을 넘어버리는건데,
그러면 서브스탭으로 간격을 잘라주면 될 것 아닌가?
그런데 서브스탭은 간격을 잘라주는게 아니라, 간격을 오히려 뛰어넘어 버리는 결과가 나타나게 된다. 만약 서브스탭으로 2로 잘라준다면
1 2 3 4 로 계산될 것을
1 1-1 2 2-1 로 계산되는데, 서브스탭 결과는 출력이 안되니 오히려 간격만 늘어난 꼴이 된다. 그러니 더 러프하고, 속도만 두 배 빨라지는 결과가 되는거다.
이걸 해결하려면? 간단하다. '서브스탭만큼 속도를 느리게 만들어주면 된다'
그러면
1 2 3 4 가
1 1-1 2 2-1 3 3-1 4 가 되면서
속도는 같은데 계산은 정밀해지게 되는 것이다.
일단 그럼 limit 에서 제어해주게 만들어 보자
이거 가져다 쓰면 됨
그럼 벨로시티에 서브스탭 숫자만큼 나눠주면 됨.
거기다 아예 솔버의 서브스탭에다가도 그 숫자를 적용해주면 됨.
포인트 펑션이 편하구만.
대신 서브스탭을 올리면 age도 빨리 먹는다는걸 잊지 말자.
그럼 age도 서브스탭만큼 곱해주면 되겠네?
여하간 이렇게 해주면
잘 된다.
근데 힘도 나눠줘야지? 매 프레임당 여러 번 힘이 곱해지면 곤란하니까.
근데 위치 를 미분하면 속도가 나오고 속도를 미분하면 힘이 나온다
힘을 적분하면 속도가 나오고 속도를 적분하면 위치가 나온다
그러니까 한 번만으로 곤란하고 제곱으로 해줘야함.
그러면 이렇게하면 서브스탭에 중력적용이 적게 되면서, 중력때문에 범위를 뚫는 것이 줄어들어서 정밀도도 같이 올라가는 결과가 나오게 된다.
서브스탭도 쉽지 않구만.
'기타 공부하기 > 후디니' 카테고리의 다른 글
팝소스의 소스 세팅 (0) | 2024.01.05 |
---|---|
Dopnet / 파티클 시스템 셋업 (0) | 2024.01.03 |
파티클 시스템 구현3 (0) | 2024.01.02 |
파티클 시스템 구현 2 - 충돌 규칙 만들기 (0) | 2024.01.01 |
파티클 시스템 구현 1 - 속도에 따른 이동 (0) | 2024.01.01 |
댓글