29 พฤศจิกายน 2558

Published 11/29/2558 by with 0 comment

สร้างเกมด้วย Panda3D ในภาษาไพทอน

สวัสดีผู้อ่านทุกท่านครับ บทความนี้ผมจะขอแนะนำการสร้างเกมด้วย Panda3D ในภาษาไพทอนกันครับ

Panda3D เป็น Game Engine แบบ 3D เขียนด้วยภาษาซี และมี bindings สำหรับภาษาไพทอน จึงสามารถใช้ภาษาไพทอนสร้างเกมและโปรแกรมด้าน 3D ได้

Panda3D สนับสนุนการสร้าง shader อัตโนมัติ ทำให้สามารถใช้ normal maps, gloss maps, glow maps, HDR, cartoon shading โดยไม่ต้องเขียน shader ใด ๆ และสนับสนุนฟังก์ชันขั้นสูงอย่าง shaders, stencil, และ render-to-texture

  • Panda3D สามารถใช้งานได้ทั้ง Windows, Linux, หรือ OSX

  • ใช้ Modified BSD License (http://www.opensource.org/licenses/BSD-3-Clause)

  • รองรับทั้ง Python 2.7 และ Python 3.4 , Python 3.5 (Python 3 เร็ว ๆ นี้ ใน Panda3D เวชั่นเสถียร 1.10.0)


การติดตั้ง Panda3D SDK


Windows


สำหรับ Python 2.7 ใน Windows
สามารถโหลดไฟล์ติดตั้งได้จาก https://www.panda3d.org/download.php?sdk โดยเลือกรุ่น Python 2.7 ให้ตรงกับเวชั่นที่ใช้ เช่น ถ้าใช้ Python 2.7 64 bit เลือกโหลดไฟล์ Panda3D-SDK-X.X.X-x64.exe มาแล้วทำการติดตั้ง

สำหรับ Python 3 ใน Windows
เนื่องจากตอนนี้ Panda3D 1.10 กำลังอยู่ในช่วงกำลังพัฒนา แต่เราสามารถโหลดเวชั่นสำหรับนักพัฒนามาลองใช้งานกันดูก่อนเวชั่นเสถียรออกมาได้
สามารถโหลดได้จาก https://www.panda3d.org/download.php?platform=windows&version=devel&sdk ให้ตรงกับเวชั่นที่ใช้ เช่น ถ้าใช้ Python 3.4 64 bit เลือกโหลดไฟล์ Panda3D-SDK-1.10.0pre-c93e50c-py3.4-x64.exe มาแล้วทำการติดตั้ง

ภาพหน้าจอ (614) ภาพหน้าจอ (615) ภาพหน้าจอ (618) ภาพหน้าจอ (620)




สำหรับ Debian/Ubuntu


Python 2.7
สามารถโหลดไฟล์ .deb มาติดตั้งให้ตรงกับ Ubuntu เวชั่นที่ใช้งานอยู่ ได้จาก https://www.panda3d.org/download.php?sdk
Python 3
เลือกโหลดไฟล์ .deb มาติดตั้งให้ตรงกับ Ubuntu เวชั่นที่ใช้งานอยู่ ได้จาก https://www.panda3d.org/download.php?sdk&version=devel




ตัวอย่างโค้ด Panda3D กับภาษาไพทอน


Hello World

[python]
from direct.showbase.ShowBase import ShowBase

class MyApp(ShowBase):
def __init__(self):
ShowBase.__init__(self)

app = MyApp()
app.run()[/python]

ผลลัพธ์

ภาพหน้าจอ (623)

ตัวอย่างจากเว็บ https://www.panda3d.org/manual/index.php/Loading_the_Grassy_Scenery

[python]
from direct.showbase.ShowBase import ShowBase

class MyApp(ShowBase):

def __init__(self):
ShowBase.__init__(self)

# Load the environment model.
self.environ = self.loader.loadModel("models/environment")
# Reparent the model to render.
self.environ.reparentTo(self.render)
# Apply scale and position transforms on the model.
self.environ.setScale(0.25, 0.25, 0.25)
self.environ.setPos(-8, 42, 0)


app = MyApp()
app.run()[/python]

ผลลัพธ์

ภาพหน้าจอ (626) ภาพหน้าจอ (625) สร้างเกมด้วย Panda3D ในภาษาไพทอน

อ่านเอกสารการใช้งานได้จาก https://www.panda3d.org/manual/index.php/A_Panda3D_Hello_World_Tutorial

มาร่วมกันลงชื่อเพื่อส่งพลังลดภาวะโลกร้อนกันครับ #‎OursToLose‬



ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)