Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 옵저버
- stl
- 멀티쓰레드
- multi-core
- 스마트포인터
- EFFECTIVE C++
- observer pattern
- sequential
- material
- 멀티코어 프로그래밍
- 프레임워크
- Unreal
- c++
- 멀티코어
- 옵저버 패턴
- 유니크포인터
- Atomic
- MultiCore
- Design Pattern
- vector
- 게임공학과
- 한국산업기술대학교
- Multithread
- random access
- thread
- 디자인패턴
- 메모리관리
- 복사생성자
- 쓰레드
- C
Archives
- Today
- Total
태크놀로지
[게임수학] 직선의 방정식을 이용한 2D 라인태우기 본문
플레이어를 직선에 태우기
2D 게임 내의 배경이미지에서, 계단 혹은 낭떠러지 같은 맵 이동에 관하여, 직선의 방정식을 사용하여 구현하였다.
원리는 간단하다. 캐릭터의 X 위치값을 사용하여, 직선의 방정식에 대입하면 캐릭터의 높이값을 얻을 수 있다.
1. 기울기가 m이고, 한 점(x1, y1)을 지나는 직선의 방정식
* y - y1 = m(x-x1)
2. 두점을 사용하여, 직선의 방정식을 구해보자
* 라인위에 존재하는 두점의 위치값을 알고있다면, 직선의 기울기를 구할수있다.
* 위에 공식에 대입하면, 직선의 방정식을 얻을수있다.
여러개의 직선이 있다면, 어떤 직선을 타야하는가
만약 이러한 직선이 배치되어있다고 가정하였을때, 플레이어가 점프시 어떤 직선을 타야하는지가 의문일것이다. 필자의 경우 플레이어와 직선의 수선의 거리를 비교하여 타야할 라인을 채택하였다.
> 예외사항 - 플레이어보다 위에있는 라인일경우
수선의 거리는 위에 직선과 가깝지만, 게임에서는 위에 라인으로 순간이동 되면 안된다. 따라서, 플레이어보다 높이 있는 라인들은 비교대상에서 제외하였다.
'개인공부' 카테고리의 다른 글
[프레임워크] 레퍼런스 카운팅, 프로토타입 (0) | 2022.01.04 |
---|---|
[프레임워크] Dynamic Link Library (0) | 2022.01.04 |
[게임수학] 포물선 운동, 플레이어 점프를 구현해보자 (0) | 2021.12.31 |