Je n'arrive pas à trouver la réponse à cette question n'importe où. Je me rends compte que vous devez utiliser pyOpenGL ou quelque chose de similaire pour faire des choses OpenGL, mais je me demandais s'il était possible de faire des graphismes 3d très basiques sans autres dépendances.Est-ce que pyGame fait 3d?
Répondre
Non, Pygame est un wrapper pour SDL, qui est une API 2D. Pygame ne fournit aucune capacité 3D et ne le fera probablement jamais.
Les bibliothèques 3D pour Python comprennentet DirectPython, bien qu'elles soient probablement assez complexes à utiliser, en particulier ces dernières.
Eh bien, si vous pouvez faire 2d, vous pouvez toujours faire 3d. Tout ce que le 3D est vraiment est une surface bidimensionnelle faussée donnant l'impression que vous regardez quelque chose avec la profondeur. La vraie question est peut-il le faire bien, et voudriez-vous même le faire. Après avoir parcouru la documentation pyGame pendant un moment, il semble que ce soit juste un wrapper SDL. SDL n'est pas prévu pour la programmation 3D, donc la réponse à la vraie question est, non, et je n'essaierais même pas.
J'ai essayé. En fait, j'ai déjà écrit toute une émulation d'OpenGL en C++. C'est méchant, et apprendre une vraie API 3D est BEAUCOUP mieux avant de savoir ce que vous faites avec la technologie 3D. – imallett
Python Soya peut restituer des graphiques 3D sur des surfaces de pygame.
Vous pouvez faire des jeux de pseudo-3D (comme "Doom") avec pygame seulement:
http://code.google.com/p/gh0stenstein/
et si vous naviguez sur le site pygame.org vous trouverez peut-être plus "3d" jeux fait avec python et pygame. Cependant, si vous voulez vraiment entrer dans la programmation 3D, vous devriez regarder dans OpenGl, Blender ou toute autre librairie 3d réelle.
Si vous voulez que les fonctions 3D et de toutes ces choses que vous aurez à utiliser une API 3D, mais si vous voulez faire un look 3D de base que je recommande le tutoriel du site Web de Peter: http://www.petercollingridge.co.uk/pygame-3d-graphics-tutorial
Pygame n'a jamais été à l'origine signifiait pour faire 3d, mais il y a un moyen que vous pouvez faire en 3D avec n'importe quelle bibliothèque graphique 2d. Tout ce dont vous avez besoin est la fonction suivante, qui convertit les points 3d en points 2D, ce qui vous permet de créer n'importe quelle forme 3D en dessinant simplement des lignes sur un écran.
def convert_to_2d(point=[0,0,0]):
return [point[0]*(point[2]*.3),point[1]*(point[2]*.3)]
Ceci est appelé pseudo 3d, ou 2.5d. Cela peut être fait, mais peut être lent, et est extrêmement difficile à faire, il est donc conseillé d'utiliser une bibliothèque destinée à la 3D.
- 1. Que fait exactement pygame.display.set_mode()?
- 2. Que fait une 3D dans ce code HTML?
- 3. 3D. « Fait main » collines et de montagnes
- 4. comment envoyer mon jeu fait avec pygame à d'autres?
- 5. Modification d'un tableau pour que pygame blit
- 6. Que fait glLoadIdentity() en OpenGL?
- 7. Que fait Kernel.Inject (instance); fait réellement?
- 8. Unity3d 3d skybox pas tout à fait raison
- 9. Trouver l'angle fait par 3 points en 3D
- 10. Transformer fait de nouveau côté de la carte 3D cliquables
- 11. Que fait "render @collection"?
- 12. que fait l'identité @@ identity?
- 13. Que fait "mro()"?
- 14. Que fait ce code?
- 15. Que fait WT_EXECUTEINUITHREAD?
- 16. Que fait cette fonction?
- 17. IIS7 - que fait MaxProcesses?
- 18. Que fait l'opérateur =>?
- 19. Que fait Application.Run()?
- 20. Que fait ce CSS?
- 21. Que fait ce code?
- 22. que fait l'application ici?
- 23. Que fait '@' dans C#?
- 24. Que fait gobject.type_register()?
- 25. Que fait Connect.js methodOverride?
- 26. Que fait "* ptrInt ++"?
- 27. Que fait vraiment h()?
- 28. Que fait PrintStream?
- 29. Que fait CMFCButton :: EnableFullTextTooltip?
- 30. Que fait réellement StreamingContextStates.Clone?
Qu'est-ce qui ne va pas? Pygame ne fait pas 3d. PyOpenGL fait 3d. Relis sa question. – Kylotan
Oui, je suis en train d'écrire un jeu en 3D. Et je n'utilise même pas OpenGL. J'utilise une méthode comme celle publiée par Horst JENS. – Cnorwood7641