Soya 3D est un moteur 'haut niveau' orienté objet pour Python. On pourrait dire que Soya est à la 3D, ce que python est à la programmation. Soya 3D a pour principale qualité de permettre un développement rapide de jeux ou d'application 3D, le tout en Python.
Soya 3D est simple à apprendre et donne de bonnes performances. Son principal avantage est de mettre à disposition une documentation relativement importante de tutoriaux et d'exemples, facilitant ainsi l'apprentissage.
Soya 3D offre les principales capacités que l'on peut attendre d'un moteur 3D comme la gestion basique de scène, cell-shading, système d'ombrage, système de particule, etc. Ainsi que certaines caractéristiques uniques visant à rendre le développement de jeux plus facile et plus rapide.
Soya est un Logiciel libre sous licence GNU GPL et est écrit en Pyrex ( un mix de C et de Python) et Python.
Fonctionnalités implémentées:
Fonctionnalités spécifiques de Soya (habituellement non présentes dans la plupart des autres moteurs 3D):
# Imports sys, os modules and the Soya module. import sys, os, os.path, soya # Initializes Soya (creates and displays the 3D window). soya.init() # Add the path "tutorial/data" to the list of soya data path. soya.path.append(os.path.join(os.path.dirname(sys.argv[0]), "data")) # Creates a scene. scene = soya.World() # Loads the sword model (from file "tutorial/data/models/sword.data"). sword_model = soya.Model.get("sword") # Create the model. sword = soya.Body(scene, sword_model) # To view it better, we moves the sword to the right. sword.x = 1.0 # Rotates the sword on the Y axis, of 60.0 degrees. sword.rotate_y(90.0) # Creates a light in the scene. light = soya.Light(scene) light.set_xyz(0.5, 0.0, 2.0) # Creates a camera in the scene camera = soya.Camera(scene) camera.z = 2.0 # Say to Soya that the camera is what we want to be rendered. soya.set_root_widget(camera) # Creates an 'MainLoop' for the scene, and launch it. soya.MainLoop(scene).main_loop()
Voir cette adresse : http://www.lesfleursdunormal.fr/static/informatique/soya3d/projects_using_soya_en.html
Voir cette adresse : http://home.gna.org/oomadness/en/soya3d/tutorials/index.html