Basic/Math

Smooth Step (C++)

VallistA2014. 7. 27. 14:57

이번에는 Lerp보다 자연스러운 애니메이션을 한번 구현해 보도록 합시다.


Smooth Step이라는 꾸미는 기술이 있는데, 이것이 무엇이냐하면, 모두 알법한 게임 메이플 스토리의 카메라가 주인공을 따라가는 그런 효과라 보시면 됩니다.


앞서 말한 것과 같이, Smooth Step은 꾸미기에 정말 용이하고, 좋은 함수가 될 것 입니다.


한번 구현해 보도록 합시다.

static T Max(T value1, T value2)
{
	return value1 > value2 ? value1 : value2;
}


static T Min(T value1, T value2)
{
	return value1 < value2 ? value1 : value2;
}


static T SmoothStep(T value1, T value2, float amount)
{
	float num = Clamp(amount, 0.0f, 1.0f);
	return Lerp(value1, value2, (num * num) * (3.0f - (2.0f * num)));
}


static T Clamp(T value, T min, T max)
{
	return Max(min, Min(max, value));
}


물론 T에는 자료형이 들어가면 되겠습니다.

이놈의 HTML은 <> 들어가면 Template이곤 뭐시곤 다 없애더라고요..

'Basic > Math' 카테고리의 다른 글

Sqrt (C++)  (0) 2015.10.13
Smooth Step (C++)  (0) 2014.07.27
Lerp (C++)  (0) 2014.07.27
거리 재기 (C++)  (0) 2014.07.27
사각형과 사각형의 충돌 (C++)  (2) 2014.07.27
원과 사각형의 충돌 (C++)  (23) 2014.07.27

댓글

댓글쓰기 폼

VallistA

병특이 끝나서 게임에서 웹으로 스위칭한 프로그래머.
프로그래밍 정보등을 공유합니다.

자고 싶습니다. ㅠㅠ

페이스북    :: 링크
카카오톡    :: kingbye1
Github      :: 링크

궁금한점 문의 주시면 답변드리도록 하겠습니다

VISITED

Today : 16

Total : 417,261

SNS

  • 페이스북아이콘
  • 카카오톡아이콘
  • 트위터아이콘