2011-02-01 13 views
21

मुझे इस सवाल का जवाब कहीं भी नहीं मिल रहा है। मुझे एहसास है कि आपको pyOpenGL या ओपनजीएल सामान के समान कुछ उपयोग करना है, लेकिन मैं सोच रहा था कि क्या यह किसी भी अन्य निर्भरताओं के बिना बहुत बुनियादी 3 डी ग्राफिक्स करना संभव है।क्या pyGame 3 डी करता है?

उत्तर

15

नहीं, पायगम एसडीएल के लिए एक रैपर है, जो 2 डी एपीआई है। Pygame कोई 3 डी क्षमता प्रदान नहीं करता है और शायद कभी नहीं होगा।

पायथन के लिए 3 डी पुस्तकालयों में Panda3D और DirectPython शामिल हैं, हालांकि वे शायद उपयोग करने के लिए काफी जटिल हैं, खासकर उत्तरार्द्ध।

+3

इस बारे में क्या गलत है? Pygame 3 डी नहीं करता है। PyOpenGL 3 डी करता है। अपना प्रश्न दोबारा पढ़ें। – Kylotan

+2

हां, क्या मैं वर्तमान में एक 3 डी गेम लिख रहा हूं। और मैं ओपनजीएल का उपयोग भी नहीं कर रहा हूं। मैं एक हॉस्ट जेएनएस पोस्ट की तरह एक विधि का उपयोग कर रहा हूँ। – Cnorwood7641

11

अच्छा, अगर आप 2 डी कर सकते हैं तो आप हमेशा 3 डी कर सकते हैं। सभी 3 डी वास्तव में 2 आयामी सतहों को छिड़काव है जो इंप्रेशन देते हैं कि आप गहराई से कुछ देख रहे हैं। असली सवाल यह है कि यह अच्छा कर सकता है, और आप भी चाहेंगे। थोड़ी देर के लिए pyGame दस्तावेज ब्राउज़ करने के बाद, ऐसा लगता है कि यह सिर्फ एक एसडीएल रैपर है। एसडीएल 3 डी प्रोग्रामिंग के लिए नहीं है, इसलिए असली सवाल का जवाब है, नहीं, और मैं भी कोशिश नहीं करता।

+3

मैंने कोशिश की है। असल में, मैंने सी ++ में ओपनजीएल का पूरा अनुकरण लिखा है। यह बुरा है, और एक असली 3 डी एपीआई सीखना एक बहुत अच्छा विचार है जब तक आप यह नहीं जानते कि आप 3 डी तकनीक के साथ क्या कर रहे हैं। – imallett

2

पायथन सोया पिगमेम सतहों पर 3 डी ग्राफिक्स प्रस्तुत कर सकता है।

6

आप केवल pygame के साथ ("कयामत" की तरह) छद्म 3 डी का खेल कर सकते हैं:

http://code.google.com/p/gh0stenstein/

और यदि आप pygame.org साइट ब्राउज़ आप और अधिक मिल सकता है अजगर के साथ किया "3 डी" खेल और पायगम।

हालांकि, यदि आप वास्तव में 3 डी प्रोग्रामिंग में जाना चाहते हैं तो आपको ओपनजीएल, ब्लेंडर या किसी अन्य वास्तविक 3 डी lib में देखना चाहिए।

1

आप 3 डी प्रक्षेपण कार्यों चाहते हैं और है कि सामान के सभी आप एक 3 डी एपीआई का उपयोग करना होगा, लेकिन मेरा सुझाव है पीटर वेबसाइट ट्यूटोरियल अगर आप एक बुनियादी 3D देखो क्या करना चाहते हैं: http://www.petercollingridge.co.uk/pygame-3d-graphics-tutorial

0

pygame का मूल अर्थ कभी नहीं किया गया था 3 डी करने के लिए, लेकिन एक तरीका है कि आप किसी भी 2 डी ग्राफिक्स लाइब्रेरी के साथ 3 डी कर सकते हैं। आपको केवल निम्नलिखित फ़ंक्शन की आवश्यकता है, जो 3 डी पॉइंट्स को 2 डी पॉइंट्स में परिवर्तित करता है, जो आपको स्क्रीन पर लाइनों को रेखांकित करके कोई 3 डी आकार बनाने की अनुमति देता है।

def convert_to_2d(point=[0,0,0]): 
    return [point[0]*(point[2]*.3),point[1]*(point[2]*.3)] 

इसे छद्म 3 डी, या 2.5 डी कहा जाता है। यह किया जा सकता है, लेकिन धीमा हो सकता है, और यह करना बहुत मुश्किल है, इसलिए यह सुझाव दिया जाता है कि आप 3 डी के लिए लाइब्रेरी का उपयोग करें।