gamemath-chapter 09 가시성판단

21
Chapter 09 가시성 판단 발표자 발표자 : : 홍기 홍기 05.02.04

Upload: choi-junhyeok

Post on 12-Jul-2015

810 views

Category:

Education


0 download

TRANSCRIPT

Page 1: GameMath-Chapter 09 가시성판단

Chapter 09

가시성 판단

발표자발표자 :: 홍기홍기헌헌

05.02.04

Page 2: GameMath-Chapter 09 가시성판단

Preview

01. 01. 화면에 보이지 않는 데이터의 종류화면에 보이지 않는 데이터의 종류

02. 02. 경계 입체경계 입체

03. 03. 절두체 컬링절두체 컬링

Page 3: GameMath-Chapter 09 가시성판단

핵심 포인트

• 3D 3D 게임의 속도게임의 속도 (( 렌더링렌더링 ) ) 향상향상

• ‘‘ 필요없는 데이터를 그리지 않는다’는 것필요없는 데이터를 그리지 않는다’는 것

• 필요없는 데이터필요없는 데이터 (( 화면에 보이지 않는 데이터화면에 보이지 않는 데이터 ))를 를

판단하는 데 사용하는 기술판단하는 데 사용하는 기술

Page 4: GameMath-Chapter 09 가시성판단

01. 화면에 보이지 않는 데이터의 종류 • 메시 (mesh) 의 뒷면

• 시야 절두체에 포함되지 않는 메시나 면

• 다른 메시에 가려진 메시나 면

5) 메시의 뒷면

Page 5: GameMath-Chapter 09 가시성판단

V0 V0’ > 0

V1 V2’ < 0

V2 V2’ > 0

Page 6: GameMath-Chapter 09 가시성판단

1) 시야 절두체

• 렌더링 파이프라인에서 절두체의 정의를 살펴보았다 .

• 사각뿔의 머리를 잘라 놓은 것 같다 .

Page 7: GameMath-Chapter 09 가시성판단

a. 절두체의 정의

• 절두체 내부에 포함되는 삼각형만 렌더링

Page 8: GameMath-Chapter 09 가시성판단

a. 평면의 방정식

• 정의 ax+bx+cz+d = 0

a,b,c -> 평면의 방향을 나타내는 법선 벡터 ,

d -> 평면과 원점과의 거리

Page 9: GameMath-Chapter 09 가시성판단

a. 평면 방정식의 성질

Page 10: GameMath-Chapter 09 가시성판단

a. 절두체 컬링 원리

모든 평면 방정식의 결과값이 양수 (+) 이면 절두체 내부 포함

a. 경계 입체 컬링 ( bounding volume c ulling )

Page 11: GameMath-Chapter 09 가시성판단

02 경계 입체

• 경계구 (bounding sphere)

• 경계 상자 (bounding box)

• 경계 실린더 (bounding cylinder)

1) 경계구물체를 감싸고 있는 구

다루기 쉬우며 , 처리 속도 가장 빠름

Page 12: GameMath-Chapter 09 가시성판단

1) 경계 상자

• 물체를 감싸고있는 상자

• 상자를 표현 하는데 최대값 , 최고값만으로 표현 가능

Page 13: GameMath-Chapter 09 가시성판단

1) 경계 실린더

• 원의 반지름과 물체의 길이를 표현하는 양 끝점

• 연산이 복잡

Page 14: GameMath-Chapter 09 가시성판단

1) 경계구 컬링

03 절두체 컬링

평면 방정식에 경계구의 중심점 값을 대입 ,

결과값이 경계구의 반지름 r 보다 작으면

Page 15: GameMath-Chapter 09 가시성판단

1) 경계 상자 컬링

• Vmax 와 Vmin 으로

2 개의 값으로 정의

Page 16: GameMath-Chapter 09 가시성판단

6 개의 정점과 Vmax 와 Vmin 정점을 절두체에 대입 ,

평면 방정식에 경계 상자의 정점값들을 대입 ,

모두 0 보다 크면 절두체에 완전히 포함 .

Page 17: GameMath-Chapter 09 가시성판단

예제

예제 실행 결과예제 실행 결과

Page 18: GameMath-Chapter 09 가시성판단

Chapter 14Chapter 14

길찾기 : 최단 거리 위치 이동 알고

리즘 A*

Page 19: GameMath-Chapter 09 가시성판단

A* 방식의 요약1. 시작사각형을 열린목록에서 넣는다 .

2. 다음의 과정들을 반복한다 .

a) 열린목록에서 가장 낮은 F 비용을 찾는다 . 그리고 우리는 이것을 현재사각형으로 선택한다 .

b) 이것을 닫힌목록으로 바꾼다 .

c) 현재 사각형에 인접한 8 개의 사각형에 대해 ?

● 만약 인접한 사각형이 갈수 없는 것 이거나 그것이 닫힌목록상에 있다면 이것은 무시한다 . 그렇지 않은 것은 다음을 계속한다 .

● 만약 이것이 열린목록에 있지 않다면 , 이것을 열린목록에 추가한다 . 이 사각형의 부모를 현재 사각형으로 만든다 . 사각형의 F,G,H 비용을 기록한다 .

● 만약 이것이 이미 열린목록에 있다면 , 사각형 G 비용을 이용하여 이 사각형이 더 나은가 알아본다 . 그것의 G 비용이 더 작으면 그것이 더 나은 길이라는 것을 의미한다 . 만약 그렇다면 , 부모 사각형을 그 (G 비용이 더 작은 ) 사각형으로 바꾸어라 , 그리고 그 사각형의 G,F 비용을 다시 계산해라 . 만약 당신이 당신의 열린목록을 F 비용으로 정렬하고 있다면 바뀐 것에 따라서 열린목록을 다시 정렬 해야한다 .

d) 그만할 때

● 길을 찾다는 중 목표사각형을 열린목록에 추가 하였을 때 ,

● 열린목록이 비어있게 될 경우 이때는 목표사각형을 찾는데 실패한 것 인데 이 경우 길이 없는 경우다 .

3. 길 저장하기 ~. 목표사각형으로부터 각각의 사각의 부모쪽을 향하여 시작사각형에 도착할 때까지 거슬러 올라간다 . 이것이 당신의 길이다 .~

Page 20: GameMath-Chapter 09 가시성판단

스타크레프트에서의 길찾기 알고리즘

• - 맵 길찾기와 유닛 길찾기

1) 지형적으로 탐색

2) 짧은 거리를 정교하게 탐색

•움직이는 유닛은 무시한다 .

•드래군은 왜 방황하는가

Page 21: GameMath-Chapter 09 가시성판단

KIN~ ( 즐 )

질문