SlideShare a Scribd company logo
Recast 네비메쉬

      돼지고기(구경원)
        데브루키
1. Recast 소개
 -개발자
 크라이시스 “리드 AI 프로그래머”
 Mikko Mononen.
 -랜더링
 OpenGL
 -UI
 SDL
- 자동으로 네비게이션 메쉬를 만들어 준다.

- 레벨 디자이너들에게 효율적인 편의성을 제
  공 해주기 위한 툴이다.

- 오픈소스이며, 개발자 마음대로 수정하여 사
  용할 수 있다.

- 다운로드 및 Wiki를 통한 피드백 가능.
http://code.google.com/p/recastnaviga
  tion/
Recast 를 사용하면 무엇이 좋은가
            요?
기존 네비메쉬 제작.
레벨 디자이너들이 지형모형에 맞추어서 한
 땀 한땀 만들어 나가는 장인정신의 결실.

Recast 툴 사용.
옵션 설정으로 다양한 지형에 대해서 버튼
 한번 클릭으로 누구나 쉽게 메쉬를 생성할
 수 있다. 작업 효율의 증가.
어느 장르 게임에 어울리나요?

권장사항.
FPS, 존 방식의 게임.
적은 지형을 필요로 하는 게임.

그외사항.
MMORPG와 같은 넓은 필드도 가능.
2. Recast 구성
 Detour
 A-Star 알고리즘의 길찾기 소스
 Recast
 복셀을 이용한 네비게이션 메쉬 만드는 소스
 RecastDemo
 샘플 프로그램 소스
3. Recast 기능
Rasterization
CellSize
- 복셀 필드를 구성하는 Cell의 넓이.
- 셀 조절 = 해상도 조절
- 낮은 값으로 생성하면 지형 메쉬에 컬리티
  높은 네비게이션 메쉬를 생성할 수 있다.
  하지만 처리비용이 높아지고 메모리를 많
  이 필요로 한다.
낮은 값




높은 값
Rasterization
CellHeight
- 복셀 필드를 구성하는 Cell의 높이.
- 셀조절 = 해상도 조절
- 낮은 값으로 생성하면 지형 메쉬에 근접한
  높이를 가지는 네비게이션 메쉬를 생성할
  수 있다. 하지만 처리비용이 높아지지만
  메모리 사용량은 크게 증가하지 않는다.
높은 값




낮은 값
Agent
Height
- 가상의 객체의 높이.
- 낮은 값으로 생성하면 낮은 값의 높이가
  지나갈 수 있는 부분의 지역에 네비게이션
  메쉬를 생성 해준다.
낮은 값




높은 값
Agent
Radius
- 가상의 객체의 둘레.
- 둘레의 수치를 조절하여 실제로 지역의 경
  계면에 플레이어가 움직일 수 있는 범위만
  큼 네비게이션 메쉬를 생성한다.
높은 값




낮은 값
Agent
Max Climb
- 가상의 객체의 올라갈 수 있는 높이.
- 수치를 높이면 Height 와는 다르게 객체
  의 올라갈수 있는 높이만큼 네비게이션 메
  쉬가 생성된다.
낮은 값




높은 값
Agent
Max Slope
- 가상의 객체의 올라갈 수 있는 경사도.
- 경사도가 있는 지형에 네비게이션 메쉬를
  생성하고자 할 때에 수치를 높여주면 된
  다.
높은 값




낮은 값
Region
Min Region Size
- 연결되여 있지 않은 부분에 대해서 독립적
  인 네비게이션 메쉬를 생성해준다.
낮은 값




높은 값
Region
Merged Region Size
- 작은 영역의 수를 주위의 큰 지역에 병합
  시켜 준다.
- 작은 영역에서 발생하는 대각선 경로의 문
  제를 해결해준다.
- 값이 작을수록 일부분에서 얇고 긴 삼각형
  이 생성된다.
낮은 값




높은 값
Polygonization
Max Edge Length
- 네비게이션 메쉬의 경계를 나타내는 다각
  형 가장자리의 최대길이를 조절할 수 있
  다.
- 값을 0으로 하면 비활성화 된다.
낮은 값




높은 값
Polygonization
Max Edge Error
- 네비게이션 메쉬의 가장자리를 최대한 지
  형 메쉬의 윤곽에 따라 만들어 준다.
- 값이 낮을수록 다각형의 개수가 많이 지므
  로 제로 값은 권장하지 않는다.
낮은 값




높은 값
Polygonization
Verts Per Poly
- 다각형을 이루는 정점들의 수.
- 높은 값은 처리비용은 증가하지만 좀더 나
  은 네비게이션 메쉬를 생성할 수 있다.
- 일반적으로 6이상의 사용은 권하지 않는
  다.
높은 값(6)




낮은 값(3)
Detail Mesh
Sample Distance
- 지형메쉬의 표면에 네비게이션 메쉬를 일
  치시킬 때 사용하는 샘플링 거리를 설정한
  다.
- 낮은 값을 사용할수록 지형메쉬에 디테일
  하게 삼각형들이 생성되지만 연산이 높아
  진다.
높은 값




낮은 값
Detail Mesh
Max Sample Error
- Sample Distance에서 발생할 수 있는
  부족한 부분을 좀 더 디테일하게 만들어
  주는 역할을 한다.
- 값이 낮을수록 연산량이 많아지지만 디텔
  일은 높아진다.
- 0의 사용은 권장하지 않는다.
높은 값




낮은 값
• 툴 시연
4. 추가기능



 툴에서 생성된 네비게이션 메쉬에 직접
 A*알고리즘을 테스트 할 수 있다.
네비메쉬 다각형마다 플래그를 지정해
서 원하는 옵션을 줄 수 있다.
떨어져 있는 두 메쉬 간의 공간을 가상
으로 연결해주는 기능을 제공한다.
(포탈기능)
• 툴 시연
주의사항
• 메쉬당 버텍스 수가 65536개로 제한되여
  있다.

• -4000 ~ 4000 사이의 좌표 안에 해당하
  는 메쉬에 대해서 높은 정확성을 가질 수
  있다.
주의사항
• 너무 디테일하게 네비메쉬를 생성하려고
  하면 상당히 많은 메모리를 필요로 해서
  생성이 안되거나 오류가 날 수 도 있다.

• 또한 너무 느슨하게 생성하면 중복된 좌표
  로 인한 네비메쉬 겹침 현상이 발생할 수
  도 있다.
3. 작업

 • 사용 확장자 *.obj

 • Meshes 폴더에 넣어두면 자동으로 툴의
   목록에 읽혀진다.

 • *.obj 내부는 TXT 형태로 상당히 심플하
   게 구성 되여 있다.
.obj 해부




v 버텍스 좌표
f 인덱스 번호
사용 순서
지형 툴에서
           .obj      Recast 에서
정점 데이터                 랜더링
          파일 생성
  추출




          생성된 네비메
  사용      쉬 정점 데이터   네비메쉬 생성
             추출
레벨 디테일
Tile Mesh
- 넓은 지형을 일정한 크기의 타일로 나누어
  서 부분 타일마다 네비게이션 메쉬를 생성
  한다.
- 부분 적으로 연산이 필요하기 때문에 메모
  리 사용량도 부분적이다.
- 타일메쉬를 사용하면 저장기능도 제공한
  다.
•Q&A
•END

More Related Content

What's hot

이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
devCAT Studio, NEXON
 
게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPU게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPU
YEONG-CHEON YOU
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
YEONG-CHEON YOU
 
실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략
YEONG-CHEON YOU
 
Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architecture
Jongwon Kim
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
승명 양
 
임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012devCAT Studio, NEXON
 
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
Yongha Kim
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술henjeon
 
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
MinGeun Park
 
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
Yongha Kim
 
멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)
Bongseok Cho
 
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theoremMultiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theorem
Seungmo Koo
 
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013영욱 오
 
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013devCAT Studio, NEXON
 
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012devCAT Studio, NEXON
 
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
YEONG-CHEON YOU
 
송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010devCAT Studio, NEXON
 
언리얼을 활용한 오브젝트 풀링
언리얼을 활용한 오브젝트 풀링언리얼을 활용한 오브젝트 풀링
언리얼을 활용한 오브젝트 풀링
TonyCms
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
devCAT Studio, NEXON
 

What's hot (20)

이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
 
게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPU게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPU
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 
실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략
 
Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architecture
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
 
임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012
 
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
 
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
 
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
 
멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)
 
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theoremMultiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theorem
 
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
 
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
 
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
 
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
 
송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010
 
언리얼을 활용한 오브젝트 풀링
언리얼을 활용한 오브젝트 풀링언리얼을 활용한 오브젝트 풀링
언리얼을 활용한 오브젝트 풀링
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 

Similar to [0903 구경원] recast 네비메쉬

15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlas
noerror
 
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
강 민우
 
Feature Pyramid Network, FPN
Feature Pyramid Network, FPNFeature Pyramid Network, FPN
Feature Pyramid Network, FPN
Institute of Agricultural Machinery, NARO
 
Kgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmicKgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmic
Lee Jungpyo
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬
현찬 양
 
텐서플로우 2.0 튜토리얼 - CNN
텐서플로우 2.0 튜토리얼 - CNN텐서플로우 2.0 튜토리얼 - CNN
텐서플로우 2.0 튜토리얼 - CNN
Hwanhee Kim
 
Voxel based game_optimazation_relelase
Voxel based game_optimazation_relelaseVoxel based game_optimazation_relelase
Voxel based game_optimazation_relelase
YEONG-CHEON YOU
 
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others
 [컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others [컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others
jdo
 
[Kgc2013] 모바일 엔진 개발기
[Kgc2013] 모바일 엔진 개발기[Kgc2013] 모바일 엔진 개발기
[Kgc2013] 모바일 엔진 개발기
changehee lee
 
[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림
NAVER D2
 
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
SangYun Yi
 
엔지니어링비젼_언리얼엔진4_커스텀______________________
엔지니어링비젼_언리얼엔진4_커스텀______________________엔지니어링비젼_언리얼엔진4_커스텀______________________
엔지니어링비젼_언리얼엔진4_커스텀______________________
Kyoung Seok(경석) Ko(고)
 
엔지니어링 비젼_동영상제거.pptx
엔지니어링 비젼_동영상제거.pptx엔지니어링 비젼_동영상제거.pptx
엔지니어링 비젼_동영상제거.pptx
Kyoung Seok(경석) Ko(고)
 
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 3 - GoogLeNet
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 3 - GoogLeNet[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 3 - GoogLeNet
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 3 - GoogLeNet
jdo
 
노동진 Mega splatting
노동진 Mega splatting노동진 Mega splatting
노동진 Mega splattingdrandom
 
글꼴 렌더링 이야기
글꼴 렌더링 이야기글꼴 렌더링 이야기
글꼴 렌더링 이야기Young-jun Jeong
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection
창기 문
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection
창기 문
 
빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술
YEONG-CHEON YOU
 
09_Voxel rendering
09_Voxel rendering09_Voxel rendering
09_Voxel rendering
noerror
 

Similar to [0903 구경원] recast 네비메쉬 (20)

15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlas
 
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
 
Feature Pyramid Network, FPN
Feature Pyramid Network, FPNFeature Pyramid Network, FPN
Feature Pyramid Network, FPN
 
Kgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmicKgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmic
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬
 
텐서플로우 2.0 튜토리얼 - CNN
텐서플로우 2.0 튜토리얼 - CNN텐서플로우 2.0 튜토리얼 - CNN
텐서플로우 2.0 튜토리얼 - CNN
 
Voxel based game_optimazation_relelase
Voxel based game_optimazation_relelaseVoxel based game_optimazation_relelase
Voxel based game_optimazation_relelase
 
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others
 [컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others [컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others
 
[Kgc2013] 모바일 엔진 개발기
[Kgc2013] 모바일 엔진 개발기[Kgc2013] 모바일 엔진 개발기
[Kgc2013] 모바일 엔진 개발기
 
[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림
 
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
 
엔지니어링비젼_언리얼엔진4_커스텀______________________
엔지니어링비젼_언리얼엔진4_커스텀______________________엔지니어링비젼_언리얼엔진4_커스텀______________________
엔지니어링비젼_언리얼엔진4_커스텀______________________
 
엔지니어링 비젼_동영상제거.pptx
엔지니어링 비젼_동영상제거.pptx엔지니어링 비젼_동영상제거.pptx
엔지니어링 비젼_동영상제거.pptx
 
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 3 - GoogLeNet
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 3 - GoogLeNet[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 3 - GoogLeNet
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 3 - GoogLeNet
 
노동진 Mega splatting
노동진 Mega splatting노동진 Mega splatting
노동진 Mega splatting
 
글꼴 렌더링 이야기
글꼴 렌더링 이야기글꼴 렌더링 이야기
글꼴 렌더링 이야기
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection
 
빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술
 
09_Voxel rendering
09_Voxel rendering09_Voxel rendering
09_Voxel rendering
 

More from KyeongWon Koo

빌드 속도를 올려보자
빌드 속도를 올려보자빌드 속도를 올려보자
빌드 속도를 올려보자KyeongWon Koo
 
[Gpg2권]4.7 인쇄해상도의 스크린샷 만들기
[Gpg2권]4.7 인쇄해상도의 스크린샷 만들기[Gpg2권]4.7 인쇄해상도의 스크린샷 만들기
[Gpg2권]4.7 인쇄해상도의 스크린샷 만들기KyeongWon Koo
 
[0204 구경원] sse 병렬 프로그래밍
[0204 구경원] sse 병렬 프로그래밍[0204 구경원] sse 병렬 프로그래밍
[0204 구경원] sse 병렬 프로그래밍KyeongWon Koo
 
[Gpg2권 구경원] 3.4 rts 게임의 명령 큐잉을 위한 기반 구조
[Gpg2권 구경원] 3.4 rts 게임의 명령 큐잉을 위한 기반 구조[Gpg2권 구경원] 3.4 rts 게임의 명령 큐잉을 위한 기반 구조
[Gpg2권 구경원] 3.4 rts 게임의 명령 큐잉을 위한 기반 구조KyeongWon Koo
 
[Gpg2권 구경원] 3.1 ai전략
[Gpg2권 구경원] 3.1 ai전략[Gpg2권 구경원] 3.1 ai전략
[Gpg2권 구경원] 3.1 ai전략KyeongWon Koo
 
선형연립방정식 가우스소거법
선형연립방정식 가우스소거법선형연립방정식 가우스소거법
선형연립방정식 가우스소거법KyeongWon Koo
 
제5장 스태틱 메쉬
제5장 스태틱 메쉬제5장 스태틱 메쉬
제5장 스태틱 메쉬KyeongWon Koo
 
[기초수학] 미분 적분학
[기초수학] 미분 적분학[기초수학] 미분 적분학
[기초수학] 미분 적분학KyeongWon Koo
 
[Gpg2권]1.1 c++ 게임의 최적화
[Gpg2권]1.1 c++ 게임의 최적화[Gpg2권]1.1 c++ 게임의 최적화
[Gpg2권]1.1 c++ 게임의 최적화KyeongWon Koo
 
[0618구경원]초보 게임프로그래머를 위한 c++
[0618구경원]초보 게임프로그래머를 위한 c++[0618구경원]초보 게임프로그래머를 위한 c++
[0618구경원]초보 게임프로그래머를 위한 c++KyeongWon Koo
 
역동적인 애니메이션 Ik
역동적인 애니메이션 Ik역동적인 애니메이션 Ik
역동적인 애니메이션 IkKyeongWon Koo
 
[페차쿠차] 3월 19일 아이디어에 미쳐보자!
[페차쿠차] 3월 19일 아이디어에 미쳐보자![페차쿠차] 3월 19일 아이디어에 미쳐보자!
[페차쿠차] 3월 19일 아이디어에 미쳐보자!KyeongWon Koo
 
[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리KyeongWon Koo
 

More from KyeongWon Koo (14)

빌드 속도를 올려보자
빌드 속도를 올려보자빌드 속도를 올려보자
빌드 속도를 올려보자
 
[Gpg2권]4.7 인쇄해상도의 스크린샷 만들기
[Gpg2권]4.7 인쇄해상도의 스크린샷 만들기[Gpg2권]4.7 인쇄해상도의 스크린샷 만들기
[Gpg2권]4.7 인쇄해상도의 스크린샷 만들기
 
[데브루키] FOG
[데브루키] FOG[데브루키] FOG
[데브루키] FOG
 
[0204 구경원] sse 병렬 프로그래밍
[0204 구경원] sse 병렬 프로그래밍[0204 구경원] sse 병렬 프로그래밍
[0204 구경원] sse 병렬 프로그래밍
 
[Gpg2권 구경원] 3.4 rts 게임의 명령 큐잉을 위한 기반 구조
[Gpg2권 구경원] 3.4 rts 게임의 명령 큐잉을 위한 기반 구조[Gpg2권 구경원] 3.4 rts 게임의 명령 큐잉을 위한 기반 구조
[Gpg2권 구경원] 3.4 rts 게임의 명령 큐잉을 위한 기반 구조
 
[Gpg2권 구경원] 3.1 ai전략
[Gpg2권 구경원] 3.1 ai전략[Gpg2권 구경원] 3.1 ai전략
[Gpg2권 구경원] 3.1 ai전략
 
선형연립방정식 가우스소거법
선형연립방정식 가우스소거법선형연립방정식 가우스소거법
선형연립방정식 가우스소거법
 
제5장 스태틱 메쉬
제5장 스태틱 메쉬제5장 스태틱 메쉬
제5장 스태틱 메쉬
 
[기초수학] 미분 적분학
[기초수학] 미분 적분학[기초수학] 미분 적분학
[기초수학] 미분 적분학
 
[Gpg2권]1.1 c++ 게임의 최적화
[Gpg2권]1.1 c++ 게임의 최적화[Gpg2권]1.1 c++ 게임의 최적화
[Gpg2권]1.1 c++ 게임의 최적화
 
[0618구경원]초보 게임프로그래머를 위한 c++
[0618구경원]초보 게임프로그래머를 위한 c++[0618구경원]초보 게임프로그래머를 위한 c++
[0618구경원]초보 게임프로그래머를 위한 c++
 
역동적인 애니메이션 Ik
역동적인 애니메이션 Ik역동적인 애니메이션 Ik
역동적인 애니메이션 Ik
 
[페차쿠차] 3월 19일 아이디어에 미쳐보자!
[페차쿠차] 3월 19일 아이디어에 미쳐보자![페차쿠차] 3월 19일 아이디어에 미쳐보자!
[페차쿠차] 3월 19일 아이디어에 미쳐보자!
 
[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리
 

[0903 구경원] recast 네비메쉬

  • 1. Recast 네비메쉬 돼지고기(구경원) 데브루키
  • 2. 1. Recast 소개 -개발자 크라이시스 “리드 AI 프로그래머” Mikko Mononen. -랜더링 OpenGL -UI SDL
  • 3. - 자동으로 네비게이션 메쉬를 만들어 준다. - 레벨 디자이너들에게 효율적인 편의성을 제 공 해주기 위한 툴이다. - 오픈소스이며, 개발자 마음대로 수정하여 사 용할 수 있다. - 다운로드 및 Wiki를 통한 피드백 가능. http://code.google.com/p/recastnaviga tion/
  • 4. Recast 를 사용하면 무엇이 좋은가 요? 기존 네비메쉬 제작. 레벨 디자이너들이 지형모형에 맞추어서 한 땀 한땀 만들어 나가는 장인정신의 결실. Recast 툴 사용. 옵션 설정으로 다양한 지형에 대해서 버튼 한번 클릭으로 누구나 쉽게 메쉬를 생성할 수 있다. 작업 효율의 증가.
  • 5. 어느 장르 게임에 어울리나요? 권장사항. FPS, 존 방식의 게임. 적은 지형을 필요로 하는 게임. 그외사항. MMORPG와 같은 넓은 필드도 가능.
  • 6. 2. Recast 구성 Detour A-Star 알고리즘의 길찾기 소스 Recast 복셀을 이용한 네비게이션 메쉬 만드는 소스 RecastDemo 샘플 프로그램 소스
  • 8. Rasterization CellSize - 복셀 필드를 구성하는 Cell의 넓이. - 셀 조절 = 해상도 조절 - 낮은 값으로 생성하면 지형 메쉬에 컬리티 높은 네비게이션 메쉬를 생성할 수 있다. 하지만 처리비용이 높아지고 메모리를 많 이 필요로 한다.
  • 9.
  • 11. Rasterization CellHeight - 복셀 필드를 구성하는 Cell의 높이. - 셀조절 = 해상도 조절 - 낮은 값으로 생성하면 지형 메쉬에 근접한 높이를 가지는 네비게이션 메쉬를 생성할 수 있다. 하지만 처리비용이 높아지지만 메모리 사용량은 크게 증가하지 않는다.
  • 13. Agent Height - 가상의 객체의 높이. - 낮은 값으로 생성하면 낮은 값의 높이가 지나갈 수 있는 부분의 지역에 네비게이션 메쉬를 생성 해준다.
  • 15. Agent Radius - 가상의 객체의 둘레. - 둘레의 수치를 조절하여 실제로 지역의 경 계면에 플레이어가 움직일 수 있는 범위만 큼 네비게이션 메쉬를 생성한다.
  • 17. Agent Max Climb - 가상의 객체의 올라갈 수 있는 높이. - 수치를 높이면 Height 와는 다르게 객체 의 올라갈수 있는 높이만큼 네비게이션 메 쉬가 생성된다.
  • 19. Agent Max Slope - 가상의 객체의 올라갈 수 있는 경사도. - 경사도가 있는 지형에 네비게이션 메쉬를 생성하고자 할 때에 수치를 높여주면 된 다.
  • 21. Region Min Region Size - 연결되여 있지 않은 부분에 대해서 독립적 인 네비게이션 메쉬를 생성해준다.
  • 23. Region Merged Region Size - 작은 영역의 수를 주위의 큰 지역에 병합 시켜 준다. - 작은 영역에서 발생하는 대각선 경로의 문 제를 해결해준다. - 값이 작을수록 일부분에서 얇고 긴 삼각형 이 생성된다.
  • 25. Polygonization Max Edge Length - 네비게이션 메쉬의 경계를 나타내는 다각 형 가장자리의 최대길이를 조절할 수 있 다. - 값을 0으로 하면 비활성화 된다.
  • 27. Polygonization Max Edge Error - 네비게이션 메쉬의 가장자리를 최대한 지 형 메쉬의 윤곽에 따라 만들어 준다. - 값이 낮을수록 다각형의 개수가 많이 지므 로 제로 값은 권장하지 않는다.
  • 29. Polygonization Verts Per Poly - 다각형을 이루는 정점들의 수. - 높은 값은 처리비용은 증가하지만 좀더 나 은 네비게이션 메쉬를 생성할 수 있다. - 일반적으로 6이상의 사용은 권하지 않는 다.
  • 31. Detail Mesh Sample Distance - 지형메쉬의 표면에 네비게이션 메쉬를 일 치시킬 때 사용하는 샘플링 거리를 설정한 다. - 낮은 값을 사용할수록 지형메쉬에 디테일 하게 삼각형들이 생성되지만 연산이 높아 진다.
  • 33. Detail Mesh Max Sample Error - Sample Distance에서 발생할 수 있는 부족한 부분을 좀 더 디테일하게 만들어 주는 역할을 한다. - 값이 낮을수록 연산량이 많아지지만 디텔 일은 높아진다. - 0의 사용은 권장하지 않는다.
  • 36. 4. 추가기능 툴에서 생성된 네비게이션 메쉬에 직접 A*알고리즘을 테스트 할 수 있다.
  • 37.
  • 38.
  • 39. 네비메쉬 다각형마다 플래그를 지정해 서 원하는 옵션을 줄 수 있다.
  • 40.
  • 41. 떨어져 있는 두 메쉬 간의 공간을 가상 으로 연결해주는 기능을 제공한다. (포탈기능)
  • 42.
  • 44. 주의사항 • 메쉬당 버텍스 수가 65536개로 제한되여 있다. • -4000 ~ 4000 사이의 좌표 안에 해당하 는 메쉬에 대해서 높은 정확성을 가질 수 있다.
  • 45. 주의사항 • 너무 디테일하게 네비메쉬를 생성하려고 하면 상당히 많은 메모리를 필요로 해서 생성이 안되거나 오류가 날 수 도 있다. • 또한 너무 느슨하게 생성하면 중복된 좌표 로 인한 네비메쉬 겹침 현상이 발생할 수 도 있다.
  • 46. 3. 작업 • 사용 확장자 *.obj • Meshes 폴더에 넣어두면 자동으로 툴의 목록에 읽혀진다. • *.obj 내부는 TXT 형태로 상당히 심플하 게 구성 되여 있다.
  • 47. .obj 해부 v 버텍스 좌표 f 인덱스 번호
  • 48. 사용 순서 지형 툴에서 .obj Recast 에서 정점 데이터 랜더링 파일 생성 추출 생성된 네비메 사용 쉬 정점 데이터 네비메쉬 생성 추출
  • 50. Tile Mesh - 넓은 지형을 일정한 크기의 타일로 나누어 서 부분 타일마다 네비게이션 메쉬를 생성 한다. - 부분 적으로 연산이 필요하기 때문에 메모 리 사용량도 부분적이다. - 타일메쉬를 사용하면 저장기능도 제공한 다.