Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
soya_3d [Le 28/11/2010, 11:42] 173.227.76.25 lyTxprlcmQqIt |
soya_3d [Le 11/09/2022, 11:41] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | P9Y8C8 <a href="http://lypmfpgixblg.com/">lypmfpgixblg</a>, [url=http://dsldgsnlwlmp.com/]dsldgsnlwlmp[/url], [link=http://zvhkuhpjfbkf.com/]zvhkuhpjfbkf[/link], http://lufgjjkohble.com/ | + | {{tag>jeu programmation BROUILLON}} |
+ | |||
+ | ---- | ||
+ | |||
+ | ====== Soya 3D ====== | ||
+ | |||
+ | ===== 1. Présentation ===== | ||
+ | |||
+ | 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. | ||
+ | |||
+ | ===== 2. Fonctionnalités ===== | ||
+ | Fonctionnalités implémentées: | ||
+ | |||
+ | * Multi-plateform : Linux / Unix, MacOSX, Windows | ||
+ | * Object model, including camera, light, world, volume,... | ||
+ | * Cell-shading | ||
+ | * Shadows | ||
+ | * Particle systems | ||
+ | * Fullscreen | ||
+ | * Tutorials and demos included | ||
+ | * Trees | ||
+ | * Raypicking | ||
+ | * Landscapes | ||
+ | * 3D character animation (with Cal3D) | ||
+ | * Exportation scripts for Blender, Obj/Mtl, Maya and 3DSmax | ||
+ | * Event management (keyboard, mouse,...) | ||
+ | * Environment mapping | ||
+ | |||
+ | Fonctionnalités spécifiques de Soya (habituellement non présentes dans la plupart des autres moteurs 3D): | ||
+ | |||
+ | * Soya takes care of coordinate system conversion automatically! | ||
+ | * Soya imports Blender models automatically! | ||
+ | * Soya automatically regulate the rendering speed by modifying the animation quality! | ||
+ | * Soya is able to determine automatically which objects are static, and to optimize their rendering! (work in progress) | ||
+ | * Soya's object, including the ones you may create using inheritance, can be saved without writing additional code, using serialization (Pickle or Cerealizer)! | ||
+ | |||
+ | |||
+ | ===== 3. Exemple de code ===== | ||
+ | {{basic-1.jpeg|}} | ||
+ | |||
+ | # 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() | ||
+ | |||
+ | ===== 4. Jeux développé avec Soya 3D ===== | ||
+ | Voir cette adresse : http://www.lesfleursdunormal.fr/static/informatique/soya3d/projects_using_soya_en.html | ||
+ | ===== 5. Tutoriaux ===== | ||
+ | Voir cette adresse : http://home.gna.org/oomadness/en/soya3d/tutorials/index.html | ||
+ | |||
+ | ===== 6. Site officiel (anglais) ===== | ||
+ | http://www.lesfleursdunormal.fr/static/informatique/soya3d/index_en.html |