Récemment, pendant mes pauses sur Arkeos/3Arks, j'ai réfléchi à l'élaboration d'un petit éditeur de Scene pour des jeux 3D.
J'ai donc voulu tester rapidement la création de ce genre d'outil.
Mise à jour : 10/05/2012
Screenshots

Pour la version Finale
rouge : ce n'est pas encore intégré
Bleu : c'est en cours
noir : c'est ok (à tester)
En cours ou déjà opérationnel :
- sélectionner, déplacer, transformer des entitys (objets 3D)
- ajouter / supprimer tout type d'objet : objet3D, lights, water, terrain,caméra, fx..
- d'organiser rapidement une scène ou un level de jeu (3D)
- importer des meshs/textures/materials pour les utiliser dans la scène
- changer le material d'un mesh ou les textures
- sauvegarder/ouvrir, importer, modifier une scène
- exporter certains objets uniquement
Pas encore intégré :
- créer, modifier, appliquer un/des shaders (materiaux)
- ajouter un post-fx (specialeffect)
- ajouter/ modifier des modules de gameplays (ou plutôt des objets pour le gameplay) : PNJ, téléporteur, coffre, objets bloquants, objet avec physique
- gérer la physique
- tester le niveau créé
Fonctions actuelles
Voici donc un premier essai sans prétention, mais je pense que ce genre d'outil serait très intéressant pour concevoir des jeux 3D

Sauvegarder/ ouverture de fichier
Remarque 1 :
- c'est en cours de développement. Pour le moment, je ne sauvegarde que quelques paramètres pour les objets3D (position/rotation/scale,nom du mesh et material, castshadow) et pour les lights (couleur (dif, spec), ombre, position).
- je dois ajouter la création de la librairie de mesh, texture, material de la scène. Je ne sais pas encore si je vais faire comme ça ou autrement
Voici ce que l'on peut faire :
- sauvegarder une scène (non terminée, mais bien avancée)
- ouvrir une scène (non terminée mais bien avancée)
- importer une scène dans la scène existante (mixer plusieurs scène par exemple, ou importer des groupes d'objets si on a bien créer ça) (non terminé)
- nettoyer une scène (supprimer tous les objets)
Remarque 2 :
- j'ai choisi délibérément un format de sauvegarde en texte très simple. Cela peut permettre pour ceux qui le souhaitent de se créer un convertisseur de format très facilement.
- il est possible que par la suite j'ajoute la possibilité d'ajouter son propre format d'import si j'y arrive ^^.
Exemple de format de sortie :
Code : Tout sélectionner
Obj/0/-243/0/0/
Light/0/-35/346/100/4227327/0/1/
ligne 2 : c'est une light/type de light/x/y/z/colordiffuse/color spec/shadow/
Création d'objet
on peut ajouter :
- des sphères, cube, plane. On peut définir le nombre de répétitions de la texture sur le plane (pour un sol par exemple).
- des objets mesh depuis la bibliothèque (je vais revoir le système pour aller les chercher directement dans le dossier que l'on souhaite, plutôt que de passer par une banque d'objet).
- ajouter un skydom, une skybox, un fog, changer la couleur ambient.
Transformations
On peut :
- déplacer la caméra (rotation, position, fov)
- changer de caméra (touche numpad0 et 7) : en attente de la correction d'un bug sur le mode de projection et les rotations (en Y).
- sélectionner un objet (entity) avec le clic droit, et ensuite on peut effectuer une transformation avec R (rotation), G (changer la position), et S (changer la taille), soit avec les flèches du clavier soit en bougeant la souris (comme blender). Il est possible de limité la transformation à un axe(touche X, Y, Z) ou 2 axes(touche Ctrl+X (axe ZY), ctrl+Y (axe XZ), ctrl+Z (axe XY). Pour limiter les axes, on peut aussi sélectionner ça dans le combobox du panel option
- le cacher (checkbox provisoire : cacher l'objet ou touche H)
- révéler tous les objets cachés (menu "object/unhide all")
- ajouter des objets en appuyant sur A. Ils se créent en (0,0,0). Pour charger un nouvel objet, il suffit de le choisir dans le menu bank.
- supprimer un objet : touche Del s'il est sélectionné.
- duppliquer un/des meshs sélectionnés : touche shift+D après avoir sélectionné les meshs (clic +shift)
Changer les paramètres des objets
Il est possible de :
- changer le material : cliquer sur le bouton "load material" (panneau objet)
- modifier les options de l'objet : cast shadow
- modifier les options des lights : couleur diffuse & spéculaires, shadow
- modifier les options de la caméra : fov, centrée sur l'objet sélectionnée, mode orthogonal (désactivé pour l'instant à cause du bug)
Le World
On peut :
- ajouter un skydom, une skybox, un fog (en changeant les paramètres)
- changer l'ambient color
- cacher les lumières
Options
Le menu Option/préférences permet de :
- changer la vitesse de zoom (molette souris sur la view 3D)
- changer le type d'ombres projetées
- changer l'axe de transformations des objets
Prochainement :
- activer le magnétisme sur une grille
- changer la dimension de cette grille
remarques
Les déplacements de caméra se font comme dans Lightwave ou blender :
- bouger la caméra : on peut faire un zoom (molette souris), faire une rotation de la camera (move mouse) ou déplacer la caméra (shift + move mouse)
Téléchargement
http://blendman.free.fr/dev/pb/editor/A ... itor3D.zip
Si certains sont intéressés par le code, je peux le poster, mais pour le moment, il est un peu mal fichu (j'ai fait ça très rapidement ^^).