픽킹 문시몬.

Slides:



Advertisements
Similar presentations
주제심화학습보충학습 시장에서 유통되는 물건 시장이 하는 일 시장에 모여 드는 사람들 시장에서 파는 물건 상설과 비상설시장 비교 교통. 통신의 발달과 시장변화 시장변화, 유통과정과 유통과정과 성립조건 성립조건, 도. 소매 도. 소매 우리 생활에 필요한 것들 우리 생활에.
Advertisements

3 학년 -54 명 4 학년 -53 명 3.4 학년 총인원 -107 명 교사 -21 명 초 등 부 총인원 -128 명 2008 년 1 월 인원보고.
취업, 막막하세요 ? 걱정되십니까 ? 성공취업으로 가는 길 『경기청년뉴딜』이 함께 동행해 드립니다 ~ 일시 : ~ 대상 : 2013 년 2 월 졸업예정자 ( 기 졸업자 포함 ) 로서 경기도 거주자 문의 ∙ 접수 : 취업지원센터
학생증 발급 안내. 2 목 차목 차목 차목 차 Ⅰ. 개요 Ⅱ. 모바일 학생증 1. 신청 및 발급 2. 신청 방법 Ⅱ. 스마트 학생증 (ID 카드 ) 1. 신청 및 발급 2. 신청 방법 3. 제출 서류 4. 유의 사항.
강의 내용 : 카메라 DirectX 9 을 이용한 게임 개발 기본 코스. 목 차 카메라 요구사항 구현.
정보 사회의 역기 능과 대처 01 인터넷 중독, 어떻게 예방할까
내용: 북스타트 후속프로그램으로 영,유아에 맞는 그림책을 읽어주고 다양한 활동을 한다.
1_4. 프로그램 개요 1. 「 2008 순천향대학교 사회과학대 취업캠프」 행사명
☞ 전자출결 사용자 안내 “학생용” 전자출결 앱 다운로드 [안드로이드폰] Play 스토어 다운로드 [아이폰]
1. 던전 디자인 개요_1 1. ‘던전’ 룬스톤은 던전 한 층에도 여러 개가 존재하며, 각 룬스톤 마다 영향을 미치는 범위가 설정되어 있다. 룬스톤이 영향을 주는 범위에 일정시간 사용자가 위치해 있게 되면 사용자 캐릭터는 ‘유령화’ 되어 버리기 때문에, 사용자는.
엠보팅 주민참여예산 투표방법 안내 ■ 앱에서 투표하기 1. 핸드폰 전면에서 앱스(삼성) 찾아 누르기
내 외국인 친구의 집은 어디인가? 활동계획서 및 자국문화 소개계획서 - 팀(원) 모집용-
두근두근 파이썬 수업 7장 프로젝트 I.
몰랑이의 햄버거 만들기大 작전 click!.
DirectX9를 이용한 3D GAME 프로그래밍 입문
Lecture #7 제 4 장. 기하학적 객체와 변환 (2).
4장 기하학적 객체와 변환 – OpenGL 변환 학습목표 OpenGL 에서 어떻게 변환을 수행하는지 OpenGL 행렬모드 회전
안드로이드 UCheckPlus 학생용 App 출석체크 간편 매뉴얼
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
외상매출채권전자대출 인터넷 약정 메뉴얼 (판매기업용) 1.
제12장 유연한 카메라 클래스 만들기 학기 컴퓨터게임(DirectX).
제13장 기본적인 지형 렌더링 학기 컴퓨터게임(DirectX).
정적분석기술을 이용한 sw오류 자동 검증 Airac의 예를통해서
제 5장 기체.
기초 이론.
문 성 원 3D Game Programming QuadTree Culling 문 성 원 KoreaIT 전문학교 게임학과.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
12장 유연한 카메라 클래스 만들기 한성대학교 멀티미디어공학과 게임 프로그래밍-I 강의노트
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수.
7. 자극과 반응 7-2. 신경계 3. 여러 가지 반응.
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
기업지원 제도 주요 내용 안산고용센터 기업지원팀.
POWER POINT PRESENTATION
대학등록금 현대카드 홈페이지 납부방법 안내.
개정판 누구나 즐기는 C언어 콘서트 제6장 반복문 출처: pixabay.
대학생의 놀이 문화.
                                                                                                                                                                                                        
스마트폰 전자신고 방법 국세청 모바일 통합 앱 다운로드(갤럭시S) 가. 교재 15~19페이지
2019년도 학부 신(편)입생 학생증 신한 SOL 앱 예약등록 가이드
III. 문화 경관의 다양성 2. 촌락 경관의 유형과 특성 고등학교 사회
글로벌한국사 2강 - 고조선과 단군할아버지- 신화 속 역사 읽기.
Power Point 2007년 정보화교육 원미구청 총무과 통신전산팀.
안드로이드 UCheckPlus 학생용 App 출석체크 간편 매뉴얼
친구와 사이좋게 지내기 바른 생활 1학년 2학기 1. 사이좋은 친구 (3/4) [본차시의 주요내용]
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 09. C언어의 핵심! 함수!
韓國 女人의 香氣 Click To Go 갑오년 새 해 복 많이 받으세요. 가내 두루 편안 하시고 늘 건강 하세요.!
기업이 원하는 인성 이해와 인성면접 체크/평가포인트
배수공법 6조 김은아 김해김씨 목경파 박성진 무안박씨 노성파
학교 밖의 여럿이 쓰는 물건 알기 바른 생활 1학년 2학기
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
5. 논리적 자료표현 : 구조체.
「프뢰벨의 유아교육」 유혜미, 심재능 1조.
쓰레기를 바르게 처리하기 바른 생활 1학년 2학기 4.쓰레기를 바르게 처리해요(4/4) [본차시의 주요내용]
쓰레기분리해서 버리는 방법 알기 바른 생활 1학년 2학기 4.쓰레기를 바르게 처리해요(3/4) [본차시의 주요내용]
Ⅲ. 세계의 자연환경 -열대기후와 주민생활.
“서울시랑 즐거웁게, 시민이랑 어울리게, 모바일로 만나는 스마트한 서울라이프”
그린토마토 앱 사용자 메뉴얼.
오줌 속에는 무엇이 들어 있을까? 주제 : 노폐물의 배설 과학 1 학년
국가 내 불평등 현상과 해결방안 본 연구물은 학교 수업을 위해 개발된 것으로 교육 이외의 목적으로 사용될 수 없습니다.
직장생활 예절 ① - 인사 1.내가 먼저 [인사의 5point] 2.상대방의 눈을 보고 미소지으며 3.상대방에 맞춰서
국어지도 유아교육과 권수연 김아람 중등특수교육과 박수진 양한솔
3. 도시의 내부 구조 ① 도시 내부 지역 분화의 과정과 원인.
argc, argv 의 사용방법 #include <stdio.h>
전동 공구 초기화면 기술·가정 2학년 1학기 Ⅲ. 재료의 이용 > 2. 제품의 구상과 만들기 >
의복 마련 계획 및 구매하기 초기화면 기술·가정 2학년 1학기 Ⅰ.의복 마련과 관리 2.의복마련 계획과 구매 >
목재의 구조와 특징 초기화면 기술·가정 2학년 1학기
사 회 1학년 III. 생활 공간의 형성과 변화>지역 생활권의 변화[8/10] 교통과 생활권의 변화 수업 계획 수업 활동.
독일의 재활체육을 투영한 국내 재활체육의 적용.
분류 기준에 따라 내용을 정리하여 소개하는 글 쓰기
1-1) 하나투어 매니저 기획전 배너 삽입 ◀ SKT 데이터 로밍 쿠폰 배너 삽입 여행사를 위한 ,
Presentation transcript:

픽킹 문시몬

픽킹이란? 2차원인 모니터공간을 클릭하였을때 좌표와 방향을 이용하여 3차원 공간의 클릭으로 변환 하는 기술

픽킹의 원리와 이용 클릭한 마우스의 좌표를 받아 와 그 방향으로 레이(광선) 를 쏜다 그 레이를 이용해 교차판정을 해서 레이와 충돌 된 오브젝트를 찾아낸다 교차판정시 레이의 시작점과 충돌한 오브젝트의 거리를 계산하여 충돌 레벨을 조절 할 수 있다. ★ 충돌 검출을 위해서는 레이와 오브젝트가 같은 차원 안에 있어야 한다!

픽킹 코드 분석 1 레이의 방향 레이의 시작점 마우스의 좌표를 받아온다 스크린 좌표에서 클라이언트 좌표로 변환 마우스가 클라이언트 영역 밖에 있을때는 return false를 해준다. D3DXVECTOR3 vPickRayDir; D3DXVECTOR3 vPickRayOrig; RECT rcClient; POINT ptCursor; GetClientRect(g_hWnd,&rcClient); GetCursorPos(&ptCursor); ScreenToClient(g_hWnd,&ptCursor); if( ptCursor.x < 0 || rcClient.right < ptCursor.x || ptCursor.y < 0 || rcClient.bottom < ptCursor.y) return false;

픽킹 코드 분석 2 카메라의 투영 행렬을 받아온다 이 식은 그냥 외우자! 시야각에 따른 굴절을 계산 해준다. rcClient 는 뷰 포트영역의 길이 카메라의 뷰 행렬을 받아온다 뷰 행렬을 Inverse해준다 레이의 방향을 계산한다 D3DXMATRIX* pmatProj = m_pCam->GetProjMatrix(); D3DXVECTOR3 v; v.x = ( ( ( 2.0f * ptCursor.x ) / rcClient.right ) - 1 ) / pmatProj->_11; v.y =-( ( ( 2.0f * ptCursor.y ) / rcClient.bottom) - 1 ) / pmatProj->_22; v.z = 1.0f; D3DXMATRIXA16 matView,m; matView = *m_pCam->GetViewMatrix(); D3DXMatrixInverse(&m,NULL,&matView); vPickRayDir.x = v.x*m._11 + v.y*m._21 + v.z*m._31; vPickRayDir.y = v.x*m._12 + v.y*m._22 + v.z*m._32; vPickRayDir.z = v.x*m._13 + v.y*m._23 + v.z*m._33;

픽킹 코드 분석 3 이 소스는 터레인과의 충돌 검출이다 터레인의 인덱스버퍼 카운트를 받아온다 앞의 변수명을 보고 어떤 정보를 받아오는지 알 수 있다 삼각형의 세 점을 저장한다 충돌 검출 부분 IntersectTriangle함수는 DX 샘플 브라우저에 있는것을 써도 된다 int Count = m_pTerrain->GetIndex(); for( int i = 0;i<Count;i++) { JN_GEO::tagVerNormalTex* pVertex = m_pTerrain->GetVertexInfo(); tagIndex* pIndex = m_pTerrain->GetIndexInfo(); D3DXVECTOR3 v[3]; v[0] = pVertex[pIndex[i].w0].vPos; v[1] = pVertex[pIndex[i].w1].vPos; v[2] = pVertex[pIndex[i].w2].vPos; if(IntersectTriangle( vPickRayOrig,vPickRayDir,v[0],v[1],v[2],&fDist,&fBary1,&fBary2)) }

픽킹 동영상 Click to Play