카메라 흔들기
Programming/C/C++ / 2011. 3. 5. 16:05
카메라를 흔들려면 카메라를 흔드는 폭을 알아야 한다.
그런데 이 폭을 생각처럼 이쁘게 얻기 힘들다.
그래서 이쁜 공식에 대한 화두를 던저볼까 한다.
1. y = sin(x)
먼저 생각해 볼 수 있고 만만한 공식은 바로 sin 이다.
sin 특성상 파형을 나타낸다. 오르락 내리락 하는것이 단순하면서도
직선적이지 않아 카메라 흔들때 딱이라는 느낌이 온다.
하지만.. 너무 단조롭지 않은가? 점점 감쇄할수 있다면 좋을것 같다.
2. y = powf(0.5f, x) : 흔히 말하는 y=(1/2)^x 그래프 이다.
감쇄하는 모양이 아주 이쁘다. 특히나 5 정도를 지나면 0이 아니라 0에 수렴하는 곡선이다.
이 그래프의 감쇄 정도를 상수를 이용해서 수정한다면 아주 이쁜 상쇄 그래프가 나올것이다.
3. y = sin(x) * powf(0.5f, x)
그냥 단순히 곱해봤다. x 축의 값이 time이랑 맞지 않아 이런 결과가 나왔다.
만약 sin 파장을 줄인다면 뭔가 이쁜 그래프가 나올것 같다.
4. y = sin(x*10.0f) * powf(0.5f, x)
그래프가 아주 이뻐졌다.
두 함수의 속성을 이용해서만이라도 훌륭한 카메라 흔들기를 구현할수 있지 않을까?
여러가지 실험을 통해서 이쁜 상수들(일명 매직넘버)을 구하기 바란다.
또한 다른 그래프와의 간섭이 일어난다면 더욱 이쁜 그래프가 나올수도 있다.
반응형
'Programming > C/C++' 카테고리의 다른 글
정수부/소수부 분리, 소수점 이하만 구하는 함수 예제: modf() (0) | 2011.03.17 |
---|---|
이름공간(namespace)의 함정. (0) | 2011.03.13 |
[게임코드]손쉽게 카메라 흔들기 (0) | 2011.03.04 |
임의의 표면에 데칼 적용하기(소스포함) (2) | 2011.03.04 |
ifdef, if defined, ifndef, if !defined (0) | 2011.03.04 |