1. Introduction
파이썬과 C++를 지원하는 Panda3D 라이브러리를 소개합니다. 아직은 파이썬과 함께 쓰기에 좋은 것인지 나쁜 것인지는 잘 모르겠지만, 매우 강력한 것은 사실입니다. 어마어마한 기능들을 선보입니다.
3D Graphic과 게임을 만들 때 꼭 필요한 여러 가지 유틸리티 기능들도 지원합니다.
비교 대상이 없어서 아직 뭐라고 말하기가 좀 그렇군요. 유튜브에 올라온 소개 영상들을 좀 살펴보니 3D 그래픽 프로그래밍과 관련된 다양한 실험에 크게 도움이 될 듯합니다.
파이썬에서 다용도로 많이 사용하는 PyGame과 함께 유용한 라이브러리가 될 것으로 생각합니다.
파이썬용으로 3D 그래픽을 지원하는 라이브러리가 그렇게 많지는 않으나 Panda3D는 Python과 C++ 언어를 공식 지원합니다.
설치는 아래 링크를 참고하세요. 여기서는 Windows v11, 64 비트 OS를 기준으로 설치 및 테스트를 진행합니다.
이 글에서는 코드 일부를 포함하지만 그 세부 내용 해설은 다루지 않습니다. Python에서 3D를 구현하는 것에는 이런 방법도 있다는 것을 소개합니다.
1) Panda3D SDK를 설치하고
2) 이 SDK의 bin 폴더를 Windows 11 System Path에 추가한 다음,
3) 첨부 파일 중, Panda3D_Sample_Set_Part_1_.zip 파일 내용들을 실행해보세요.
대략 이 라이브러리의 성능과 가능성을 어느 정도 짐작해 볼 수 있을 것입니다. 영문 온라인 매뉴얼 내용을 살펴보면 상당한 수준의 활용이 가능해 보입니다. 국내 출판된 한글판 매뉴얼이나 교재는 아직 보이지 않습니다. 온라인 영어 매뉴얼은 나름 상당히 방대하고 자세하게 되어 있습니다. 영어 공부 열심히 하세요. ^.^;
Panda3D 라이브러리 프로젝트는 오픈소스이며, 미국 명문, 카네기 멜론 대학이 주도하고 있습니다.
공식 라이선스는 'the Modified BSD License'입니다. ^.^;
■ 매뉴얼 ::
https://docs.panda3d.org/1.10/python/introduction/tutorial/index
■ 무료 비디오 강의 ::
https://docs.panda3d.org/1.10/python/more-resources/video-lectures
■ 다운로드 A :: 직접 다운로드. 버전에 따라 주소가 달라질 수도 있음.
https://www.panda3d.org/download/panda3d-1.10.15/Panda3D-SDK-1.10.15-x64.exe
Panda3D-SDK-1.10.15-x64.exe ('=. 155 MB)
이 파일을 윈도우 탐색기에서 더블 클릭으로 실행해서 설치합니다.
■ 다운로드 B ::
# 또는 다음 주소에서도 다운로드 가능.
https://www.panda3d.org/download/sdk-1-10-15/
■ 설치법 안내 ::
설치는 의외로 간단합니다.
1) Git 허브 사이트에서 Panda 3D 프로젝트 주소를 찾고,
( 또는, 위 링크에서 다운로드 받거나,
또는, 직접 공식 사이트를 찾아가서 다운로드 받으시고 - 모든 다운로드 링크는 항상 달라질 수도 있음, )
2) 거기서 다운받은 SDK를 설치하면 거의 그것으로 끝입니다. '거의'.
3) 설치된 SDK 설치 폴더내에 있는 bin 폴더를 Windows 11 System Path에 등록합니다. 끝.
SDK를 설치한 후, 만약, 디폴트로 정해진 설치 폴더, C:\Panda3D-1.10.15-x64\에 설치했다면,
C:\Panda3D-1.10.15-x64\bin
위 폴더를 Windows OS의 시스템 Path에 추가하면 진짜 끝입니다. 아래 Notes 부분에 이 절차를 남겨둡니다.
4) Thonny에서 아래 다음 코드들로 기본적인 작동 여부를 테스트해보세요.
^.^;
2. Code
2-1. Panda3D 기본 코드
from direct.showbase.ShowBase import ShowBase
class MyApp(ShowBase):
def __init__(self):
ShowBase.__init__(self)
app = MyApp()
app.run()
2-2. 'Hello, Panda3D!' 샘플 코드
from direct.showbase.ShowBase import ShowBase
class MyApp(ShowBase):
def __init__(self):
ShowBase.__init__(self)
# Load the environment model.
self.scene = self.loader.loadModel("models/environment")
# Reparent the model to render.
self.scene.reparentTo(self.render)
# Apply scale and position transforms on the model.
self.scene.setScale(0.25, 0.25, 0.25)
self.scene.setPos(-8, 42, 0)
app = MyApp()
app.run()3. Result




■ Panda3D SDK에 포함되어 있는 다른 공식 예제들 실행 결과





4. Notes
3D 조작 방법은 대략, Blender 3D와 매우 비슷합니다. Panda 3D 매뉴얼을 이제 읽어보는 중이어서 아직 모든 조작 키들을 알지는 못합니다.
2D와 3D의 가장 큰 차이점은, 어떤 도형이 있다고 가정하면, 2D는 뒷모습을 볼 수 없는데, 3D는 '뒷통수'를 돌려서 볼 수 있다는 점입니다. 3D는 3차원 공간에 존재하는 입체 도형이라는 것이죠. 2D는 x, y 좌표 체계만 존재하는데, 3D는 x, y, z 좌표 체계가 존재합니다. FMSLogo나 Blender 3D에서 2D와 3D를 모두 경험해 봤다면 아마도 대략은 이해할 수 있을 것입니다.
다음은 Panda3D로 제작한 프로젝트의 실행 결과창에서 사용할 수 있는 3D 조작법 요약입니다. 직관적으로 알 수 있는 일부 내용만 포함되었습니다. 두 세 권 이상의 교재가 출간되어 있기는 하네요.
■ Panda3D 결과 출력창에서의 기본 조작법 몇가지. Blender 3D 단축키들과 비슷함.
1) 크기Scale(줌인, 줌아웃) : L-Ctrl Key + Mouse.L-Btn, Click and Drag.
2) 회전Rotation : L-Ctrl Key + Mouse.Wheel-Btn, Click and Drag.
■ SDK bin 폴더를 Path에 추가하는 절차
SDK를 설치한 후, 만약, 디폴트로 정해진 설치 폴더, C:\Panda3D-1.10.15-x64\에 설치했다면, C:\Panda3D-1.10.15-x64\bin
이 폴더를 Windows OS의 시스템 Path에 추가하면 됩니다.
이 절차는 다음과 같습니다. 보통은 클릭으로 진행하면 됩니다.
1) Windows 시작 버튼 > 마우스 오른쪽 버튼으로 클릭 > 시스템 > (장치사양 패널 부분에 있는..) 고급 시스템 설정 >
2) 고급 탭 > 환경 변수 > 사용자 변수 부분과 시스템 변수 부분이 있는데,
3) 아래쪽에 있는 시스템 변수 패널 부분에서 수정 작업을 합니다.
4) 시스템 변수 > Path 변수 > 편집 버튼 클릭 > 환경 변수 편집 창이 열리면, 새로 만들기 클릭.
5) 맨 아래쪽에 다음 줄을 추가하면 됩니다.
C:\Panda3D-1.10.15-x64\bin
6) 그 다음에는 '확인', 시스템 관련 모든 창을 '확인'으로 닫으시면 됩니다.
■ 매뉴얼 ::
https://docs.panda3d.org/1.10/python/introduction/tutorial/index
■ Panda3D SDK 소스 코드 :
https://github.com/panda3d/panda3d/tree/v1.10.15
https://github.com/panda3d/panda3d/archive/refs/tags/v1.10.15.zip
■ 참고 :: SDK 설치는 파이썬의 pip 모듈을 이용한 설치법으로 설치할 수도 있습니다.
pip install panda3d==1.10.15
이 방식이 더 편리할 수도. ㅡ.ㅡ; 하지만, 제 경우, SDK 파일을 직접 다운로드 받아서 탐색기에서 더블 클릭해서 설치했습니다.
■ 응용 연습 과제
1) 기본 3D 입체들을 생성하는 명령어들을 찾아보세요.
2) import 방식과 라이브러리 그 구조를 좀 더 상세하게 살펴보세요.
■ Panda3D GUI.Button 예제 (출처 : 공식 사이트) :
import direct.directbase.DirectStart
from direct.gui.OnscreenText import OnscreenText
from direct.gui.DirectGui import *
from panda3d.core import TextNode
# Add some text
bk_text = "This is my Demo"
textObject = OnscreenText(text=bk_text, pos=(0.95,-0.95), scale=0.07,
fg=(1, 0.5, 0.5, 1), align=TextNode.ACenter,
mayChange=1)
# Callback function to set text
def setText():
bk_text = "Button Clicked"
textObject.setText(bk_text)
# Add button
b = DirectButton(text=("OK", "click!", "rolling over", "disabled"),
scale=.05, command=setText)
# Run the tutorial
base.run()
■ Panda3D GUI.Entry 예제 (출처 : 공식 사이트) :
import direct.directbase.DirectStart
from direct.gui.OnscreenText import OnscreenText
from direct.gui.DirectGui import *
from panda3d.core import *
#add some text
bk_text = "This is my Demo"
textObject = OnscreenText(text=bk_text, pos=(0.95, -0.95), scale=0.07,
fg=(1, 0.5, 0.5, 1), align=TextNode.ACenter,
mayChange=1)
#callback function to set text
def setText(textEntered):
textObject.setText(textEntered)
#clear the text
def clearText():
entry.enterText('')
#add text entry
entry = DirectEntry(text = "", scale=.05, command=setText,
initialText="Type Something", numLines = 2, focus=1, focusInCommand=clearText)
#run the tutorial
base.run()
■ GUI - Korean :
위 예제 코드와 같은 방식으로 버튼과 엔트리를 만들 수 있습니다. 엔트리의 경우, 아쉽게도 한글은 지원이 안 됩니다.
영문자, 숫자, 기호들은 O.K..
■ Sound / Audio :
Panda3D SDK에는 GUI 뿐만이 아니라 Sound 모듈도 포함되어 있습니다. 게임 만들 때 제법 쓸모가 있을 것으로 보입니다.
■ 나머지 부분들은 다음 매뉴얼을 참고하세요.
https://docs.panda3d.org/1.10/python/programming/index
5. Files
대략 짧은 코드라 Thonny에서 직접 입력하시길 권장합니다만.
(출처 : 공식 사이트)
SDK(v1.10.15) 안에 샘플 프로젝트들이 제법 많이 들어 있습니다. 이들 중에서 좋아보이는 것들 몇 개만 소개합니다.
압축파일 내부에는
- Asteroids_.zip,
- Ball_in_Maze_Game_.zip,
- Chess_Board_.zip,
- Procedural_Cube_.zip,
- Roaming_Ralph_.zip
프로젝트 등, 완전하게 작동하는 다섯 개의 프로젝트 파일들이 들어 있습니다. 서로 독립적인 다섯 개의 프로젝트 파일들입니다. 이들 중에서 Ball_in_Maze_Game_.zip 프로젝트와 Roaming_Ralph_.zip 프로젝트는 꼭 시험 실행해보세요. 권장. 다른 프로젝트 파일들도 모두 모범적인 활용 사례를 잘 보여주고 있습니다.
6. Ref.
1) Panda3D 공식 매뉴얼 ::
https://docs.panda3d.org/1.10/python/introduction/tutorial/index
2) Panda3D SDK 공식 다운로드 주소 ::
https://www.panda3d.org/download/sdk-1-10-15/
3) Panda3D SDK 소스 코드 :
https://github.com/panda3d/panda3d/tree/v1.10.15
https://github.com/panda3d/panda3d/archive/refs/tags/v1.10.15.zip
4) Panda3D 무료 영상 강의 ::
https://docs.panda3d.org/1.10/python/more-resources/video-lectures
Happy Programming!
^.^;
'Programming > Python' 카테고리의 다른 글
| Python Basic : Tuple (0) | 2026.01.19 |
|---|---|
| SR 만들기 - 002 (0) | 2025.11.15 |
| Python Intro. - 001 (0) | 2025.11.02 |
| Hex File Viewer 연습 - 001 (0) | 2025.10.28 |
| 신생 언어 Mojo 소개 - 001 (0) | 2025.10.06 |