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 | ||