Tôi dường như không thể tìm thấy câu trả lời cho câu hỏi này ở bất kỳ đâu. Tôi nhận ra rằng bạn phải sử dụng pyOpenGL hoặc một cái gì đó tương tự để làm công cụ openGL, nhưng tôi đã tự hỏi nếu nó có thể làm đồ họa 3d rất cơ bản mà không có bất kỳ phụ thuộc khác.PyGame có làm 3d không?
Trả lời
Không, Pygame là trình bao bọc cho SDL, là một api 2D. Pygame không cung cấp bất kỳ khả năng 3D nào và có lẽ sẽ không bao giờ xảy ra.
Thư viện 3D cho Python bao gồm Panda3D và DirectPython, mặc dù chúng có thể khá phức tạp để sử dụng, đặc biệt là sau này.
Vâng, nếu bạn có thể làm 2ngày bạn luôn có thể làm 3d. Tất cả 3d thực sự là nghiêng 2 chiều bề mặt cho ấn tượng bạn đang nhìn vào một cái gì đó với chiều sâu. Câu hỏi thực sự là nó có thể làm tốt, và thậm chí bạn có muốn. Sau khi duyệt tài liệu pyGame một lúc, có vẻ như nó chỉ là một trình bao bọc SDL. SDL không dành cho lập trình 3D, vì vậy câu trả lời cho câu hỏi thực sự là, Không, và tôi thậm chí sẽ không thử.
Tôi đã thử. Trong thực tế, tôi đã viết một mô phỏng toàn bộ OpenGL trong C++ trước đây. Thật khó chịu và việc học một API 3D thực sự là một ý tưởng tốt hơn cho đến khi bạn biết mình đang làm gì với công nghệ 3D. – imallett
Python Đậu nành có thể hiển thị đồ họa 3D trên bề mặt pygame.
Bạn có thể làm trò chơi giả 3d (như "Doom") với chỉ pygame:
http://code.google.com/p/gh0stenstein/
và nếu bạn duyệt các trang web pygame.org bạn có thể tìm thêm "3d" trò chơi thực hiện với trăn và pygame.
Tuy nhiên, nếu bạn thực sự muốn tham gia lập trình 3D, bạn nên xem xét OpenGl, Máy xay sinh tố hoặc bất kỳ thư viện 3d thực khác nào.
Nếu bạn muốn chức năng chiếu 3D và tất cả các thứ mà bạn sẽ phải sử dụng một API 3D nhưng nếu bạn muốn làm một cái nhìn 3D cơ bản tôi khuyên bạn nên Peter Website hướng dẫn: http://www.petercollingridge.co.uk/pygame-3d-graphics-tutorial
Pygame không bao giờ được ban đầu có nghĩa để làm 3d, nhưng có một cách bạn có thể làm 3d với bất kỳ thư viện đồ họa 2d nào. Tất cả những gì bạn cần là chức năng sau, chuyển đổi điểm 3d thành 2d, cho phép bạn tạo ra bất kỳ hình dạng 3d nào bằng cách vẽ các đường thẳng trên màn hình.
def convert_to_2d(point=[0,0,0]):
return [point[0]*(point[2]*.3),point[1]*(point[2]*.3)]
Điều này được gọi là giả 3d hoặc 2.5d. Điều này có thể được thực hiện, nhưng có thể chậm và cực kỳ khó làm, do đó bạn nên sử dụng thư viện dành cho 3d.
- 1. không thể nhập khẩu pygame
- 2. Pygame, âm thanh không phát
- 3. Có thể chạy Pygame như một cronjob không?
- 4. Zend_Mail và = 0D = 0A = 3D = 3D = 3D = 3D = 3D
- 5. Không thể cài đặt Pygame bằng pip
- 6. Trò chơi được làm bằng pygame có được gửi tới Steam không?
- 7. Cách tìm đối tượng 3D có vừa với vật thể 3D khác không?
- 8. Băng chuyền 3D 3D?
- 9. Hiển thị nhiều trong Pygame
- 10. Bạn có thể sử dụng canvas.getContext ('3d') không? Nếu có, làm thế nào?
- 11. Phông chữ Unicode trong PyGame
- 12. Pygame - Độ trễ âm thanh
- 13. PyGame có độ trễ rất lớn với âm thanh phát
- 14. Lấy màu pixel ở vị trí có pygame
- 15. Làm cho phần tử dịch 3d có thể nhấp được
- 16. Làm thế nào tôi có thể xoay một mảng 3D?
- 17. pyGame trong ứng dụng pyGTK
- 18. Pygame tương đương với Ruby?
- 19. Làm cách nào để tạo các nút trong python/pygame?
- 20. Có thư viện đồ thị 3D tương tác tốt không?
- 21. Làm thế nào để hiển thị Hình ảnh trong pygame?
- 22. Hướng dẫn hiện đại, không tầm thường, Pygame?
- 23. Lỗi Pygame: Hệ thống video không được khởi tạo
- 24. Làm cách nào để trích xuất PNG có độ trong suốt lên bề mặt trong Pygame?
- 25. Làm thế nào để có được đầu vào bàn phím trong pygame?
- 26. PyGame Đặt con trỏ chuột từ Bitmap
- 27. Có điều gì tôi cần biết khi sử dụng Tkinter và pygame cùng nhau không?
- 28. Pygame và blitting: trắng trên trắng = xám?
- 29. "không có cấu trúc phù hợp trong wrapper phổ quát" khi nhập khẩu pygame
- 30. Có cách nào để kiểm soát một webcam tập trung trong pygame không?
Điều gì sai về điều này? Pygame không làm 3d. PyOpenGL làm 3d. Đọc lại câu hỏi của anh ấy. – Kylotan
Có, tôi hiện đang viết một trò chơi 3D. Và tôi thậm chí không sử dụng OpenGL. Tôi đang sử dụng một phương pháp giống như một Horst JENS được đăng. – Cnorwood7641