판다3D
Panda3D팬더3D용 로고. | |
| 개발자 | 2010년까지 디즈니 인터렉티브, 월트 디즈니 이매진링, 카네기 멜론 대학교 |
|---|---|
| 초기 릴리즈 | 2002 |
| 안정적 해제 | 1.10.11 / 2022년 1월 7일; 전 |
| 리포지토리 | |
| 기록 위치 | C++, C, Python |
| 운영 체제 | Microsoft Windows, Linux, MacOS, FreeBSD |
| 유형 | 게임 엔진 |
| 면허증 | 개정 BSD (2008년 5월 28일 이전 버전에 대한 Panda3D 라이센스) |
| 웹사이트 | www |
Panda3D는 그래픽, 오디오, I/O, 충돌 감지, 그리고 3D 게임 생성과 관련된 다른 능력들을 포함하는 게임 엔진이다.[1]Panda3D는 개정된 BSD 라이선스에 따른 무료 소프트웨어다.
판다3D가 의도한 게임 개발 언어는 파이톤이다.엔진 자체는 C++로 작성되며, 자동 포장-제너레이터를 활용하여 파이톤 인터페이스에서 엔진의 완전한 기능을 노출한다.이 접근방식은 개발자에게 신속한 개발, 고급 메모리 관리 등 파이썬 개발의 이점을 주지만, 컴파일된 언어의 성능을 엔진 코어에 그대로 유지한다.예를 들어, 엔진은 파이썬의 가비지 수집기와 통합되어 있고, 엔진 구조는 자동으로 관리된다.
매뉴얼과 샘플 프로그램은 기본적으로 Python을 사용하며, C++를 대체 프로그램으로 사용할 수 있다.두 언어 모두 충분히 지원된다.개발자들이 가장 많이 사용하는 언어는 파이톤이지만 C++도 흔하다.
판다3D의 사용자들은 몇 개의 대형 상업용 게임 개발자, 몇 개의 오픈소스 프로젝트, 그리고 판다3D의 짧은 학습 곡선을 활용하는 많은 대학 과정들을 포함한다.공동체는 작지만 적극적이고, 포럼에 대한 질문도 대체로 빠르게 답한다.
역사
디즈니 VR 스튜디오는 디즈니 테마파크의 3D 명소를 짓기 위해 만들어진 디즈니의 분점이다.그들은 "알라딘의 마법 카펫"이라고 불리는 명소를 만들었고, 그것을 위해 만든 엔진은 결국 판다3D가 되었다.현재 형태의 엔진은 그 초기와 거의 유사하지 않다.시간이 흐르면서 디즈니 테마파크에서 VR 놀이기구를 추가로 타기 위해 팬더3D가 사용되었고, 결국 만화 세계를 배경으로 한 온라인 게임인 툰타운 온라인(Toontown Online)을 만들고, 이후 두 번째 MMORPG인 캐리비안의 해적 온라인(Pirates of the Carible Online)을 만드는 데 사용되었다.[2]
2002년에 이 엔진은 오픈 소스로 출시되었다.저자들에 따르면, 이것은 "가상현실 연구 프로젝트에서 대학들과 더 쉽게 협력할 수 있을 것"[3]이라고 한다.하지만 판다3D가 오픈소스 프로젝트로 도약하는 데는 다소 시간이 걸렸다.기사에서:
그 시스템은 그것을 개발한 팀에서 꽤 사용할 수 있었지만, 그다지 "오픈 소스 준비" 되어 있지 않았다.관심 있는 사용자들이 여럿 있었지만, 시스템을 구축하고 설치하는 것은 믿을 수 없을 정도로 복잡했고, 문서화나 샘플 코드의 방해가 거의 없었기 때문에 당장 유의미한 오픈소스 커뮤니티는 없었다.
그러나 엔진의 오픈소싱은 카네기 멜론의 엔터테인먼트 테크놀로지 센터가 엔진 개발에 참여할 수 있도록 했다.디즈니 엔지니어들이 개발의 대부분을 계속하는 동안, 카네기-멜론 팀은 공공 소비를 위한 엔진을 닦고, 문서를 작성하고, 쉐이더와 같은 특정한 고급 기능을 추가하는 역할을 스스로 구축했다.
Panda3D의 이름은 한때 "Platform Agnostic Networked Display Architecture"[4]라는 약자였다.그러나 그 구절은 그 뜻을 크게 잃었기 때문에, 「판다3」라는 말이 있다.D"는 더 이상 약자로 생각되지 않는다.
디자인
Panda3D는 장면 그래프 엔진이다.[5]이는 가상 세계가 처음에는 게임 프로그래머가 3D 모델을 삽입하는 비어있는 데카르트 공간이라는 것을 의미한다.판다3D는 전체 던전이나 섬의 모델과 같은 '큰' 3D 모델과 테이블이나 검의 모델과 같은 '작은' 3D 모델을 구분하지 않는다.크고 작은 모델은 모두 블렌더, 3ds 맥스, 또는 마야와 같은 표준 모델링 프로그램을 사용하여 만들어진다.그리고 나서 모델들은 Panda3D에 적재되고 Cartesian 공간에 삽입된다.
Panda3D 장면 그래프는 OpenGL과 DirectX의 기능을 상당히 문자 그대로 보여준다.예를 들어 OpenGL과 DirectX는 모두 안개 기능을 가지고 있다.Panda3D에서 안개를 활성화하려면 장면 그래프의 노드에 안개 파라미터를 저장하기만 하면 된다.안개 매개변수는 기본 API의 등가 호출 매개변수와 정확히 일치한다.이런 식으로 판다3D는 하급 API를 둘러싼 얇은 포장지로 볼 수 있다.그것들과 다른 점은 그 장면을 저장하는 반면 OpenGL과 DirectX는 그렇지 않다는 것이다.물론 모델 로딩, 애니메이션 실행, 충돌 감지 등 보다 높은 수준의 운영자도 제공한다.
Panda3D는 정점과 픽셀 쉐이더가 존재하기 전에 처음 설계되었다.그것은 2005년에 수동으로 작성한 셰이더에 대한 지원을 획득했다.그러나 사용자들은 게임에서 현대적인 픽셀당 조명 기술을 이용하는 데 느렸다.개발자들은 이것이 셰이더 프로그래밍이 상당히 어려울 수 있기 때문이며, 많은 게임 개발자들은 엔진이 그것을 자동으로 처리하기를 원하기 때문이라고 이론화한다.[citation needed]
이러한 상황을 개선하기 위해, 팬더3D 개발자들은 최근 팬더3D에 쉐이더를 자동으로 합성할 수 있는 능력을 부여했다.이 합성은 3D 모델러가 픽셀당 조명을 위한 모델을 표시하거나 모델러가 정상 지도, 글로스맵, 자기조명 지도 또는 고정 기능 파이프라인의 기능을 초과하는 기타 기능을 적용하는 경우에 발생한다.[6]합성의 목적은 프로그래머의 개입 없이 모델을 모델러가 의도한 대로 렌더링하는 것이다.
비그래픽 기능
Panda3D는 3D 렌더링 이외의 기능을 제공한다.주요 내용은 다음과 같다.[7]
- 성능 분석 도구
- 장면 그래프 탐색 도구
- 디버깅 도구
- 완벽한 아트 수출/수입 파이프라인
- FMOD, OpenAL 또는 Miles 사운드 시스템을 사용하는 3D 오디오
- 충돌 감지
- 오픈 다이내믹스 엔진 및 글머리 기호 통합을 위한 물리 시스템 및 완벽한 통합
- 키보드 및 마우스 지원
- I/O 장치 지원
- 유한 상태 기계
- GUI
- 네트워킹
- 인공지능
소프트웨어 라이선스
요약
Panda3D는 오픈 소스로 2008년 5월 28일자로 개정된 BSD 라이선스에 따른 무료 소프트웨어다.이 날짜 이전의 릴리스는 구형 Panda3D 라이센스 설계의 특정 오류로 인해 무료 소프트웨어로 간주되지 않는다.그럼에도 불구하고, 그러한 오래된 판다3D 출시들은 또한 무료와 상업용 게임 개발에 재정적인 비용 없이 사용될 수 있다.
진화
2002년, 엔진이 오픈 소싱되었을 때, 개발자들의 목표는 무료 소프트웨어 라이센스를 만드는 것이었다.하지만, 그 면허증은 그것을 무료가 아닌 몇 가지 결함을 가지고 있었는데, 그것은 분명히 판다의 변경 사항을 제출하도록 요구되었다.아마존닷컴은 미국이 무역 금수 조치를 취한 여러 국가에 대한 소프트웨어 수출을 명시적으로 금지했다.[8][9]
2008년 5월 28일 판다3D 개발 트렁크가 BSD 라이선스로 전환되었다.그러나 구 버전에서는 여전히 구 사용권을 사용한다.[10]
Panda3D는 FMOD, Nvidia Cg, DirectX, MFC 등 라이센스가 무료 소프트웨어가 아닌 몇몇 타사 라이브러리를 활용한다.그러나 이러한 모듈의 대부분은 설치에서 쉽게 제외될 수 있다.
Panda3를 채용하는 프로젝트d
- Tontown Online(필수) 및 해당 개인 서버
- 캐리비안의 해적 온라인 (실종된)과 그들의 개인 서버
- 부주도의 유령 해적
- 흡혈귀 이야기
참고 항목
참조
- ^ "Panda3D Manual".
- ^ "Postmortem: Disney Online's Toontown". www.gamasutra.com. January 28, 2004. Retrieved October 11, 2020.
- ^ "Proceedings, PyCon 2004: The Panda3D Engine - Python Scripting for Game and Simulation Development". Archived from the original on August 17, 2005.
- ^ "GameDev.net coverage of Game Developer's Conference, Austin, 2008". Archived from the original on September 28, 2008.
- ^ "Panda3D Manual Chapter: 'The Scene Graph'".
- ^ "Panda3D Manual Chapter: 'The Shader Generator'".
- ^ "Features Panda3D". www.panda3d.org. August 16, 2018. Retrieved October 11, 2020.
- ^ "Forum thread with legal comment by Richard Stallman on the old Panda3D License". May 10, 2005.
- ^ "Full text of original (pre-1.5.3) Panda3D license".
- ^ "Panda3D Manual Chapter: 'Introduction to Panda'".