Editeur de Scène 3D (ou 3Dmap Editor)

Généralités sur la programmation 3D
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Editeur de Scène 3D (ou 3Dmap Editor)

Message par blendman »

salut

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


Image


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 1 : c'est un objet/id du mesh (à compléter par rapport à un fichier bibliotheque)/x/y/z/
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 ^^).
Dernière modification par blendman le mar. 15/mai/2012 10:36, modifié 8 fois.
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par graph100 »

si tu fais un truc avec des post-fx et autres, ca veux dire que le format de fichier est spécifique à ton logiciel non ?
(ca n'est pas un point négatif, simplement, il faut le prévoir pour les programmeurs, et permettre de l'intégré rapidement à un prog

bon boulot sinon ^^
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par comtois »

Tu peux aussi jeter un oeil du côté de ogitor, ça peut t'inspirer, ou tu peux aussi le trouver suffisant pour ton usage.

Apparemment il est possible de créer ses propres plugins pour l'export et l'import d'une scène, je n'ai pas regardé comment faire, mais ça pourrait être intéressant pour développer rapidement une scène pour PureBasic.
The default scene description format is the XML based ".ogscene" format but of course it is possible to provide and use custom importer/exporter plugins as well.
[EDIT]
Voila la doc pour les plugins, avis aux amateurs !

https://bitbucket.org/jacmoe/ogitor/wik ... _Interface

Je crois que ce n'est pas gagné, c'est mieux que tu fasses ton propre éditeur finalement :)
Dernière modification par comtois le mer. 25/avr./2012 20:09, modifié 2 fois.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
Atlante
Messages : 337
Inscription : mer. 29/juin/2011 18:35
Localisation : Paris

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par Atlante »

blendman a écrit :salut

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.

Fonctions

Avec ce genre d'outil, on devrait être capable :
- d'organiser rapidement une scène ou un level de jeu (3D)
- de sélectionner, déplacer, transformer des entitys (objets 3D)
- d'importer des meshs/textures/matérials pour les utiliser dans la scène
- de sauvegarder/ouvrir, importer, modifier une scène
- d'ajouter / supprimer tout type d'objet (caméra, objet3D, lights, fx..)

On pourra peut être aussi faire ça :
- créer, modifier, appliquer un/des shaders (materiaux)
- ajouter un post-fx (specialeffect)
- ajouter/ modifier des modules de gameplays

1ère version
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 :).

Pour le moment, il n'y a pas grand chose à faire avec :
- on peut déplacer la caméra (rotation, position, fov), changer de caméra (touche numpad0 et 7)
- on peut 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), puis avec les flèches du clavier.


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)

Et c'est à peu près tout, mais l'idée y est :).
Voilà, ce n'est qu'un premier test, mais de temps en temps, lorsque je ferai des petites pauses , j'essayerai de l'améliorer.

Téléchargement

http://blendman.free.fr/dev/pb/editor/A ... Editor.zip

Si je trouve un peu de temps, j'essaierai d'ajouter quelques fonctions comme sauvegarder/charger un level, importer des meshs/créer des entités, ajouter des lights, etc..

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 ^^).
Mdr ;) Je planche dessus depuis un moment.
Pour être franc tu as fais des choses comme moi (clic droit de sélection). Comme je te l'ai dit je suis encore sur papier mais je m'inspire de Blender ;)
Peut-on envisager se faire un projet commun, et pourquoi pas pour le forum ?
Par contre niveau interface je pense plutôt utiliser les gadget3d.
Même si je pense qu'en 3d je dois être un de membres les moins calés. Mes seuls connaissances datent de DBpro pour ceux qui connaissent.
Modérateur
Config : Intel I5 4670K, Nvidia Geforce GTX 1060, 16go RAM, SSD 256go, DD 2000go
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par blendman »

salut

J'ai mis une nouvelle version à tester.

Les nouveautés :
- vous pouvez créer des entity à la volée (anppuyant sur A (temporaire)). pour le moment, elles se créent toutes en (0,0,0), donc, faut les bouger ensuite (raccourcis R puis flèches après avoir sélectionné l'objet en cliquant droit dessus (comme dans blender)).
- j'ai ajouté 2 objets : robot001 et robot002. Pour changer d'objet, il suffit d'aller dans le menu "bank", et de sélectionner celui qu'on veut. Pour le moment, c'est un système un peu bilouteux, je réfléchis à trouver un autre système que celui-ci, mais bon, ça fonctionne.
- j'ai commencé l'ajout de la sauvegarde, mais ce n'est pas terminé du tout ^^.
- j'ai ajouté le fait de cacher un objet sélectionné et "dé-cacher" tous les objets (menu "object")

Toujours le même lien :
http://blendman.free.fr/dev/pb/editor/A ... Editor.zip
Je crois que ce n'est pas gagné, c'est mieux que tu fasses ton propre éditeur finalement :)
J'ai regardé et effectivement, je crois que c'est quand même beaucoup plus simple de faire mon propre éditeur ^^.
de plus, rien n'empêche de sortir en format pour ogre (.scene) ;)
graph100 a écrit :si tu fais un truc avec des post-fx et autres, ca veux dire que le format de fichier est spécifique à ton logiciel non ?
heu, pas forcément. Ce sera peut être compatible (exportable) pour Ogre, ou un autre format.
Mais disons qu'à la base, je le fais avec la possibilité de l'utiliser dans un jeu, donc avec un format lisible par le moteur de jeu oui.
Cela dit, rien n'empêche d'avoir d'autres formats d'export, comme pour ogre (.sc..)
(ca n'est pas un point négatif, simplement, il faut le prévoir pour les programmeurs, et permettre de l'intégré rapidement à un prog
qu'entends-tu par 'lintégrer rapidement à un prog" ?

Atlante a écrit :Pour être franc tu as fais des choses comme moi (clic droit de sélection). Comme je te l'ai dit je suis encore sur papier mais je m'inspire de Blender ;)
j'ai pris pour le moment tous les raccourcis de blender, car à l'utilisation c'est hyper pratique et très pro ^^. faut dire que je suis un grand utilisateur de blender.
D'ailleurs, les raccourcis sont proches dans Lightwave aussi ^^.
Peut-on envisager de faire un projet commun, et pourquoi pas pour le forum ?
En fait, je pensais vendre mon éditeur de scène avec un template de jeu pour 2000 $..
Je rigole :mrgreen: .. quoique ... :D

Sérieusement, ce genre d'initiative serait très intéressante et on pourrait envisager de faire un truc commun.
J'avais même pensé le donner à Fred si ça l'intéressait (l'exe et le code pour peu que ce ne soit pas trop mauvais ^^). enfin, une fois qu'il sera un peu avancé.
En l'état, mon code ferait peur à un mamouth, mais je peux te filer ce qui t'intéresse si tu veux (j'imagine le système pour bouger la vue peut être).
Par contre niveau interface je pense plutôt utiliser les gadget3d.
J'y avais pensé, mais j'ai l'impression que c'est beaucoup moins pratique en testant ;).
Je trouve les gadgets par fenêtre plutôt intéressant, on a accès aux panels, etc..
A voir, et à retester ^^
Même si je pense qu'en 3d je dois être un de membres les moins calés. Mes seuls connaissances datent de DBpro pour ceux qui connaissent.
Dbpro reste encore pas trop mal (shaders, post-fx..).
Ce serait cool qu'on ait ça facilement utilisable en pure, car là, ça ne marche plus trop hélas (specialeffect) et les shaders je ne sais pas si ça fonctionne correctement.

Il faudrait des exemples en pure avec quelque shaders (réflection, lumière speculaires, fresnel, envmap, refraction, normal map, emission de lumière, etc..) :D
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par Cool Dji »

Oki,
Bonne idée Blendman, ton concept est interessant.
Un des éléments importants dans un éditeur 3D est de pouvoir coller parfaitement des objets les uns aux autres.
En ce sens une fonction magnétisme est bien utile.

Pour ce faire, j'exporte un mesh en .mesh (pour le charger avec loadmesh) et en .xml pour charger dans un tableau les coordonnées de tous les points composant le mesh. Avec ces coordonnées des points des entitys je peux donc coller parfaitement les tuiles d'Entitys les unes aux autres, les aligner, les faire pivoter...
En revanche, je n'ai pas encore introduis de fonction scaleEntity car ça perturbe les points que j'utilise pour le magnétisme (ça marche déjà pour les rotations, c'est déjà ça)

J'ai travaillé sur un palais antique avec colonne, frise, fronton que j'assemble les uns aux autres.
Je peux coller des textures différentes sur un même mesh.
Je fais toute la préparation avec l'UvEditor de DEled3D et je retravaille ensuite mes textures avec Photoshop.

J'ai bien avancé sur un éditeur3D et un player3D. Mais je ne produis rien en ce moment : je bosse la journée, le soir je donne des cours et la semaine prochaine je serai au bord de la mer :D

Mais en tous les cas, l'effet est là et ça marche du tonnerre...je posterai un topic de retour de vacances !
Evidement, entre faire un editeur à soi et un éditeur utilisable par tout le monde il ya un travail énorme d'ergonomie.
Ton système d'écran est très pratique ! Bravo !
Only PureBasic makes it possible
kelebrindae
Messages : 579
Inscription : ven. 11/mai/2007 15:21

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par kelebrindae »

C'est marrant, je crois qu'on a plus ou moins tous une version d'éditeur dans ses cartons, avec chacun une approche différente.
La mienne est ici (en 4 morceaux de 2.5 Mo, parce que mon FTP me faisait des misères):
http://keleb.free.fr/codecorner/downloa ... .part1.rar
http://keleb.free.fr/codecorner/downloa ... .part2.rar
http://keleb.free.fr/codecorner/downloa ... .part3.rar
http://keleb.free.fr/codecorner/downloa ... .part4.rar

Ce n'est pas très abouti, mais voilà un résumé:
- Les objets (ou Tiles) sont répartis en catégories: murs droits, coins, coins avec porte, accessoires...
- Une fois la catégorie choisie, on choisit un objet dans une liste (avec des vignettes, pour simplifier);
- Par défaut, les objets sont posés sur une grille (ce qui simplifie l'alignement) mais peuvent être déplacés ou orientés plus finement;
- Par défaut, la vue est en "pseudo-2D" (vue du dessus alignée sur la grille) pour faciliter le placement des objets, mais on peut passer en "free view" en appuyant sur "F2";
- On peut tester le niveau directement depuis l'éditeur (touche "T");
- La touche "F1" affiche un message d'aide avec les touches utilisées.
- J'ai fourni deux niveaux sauvegardés pour que vous puissiez tester (chargement via le menu)

Bon, ça répond à un besoin très spécifique, il y a plein de trucs pas finis, et le code fait peur à voir, mais si vous êtes curieux ça peut peut-être vous donner des idées... :wink:

Image
A+
Les idées sont le souvenir de choses qui ne se sont pas encore produites.
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par blendman »

kelebrindae : tu pourrais reuploader tes 3 derniers fichiers, car les archives sont corrompues ;) ?

Ton éditeur a l'air très sympa, et c'est dommage car effectivement beaucoup de personne font un éditeur dans leur coin, ça pourrait être vraiment intéressant qu'il y ait une sorte d'éditeur pour purebasic un peu "officiel" avec plusieurs possibilités :)

[edit]
Bon, j'ai pu le tester.
C'est pas mal, mais niveau ergonomie, c'est à revoir, hein ;). Déplacer la map avec les boutons à droite, alors qu'on peut le faire avec la souris ou directement avec les flèches ce serait mieux. Pouvoir sélectionner le block directement et le supprimer, le bouger, etc, ce serait aussi plys sympathique :D.

Cela dit, il ya des trucs plutôt sympa, alors, je vais voir si tu me le permets si je ne vais par récupérer quelques idées pour le mieux ;).
[/edit]


Cooldji : pour le magnétisme, je verrais si j'y arrive. je ferai déjà un magnétisme par rapport à une grille (5X5, 2X2, etc..) qu'on pourra définir nous-même, ce sera déjà ça ^^.
Mais pour un magnétisme au vertex préès, là, je crois que ça risque de dépasser mes compétences : :mrgreen:

News
Sinon, j'ai mis à jour mon éditeur :
- on voit désormais les informations de l'entité sélectionnée (nom, position, rotation) - pas terminée
- on peut ajouter une light (mais je ne sais pas pourquoi on ne voit pas de lumière...)
- j'ai ajouté un fichier de préférence qui sauvegarde la position de la caméra de base
- on peut faire un reset de cette caméra
- j'ai ajouté un rendermode wireframe, ainsi que la possibilité d'afficher les ombres dans le world (marche non plus, tiens)
- j'ai ajouté une grille (pour le moment, j'utilise un plan avec une texture de grille, c'est plus rapide. je pourrais utiliser des lines3D, mais ça ferait beaucoup d'entité d'ajouter pour ça je trouve, je verrai si je trouve une autre méthode ^^).

Toujours le même lien :
http://blendman.free.fr/dev/pb/editor/A ... Editor.zip
kelebrindae
Messages : 579
Inscription : ven. 11/mai/2007 15:21

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par kelebrindae »

blendman a écrit :niveau ergonomie, c'est à revoir, hein ;)
Ah ça, j'avais prévenu :P Comme je n'avais pas prévu de le diffuser un jour, je ne me suis pas trop soucié de la prise en main. (En même temps, quand tu prends Blender comme référence... :wink: )

Pour tes soucis de lumière, je vois deux possibilités:
- Que tu ne "vois" pas la lumière (la source lumineuse) elle-même, c'est normal; si tu veux la matérialiser, tu peux créer un billboard avec une texture genre "flare" à l'emplacement de la lumière;
- Que la lumière n'ait pas d'effet sur les objets, je dirais que c'est soit parce que l'AmbientColor est trop élevé, soit que le material ne prend pas l'éclairage en compte (sans le source c'est difficile à dire, mais je pencherais plutôt pour la première hypothèse).

@Cool Dji:
Ton éditeur a l'air très sympa; j'attends le post avec impatience!
Les idées sont le souvenir de choses qui ne se sont pas encore produites.
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par blendman »

kelebrindae a écrit :En même temps, quand tu prends Blender comme référence... :wink: )
En fait, blender est à l'utilisation certainment l'un des modeleur 3D les plus agréable et les plus rapide à utiliser de manière professionnelle.
J'ai bossé avec lightwave et 3smax (et testé d'autres comme cinema4D) et blender est celui qui permet d'aller le plus vite dans certains domaines avec certains outils :)
De plus, lightwave a les mêmes raccourcis que blender sur la vue 3D :D.
Pour tes soucis de lumière, je vois deux possibilités:
- Que tu ne "vois" pas la lumière (la source lumineuse) elle-même, c'est normal; si tu veux la matérialiser, tu peux créer un billboard avec une texture genre "flare" à l'emplacement de la lumière;
yep, j'ai prévu de faire ça, histoire de pouvoir les déplacer, les sélectionner, etc..
- Que la lumière n'ait pas d'effet sur les objets, je dirais que c'est soit parce que l'AmbientColor est trop élevé, soit que le material ne prend pas l'éclairage en compte (sans le source c'est difficile à dire, mais je pencherais plutôt pour la première hypothèse).
et tu as gagné j'avais mis une ambientColor à #white, forcément, les Lumières ne produisaient aucun effet :D.

C'est corrigé et c'est hyper mieux :D
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par Cool Dji »

Hello,

C'est clair que ya plein de trucs communs entre nos outils.
Bravo Kelebrindae, les jointures sont nickels : je me souviens du post et du concours de Blendman sur Blender :D

Dans mon éditeur, on se deplace comme dans le jeu et on pose les éléments au fur et à mesure. C'est peut-être moins ergonomique que l'éditeur de Kelebrindae mais je n'ai pas besoin de tester après...Ensuite, ce n'est pas un outil qui sera diffusé (travail trop lourd) et maintenant, j'ai bien l'habitude et je vais très vite pour construire des décors (il ne manque que les tuiles finalement).

L'objet le plus proche peut être sélectionné (déplacement, rotation, suppression) : je vais ajouter la possibilité de changer de texture.

Je travaille sur la possibilité de construire des entitys sur mesure qui permettront de boucher les trous entre les tuiles. En ce sens, connaitres les coordonnées de tous les vertex est hyper pratique.

Après les vacances (6 mai), je posterai des sources et notamment sur le magnétisme...
Only PureBasic makes it possible
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par graph100 »

franchement, tout ces boulots, c'est impressionnant. Je ne touche à la 3D, mais ça donne vraiment envie de s'y coller ^^

Sinon, avec tout ces éditeurs, personne n'a fait un truc qui génère des tuiles de mur (par exemple) de façon à ce qu'elles soient différentes, mais qu'elles se touchent entre elles ?

@BlendMan : je n'avais pas compris ce que tu entendais pas post-FX, ton autre post à éclairé un minimum mon entendement de la chose, merci ;)
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par blendman »

yop

Voici une nouvelle version, avec quelques fonctions en plus :
- on peut ajouter des lights, les visualiser, les déplacer, rotationner, changer la couleur, les supprimer. Les lumières produisent maintenant des ombres, et sont dynamiques (j'avais laissé trainer un ambientcolor(#white) sur ^^)
- on peut supprimer les objets 3D
- on peut changer le type d'ombre, ou la vitesse de déplacement du zoom de la vue (panneau option)

Toujours le même lien de téléchargement (premier message).

Là, je pose les bases de l'éditeur, ensuite, j'essaierai d'ajouter le déplacement des objets à la souris (tous les axes car là, c'est limité au x et y pour l'instant), idem pour les rotations et scales, avec ou sans snapping, ainsi que des fonctions pour l'importation d'objet/mesh/textures ou la création de preview ou d'un accès à une banque d'objet (dossier model par exemple).

J'ai remarqué 2 bugs :
- le mode de projection orthographique fait planter (je l'ai supprimé en attendant la correction du bug)
- chez moi LightColor() renvoie une invalid memory acces, alors que LightDiffuseColor() fonctionne.
Avatar de l’utilisateur
Atlante
Messages : 337
Inscription : mer. 29/juin/2011 18:35
Localisation : Paris

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par Atlante »

Bon tu m'a motivé je m'y mets aussi ;) Par contre je travaille, donc j'irai pas aussi vite ;)
J'ai fait quelques tests ce soir, et en fait je m'oriente plus sur une camera qui bouge afin de placer ses objets ;)
J'aime l'interface de blender mais pas le système de caméra. après je ne suis que touriste dans ce domaine.
voilà voilà

ps : j'ai laissé tombé les l'interface 3d (gadget 3d), j'ai pas réussi a écrire un seul truc dans un Editor gadget xD.
Modérateur
Config : Intel I5 4670K, Nvidia Geforce GTX 1060, 16go RAM, SSD 256go, DD 2000go
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Editeur de Scène 3D (ou 3Dmap Editor)

Message par blendman »

salut

J'ai pas mal avancé sur mon éditeur 3D. Voici les nouvelles possibilités :

Banque d'objets
- maintenant, je charge à partir de fichier texte la banque d'objets qu'on peut utiliser (je ferai des vignettes par la suite). On a donc d'abord le groupe à choisir (nature par exemple), puis le sous-groupe (big tree, small tree, plant, etc..), puis on peut choisir dans ce sous-groupe l'objet qu'on veut utiliser.

Ajout
- on peut ajouter un skydom dans notre scène
- on peut désactiver les ombres des lights. On peut aussi définir la couleur diffuse et spéculaire des lights.
- déplacement en Z pour les objets : control + flèche haut/bas
- on peut modifier le shader utilisé par l'objet en question : de la même manière que la banque, je charge un fichier contenant les noms de shaders, et lorsque j'en sélectionne un , ça l'applique à l'objet sélectionné (avec getscriptmaterial() c'est génial).
- Du coup, je me suis un peu intéressé aux shaders et j'ai commencé à en créer quelques uns (voire le screenshot).
- on peut bloquer la caméra sur l'entité sélectionnée ou pas
- on peut changer la couleur de l'ambientlight()

A propos des shaders
- je suis en train de réfléchir à l'élaboration d'un shader editor interne ou externe à cet éditeur. Je sais déjà comment je vais m'y prendre et ça risque d'être vraiment sympa si j'y arrive. En gros, je vais créer un fichier material temporaire (dans un dossier temporaire) et lorsque je changerai les paramètres via des gadgets, ça enregistrera et rechargera le fichier en l'appliquant avec GetScriptmaterial(), comme je le fais déjà maintenant.
- j'ai essayé de comprendre un peu les sahders GLSL et HLSL, mais pas évident de trouver des exemples qui fonctionne pour tout. Ogre visiblement utilise des fichier CG, donc il faut les convertir j'imagine, mais comment ?
Quelqu'un a une idée ?

Le screenshot avec le système de shaders interchangeable, la classe, non ? :D
Image
Répondre