2011-02-01 6 views
21

私はどこでもこの質問に対する答えを見つけることができないようです。私はあなたがpyOpenGLまたは何かopenGLのものと同様のものを使用しなければならないことに気づいていますが、他の依存関係なしに非常に基本的な3Dグラフィックスを行うことが可能かどうか疑問に思っていました。pyGameは3Dを実行しますか?

答えて

15

いいえ、PygameはSDLのラッパーで、2D APIです。 Pygameは3D機能を提供せず、恐らく決して決してできません。

Pythonの3DライブラリにはPanda3DDirectPythonが含まれていますが、使用するのはおそらくかなり複雑ですが、特に後者の方が便利です。

+3

これについては何が間違っていますか? Pygameは3Dをしません。 PyOpenGLは3Dを行います。彼の質問を再読してください。 – Kylotan

+2

はい、私は現在3Dゲームを書いています。私はOpenGLを使っていません。 Horst JENSが投稿したような方法を使っています。 – Cnorwood7641

11

2dを行うことができれば、いつでも3dを行うことができます。すべての3Dは本当に奥行きのあるものを見ているという印象を与える2次元の面に歪んでいます。本当の疑問は、それがうまくやってくれるかどうかです。 pyGameのドキュメンテーションをしばらく閲覧した後、それはちょうどSDLラッパーのように見えます。 SDLは3Dプログラミングを目的としていないため、実際の質問に対する答えは「いいえ」です。私は試してもいないでしょう。

+3

私は試しました。実際、以前はC++でOpenGLのエミュレーション全体を書いてきました。実際の3D APIを学ぶことは、あなたが3D技術を使って何をやっているかを知るまで、もっといい考えです。 – imallett

2

Python Soyaは、Pygameサーフェス上に3Dグラフィックをレンダリングできます。

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

を、あなたがpygame.orgサイトを閲覧する場合は、Pythonで行われ、より「3D」ゲームを見つけることがあります。

6

あなただけのpygameのと(「ドゥーム」のような)擬似3Dゲームを行うことができますパイゲーム。

しかし、実際に3Dプログラミングに参加したいのであれば、OpenGl、Blender、またはその他の実際の3Dライブラリを調べる必要があります。

1

あなたは、3Dプロジェクション機能とその原料のすべてをしたい場合は、3D APIを使用する必要がありますが、あなたは、基本的な3Dの外観をしたい場合、私はピーターのウェブサイトのチュートリアルをお勧めします。http://www.petercollingridge.co.uk/pygame-3d-graphics-tutorial

0

pygameのは、本来意図していませんでした3dを行うには、2dグラフィックライブラリで3dを実行する方法があります。必要なのは、3Dポイントを2Dポイントに変換する次の機能だけです。スクリーン上に線を描いて3Dシェイプを作成できます。

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

これは、疑似3dまたは2.5dと呼ばれます。これはできますが、遅くなる可能性があり、実行が非常に難しいので、3D用のライブラリを使用することをお勧めします。

関連する問題