3ve-walker

Description

3ve est un projet open-source permettant d'éditer des éléments tridimensionnels et de les rendre dans une scène 3D.
Concètement il s'agit d'un petit langage de programmation de type "script" qui permet d'exécuter des commandes introduites par l'utilsateur dans la "command window".
Une fenêtre spéciale d'édition permet à l'utilisateur de visualiser dans les vues ZX et Ypi les éléments de la scène.
Enfin, la fenêtre 3ve-Walker permet à l'utilisateur de visualiser la scène construite et de se déplacer dedans à la manière d'un FPS.

Source / Exemple :


Les sources se trouvent le fichier 3ve-walker.zip
Le script du piano n'est pas incorporé dans les sources mais se trouve sur mon site web, ainsi que la description des commandes.
Le script du piano est un bon essai du programme.
Il suffit de l'ouvrir (File/open)
et de le lancer : presser F9.
3ve étant un interpreteur de commandes 3D basé sur un langage interpreté C# Express 2005, les performances ne sont pas vraiment terribles (en particulier si on le compare à 3D-Crade). La chute de performance se fait lors du parsing des scripts. (J'ai pourtant recopié ce code par rapport à celui écrit en Delphi 5 pour 3D-Crade). Par contre l'affichage des objets 3D est assez rapide puisqu'il est basé sur DirectX 9.
Il est possible d'améliorer les performances en utilisant directement l'exécutable, plutôt que de passer par l'IDE de C#
Faute de place sur le fichier .Zip (> 1MB), je n'ai pas pu ajouter les répertoires /bin. 
Le répertoire bin manquant est sur mon site perso au format zip.

Conclusion :


Le projet est dans un bon état d'avancement toutefois, c'est un point de départ et il reste donc un certain nombre d'améliorations à effectuer.

- Sauvegarde ou Récupération XML pour sauver ou charger des scènes 3D en tenant compte des textures.
- Ajouter le culling
- Ajout des lumières et des matériaux
- Améliorer la gestion des caméras et des déplacements dans la fenêtre Walker.
- Faire fonctionner la fenêtre d'édition en ajoutant une fonction de « picking » pour déplacer un ou un ensemble de point à la souris et déformer à volonté les surfaces crées.
- Implémenter une classe Human basée sur ce qui est utilisé dans BodySculptor mais cette fois donner une consistance et une texture en plus de la possibilité de faire bouger les rotules.
- Gérer des animations et les sauvegarder au format MD2.
- Migrer vers C++ pour avoir des performances d'exécution de script honorables.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (jyce3d)