Développement de jeux vidéo indépendants
Forum création de jeux vidéo indépendants Mon compte Relite

Se rappeler ? S'inscrire
Jeux vidéo Jeux vidéo indépendants Création de jeux vidéo Finance et emploi jeux vidéo
Dictionnaire du jeu vidéo
Jeux vidéo indépendants Actualité jeux vidéo indépendants Jeux indépendants Tests de jeux vidéo indépendants Jeux indépendants à venir Dossier indy games Solutions jeux vidéo indépendants Vidéos jeux vidéo indépendants Jeux à télécharger Forum création de jeux
Forum création de jeux Mon compte Relite Liste des membres Relite Mes points Relite Derniers messages de Relite Régles du forum Relite Chercher


Relite - Création de jeux vidéo » Vos projets et créations » Vos logiciels et moteurs » [Ruby] Editeur de Map 3D

Réponse
  #1 (permalink)  
Vieux 23/10/2010, 20h48
Avatar de Guigui
Membre
 
Date d'inscription: avril 2007
Messages: 388
Points Relite: 0.
Donate
Par défaut Editeur de Map 3D

Bonjour !

Je suis en train de développer un petit programme d'édition de maps en 3D. Il n'a rien de bien ambitieux, si ce n'est de permettre d'assez facilement créer des mondes en 3D en utilisant mon langage de script préféré, à savoir Ruby !

Ce programme utilise donc le langage de programmation Ruby, et les deux librairies sont :
- Gosu
- Ruby-OpenGL.

Petite démonstration vidéo :
YouTube - Ruby 3D Map Editor V2

Et petite démo :
http://bestguigui.free.fr/gosu/demo_3D_editor_v2.rar

Pour le moment, on peut :
- charger des modèles 3D dans la map (on y reviendra par la suite)
- déplacer, tourner, modifier le scale de ces objets
- supprimer un objet, cloner un objet
- sauvegarder la map et la charger.

Clavier / souris :
- touches directionnelles : faire pivoter la caméra
- touches directionnelles + barre ESPACE : déplacer la caméra
- D : dupliquer l'objet sélectionné
- Suppr ou Backspace : supprimer l'objet sélectionné
- Shift : ralentir toutes les transformations pour plus de précision.
- clic gauche de la souris : agir sur les guizmos de transformation, actionner les menus et sélectionner les objets 3D par Color Picking.

Bugs / problèmes connus :
- la caméra mérite bien du perfectionnement. Je pense opter pour une caméra FPS.
- les objets lorsqu'ils sont présents derrière l'interface (Guizmos du bas) ne sont pas sélectionnables. Petite boulette dans la mise en forme des conditions, mais non modifié car l'interface est amenée à être remaniée. J'apprécierais d'ailleurs toute aide à ce sujet !
- pas de signe de vie des boutons SAVE / LOAD : ça fonctionne, mais rien ne le dit, à part la création / modification du fichier "Maps/new.map".
- une seule map à la fois pour l'instant, sorry, la fameuse map "Maps/new.map".

Fichiers 3D : le programme ne prend que les fichiers 3D de format .OBJ et issus de 3D Studio Max. De plus, les modèles ne doivent contenir qu'un seul mesh et une seule texture. Enfin, veuillez à cocher "rotate models" lors de l'export.

Le fichier .obj et le fichier .png (format obligatoire) correspondant doivent se trouver dans un même sous-dossier, dans le dossier "gfx". Pas de sous-niveau supplémentaire. Enfin, il est possible d'ajouter un rendu de l'objet au format PNG 320 x 240 et qui doit porter le même nom que le .obj mais suffixé de "_render" (voir exemples dans la démo).

Pas très "user friendly" pour l'instant, j'en suis conscient... Mais ça ne fait que quelques heures que je bosse dessus, donc ça devrait s'arranger par la suite.

Je travaille en parallèle sur le moteur qui doit recevoir les maps ingame. De plus, je suis en train de réflechir à la manière de gérer les collisions, même si ça sent fort la bouding box à exporter EN PLUS de toutes les étapes précédemment citées...

Je suis intéressé par tout commentaire / remontée de bug / idée d'amélioration.

C'est très restrictif, j'en conviens, mais j'ai paré au plus pressé et ça pourra être amélioré par la suite.
__________________

Dernière modification par Guigui ; 23/10/2010 à 20h54.
Réponse avec citation
  #2 (permalink)  
Vieux 01/11/2010, 01h34
Avatar de maeln
Membre
 
Date d'inscription: avril 2007
Localisation: Métropole
Messages: 478
Points Relite: 0.
Donate
Par défaut

Pour le moment je dis juste : Wow !
Je voulait tester mais tu as juste mis le .exe dans l'archive ( je suis sous linux ), mais juste en regardant la vidéo j'ai vraiment été impressionné ( surtout quand tu rajoute 'ça ne fait que quelques heures que je bosse dessus' je me sens d'un seul coup très inférieur ).

Pense tu y intégré un générateur de terrain ( type Phraktalus ) ?

En tout cas, je suis toujours aussi impressionné par tout ce que tu est capable de faire avec Ruby.

EDIT: En fait le .exe marche sous wine ! Je suis en train de tester : c'est génial \o/ .
__________________

Réponse avec citation
  #3 (permalink)  
Vieux 01/11/2010, 03h58
Avatar de youpi
Membre
 
Date d'inscription: septembre 2006
Localisation: Fréjus (83)
Messages: 992
Points Relite: 0.
Donate
Par défaut

J'ai fait de l'art moderne!

(Wine 1.1.44 OS X 10.6.4)
Les faces semblent être dessinnées dans l'ordre inverse.
(Envoie les sources si tu souhaites savoir si ça marche nativement sous OS X )
Miniatures attachées
editeur-de-map-3d-screen-shot-2010-11-01-at-01.25.23-.png  
__________________
Réponse avec citation
  #4 (permalink)  
Vieux 01/11/2010, 11h11
Avatar de Guigui
Membre
 
Date d'inscription: avril 2007
Messages: 388
Points Relite: 0.
Donate
Par défaut

Index of /gosu/editeur

Quel plaisir d'avoir deux retours, qui plus est sur deux OS différents !

Maeln : as-tu eu des soucis similaires à ceux de Youpi ? Regarde les sources, tu verras que c'est loin d'être si compliqué que ça. Cela dit, plus ça va, plus c'est compliqué pour rien niveau code, faut vraiment que je revois tout ça.

Youpi : je suis assez étonné, du fait que j'ai activé le depth buffer test, donc en principe il ne devrait pas y avoir ce genre de soucis.

Dans la version du lien ci-dessus, la dernière en date, j'ai ajouté la touche R qui permet de faire une rotation verticale de 45° sur l'objet sélectionné. J'ai aussi opté pour une caméra FPS.

Youpi : quand t'auras deux secondes, on pourrait voir pour améliorer l'interface ?

Prochaine étape : gérer la sélection multiple. Et cleaner le code, vous allez voir, ça devient du grand n'importe quoi...
__________________

Dernière modification par Guigui ; 01/11/2010 à 11h22.
Réponse avec citation
  #5 (permalink)  
Vieux 01/11/2010, 12h55
Avatar de maeln
Membre
 
Date d'inscription: avril 2007
Localisation: Métropole
Messages: 478
Points Relite: 0.
Donate
Par défaut

Non, j n'ai eu aucun problème de ce type tout semblait fonctionner comme sur la vidéo.
Pour info j'utilise : Wine 1.3.6 avec le Drivers Nvidia propriétaire 260.

Je vais tester la version .rb pour voir ce que ça donne.

EDIT: La versions ruby pur à de gros problème chez moi : Il faut remplacer les "require" pour "obj_loader.rb" et "obj_to_draw.rb" par des "load" ou des "require_relative" et une fois le programme lancer, impossible de bouger la caméra, la grille n’apparaît pas et quand on charge un objet, celui-ci n’apparaît pas non plus.

Je crois que cela vient du fait que je suis sous ruby 1.9.2. J'utilise aussi la dernière version de Gosu et ruby-opengl dispo via ruby-gems.
__________________


Dernière modification par maeln ; 01/11/2010 à 13h26.
Réponse avec citation
  #6 (permalink)  
Vieux 01/11/2010, 13h26
Avatar de Guigui
Membre
 
Date d'inscription: avril 2007
Messages: 388
Points Relite: 0.
Donate
Par défaut

Je suis en train de tout revoir niveau code.
Dans la foulée, j'aimerais faire un système de calques éventuellement, et je réfléchis à quoi implémenter d'autre, histoire de pas avoir à refaire tout ça encore une fois

ARF : moi suis toujours sous 1.8.6 et surtout, j'utilise une ancienne distrib de Gosu car la nouvelle version a fait sauter la modif sur la répétition des textures
Voilà une raison comme une autre qui me fait apprécier C++ par rapport à Ruby : toujours la méga galère de distribuer quelque chose avec
__________________

Dernière modification par Guigui ; 01/11/2010 à 13h36.
Réponse avec citation
  #7 (permalink)  
Vieux 01/11/2010, 13h56
Avatar de youpi
Membre
 
Date d'inscription: septembre 2006
Localisation: Fréjus (83)
Messages: 992
Points Relite: 0.
Donate
Par défaut

J'ai juste chopé les .rb et les ai mis dans le dossier, je suppose que c'est supposé passer?
- Ça plante parfois au démarrage.
- Quand ça se lance, l'interface apparait.
- Seuls les controles souris de droite, rotation, fonctionnent. Cliquer sur les autres contrôles ne fait rien, ou plante. Screen avec les 2 types de plantages en 1ère pièce jointe.
- Une seule ligne de la texture est utilisée pour tout l'objet. Dice apparait noir, metal_crate sur le 2nde image.
- Rock n'apparait pas du tout, sans doute lié au même bug. Pas de grille visible non plus, juste un plan gris clair, probablement le même problème.


Code:
mac-pro [ruby1.9 ./init.rb] ~/Downloads/demo_3D_editor_v2    10-11-01 11:33AM
% ruby1.9 --version
ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-darwin10]
mac-pro [ruby1.9 --version] ~/Downloads/demo_3D_editor_v2    10-11-01 11:33AM
% gem1.9 --version
1.3.7
mac-pro [gem1.9 --version] ~/Downloads/demo_3D_editor_v2     10-11-01 11:34AM
% gem1.9 list --local gosu

*** LOCAL GEMS ***

gosu (0.7.24 universal-darwin)
mac-pro [gem1.9 list --local gosu] ~/Downloads/demo_3D_editor_v2      11:34AM
% gem1.9 list --local ruby-opengl

*** LOCAL GEMS ***

ruby-opengl (0.60.1)
Je suis sur la route pour une grosse semaine dès demain, après je suis là pour toute commande
Miniatures attachées
editeur-de-map-3d-screen-shot-2010-11-01-at-11.15.47-.png   editeur-de-map-3d-screen-shot-2010-11-01-at-11.19.37-.png  
__________________
Réponse avec citation
  #8 (permalink)  
Vieux 01/11/2010, 14h10
Avatar de Guigui
Membre
 
Date d'inscription: avril 2007
Messages: 388
Points Relite: 0.
Donate
Par défaut

Cool pour la dispo, j'y manquerai pas

Pour les erreurs de texture, suis sûr que ça vient (encore) de la version de Gosu... Mais pourquoi as t-il changé ça ????

Sérieux, ça me dégoute de pas être sûr de cet auteur, d'autant que les mises à jour des dernières versions sont très intéressantes. Mais il avait promis une méthode "load_as_opengl_texture"... toujours en attente.

Au pire, faut que je gère le chargement des png via une autre lib, comme WxRuby, mais après, qui me dit que cette lib sera installée partout... Et ça fait une dépendance de plus pour pas grand chose...
__________________
Réponse avec citation
Réponse

Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui
Navigation rapide

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
[RMXP] Mon moteur physique et son éditeur 3D King Kadelfek Vos logiciels et moteurs 34 30/11/2008 17h20
[Bêta-testeurs] moteur physique 3D / éditeur 3D King Kadelfek RPG Maker XP 2 12/11/2008 04h38
[RMXP] Bêta-testeurs moteur physique 3D / éditeur 3D King Kadelfek Petites annonces 1 10/11/2008 14h31
[editeur personalisé] skyre alexia007 Vos projets de jeux vidéo (WIP) 8 02/11/2006 10h14
[RMXP] Mon moteur physique et son éditeur 3D LeonZZR Vos projets de jeux vidéo (WIP) 26 02/01/1970 05h50


Fuseau horaire GMT +2. Il est actuellement 13h29.
Relite© 2002-2009 - Edité par Relite Network
Les forums Relite sont des forums de discussion dédiés aux jeux vidéo indépendants, jeux vidéo amateurs et en rapport avec le développement et création de ces mêmes jeux vidéo.