CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Génération procédurale de végétation

Romuald_78
Romuald_78
Niveau 5
03 février 2015 à 13:43:14

Bonjour,

Dans le cadre d'un jeu en 3D type voxel cubique (minecraft-like), je souhaite créer de la végétation, à base de cubes donc. La contrainte est que les cubes ont tous la meme taille. Je ne parle ici que de la forme, pour les textures je verrai par la suite. C'est de l'habillage et ce n'est pas cela qui me pose problème.

J'ai commencé à regarder quelques algorithmes sur le thème "L-Systems" mais je pense que c'est bien trop lourd par rapport à ce que je veux créer. Je ne sais pas trop.
Pour info, une contrainte supplémentaire serait d'avoir une vegetation qui ne depasse pas 10 pixels de haut. du coup on ne peut pas créer de végétation aussi détaillée que celle que vous pourrez voir sur l'image qui suit :
http://en.wikipedia.org/wiki/L-system#mediaviewer/File:Fractal-plant.svg

J'ai beau regarder dans la littérature, je n'arrive pas bien à trouver des idées de concepts à utiliser.

I need your help ;)

Romuald.

Message édité le 03 février 2015 à 13:43:56 par Romuald_78
Romuald_78
Romuald_78
Niveau 5
03 février 2015 à 16:53:18

Bon ben je suis toujours intéressé d'avoir vos avis sur le sujet mais sachez que de mon coté j'ai résolu mon probleme de generation de vegetation par un moyen simple.

J'ai codé un petit script qui crée un arbre avec des branches aleatoires (nombres, tailles, angles) et ensuite je le "discrétise" dans les deux dimensions pour transformer cet arbre filaire en cubes.
Dans l'exemple que je poste ici il y a juste une generation en 2D mais il suffit d'etendre la logique à la 3eme dimension.

Ce script utilise un deuxieme script python qui est un generateur pseudo aleatoire , ceci afin de toujours generer le meme arbre avec la meme graine.
J'ai utilisé ce script avec Python32 et la bilibothèque PIL pour la creation de l'image de sortie. Vous pouvez le lancer tel quel et regarder le resultat dans l'image.

....This post is currenty being edited .....

Message édité le 03 février 2015 à 16:56:48 par Romuald_78
godrik
godrik
Niveau 30
03 février 2015 à 16:56:05

Une petite screenshot de ce que ca donne?

Romuald_78
Romuald_78
Niveau 5
03 février 2015 à 17:00:40

Heu bah justement j'etais en train d'essayer de poster le code mais bon je vais voir pour uploader l'image.
==> voila l'image avec qq graines
[https://drive.google.com/file/d/0BxBruWUrihIBbjdXUmlGZU1qeGlhWm5ZVG41ZUFvWndjdnRn/view?usp=sharing]

Message édité le 03 février 2015 à 17:05:08 par Romuald_78
Romuald_78
Romuald_78
Niveau 5
03 février 2015 à 17:29:40

Du coup je n'ai qu'à etendre le concept en 3D et ca fera bien assez l'affaire.
Dans mon implementation, la classe Vegetation me retourne des modeles en 3D qu'il me reste à appliquer dans le monde global.
Du coup c'est à la premiere instanciation de la classe que je genererai les differents modeles d'arbre.

Pour info j'ai créé mon algo python à partir de l'idée indiquée sur ce site :
[http://frenchcinema4d.fr/archive/index.php/t-62366.html]
Bah maintenant je vais juste le porter en Java et puis modifier pour la 3D.

Message édité le 03 février 2015 à 17:34:37 par Romuald_78
godrik
godrik
Niveau 30
03 février 2015 à 21:05:43

Not bad! C'est interessant comme technique. Merci de l'avoir partage.

Romuald_78
Romuald_78
Niveau 5
03 février 2015 à 23:45:07

Voila juste une image de ce que cela donne en 3D. Bon faut l'ameliorer c'est le premier jet.
[https://drive.google.com/file/d/0BxBruWUrihIBQ3ZKQnFzWFQ3SWM/view?usp=sharing]

Pseudo supprimé
Pseudo supprimé 04 février 2015 à 04:07:26

Hey,
Pareil sympa tout cela...

Puré tu fait trois topics rapides, et ils sont aussi intéressants les uns que les autres (je parle niveau R&D).

Bon sur ce sujet là , je n'ai trop rien à dire. Je vais juste le suivre si il ne meure pas histoire de m'abreuver des connaissances des autres.

Je réitère quand même ma question posée sur autre sujet de ta part.

Recherche & Développement et ou projet dans quel environnement de dev ?

Si tu me dit Unity je ne te lache plus (et toi aussi, si je vais plus loin).

A bientôt.

Romuald_78
Romuald_78
Niveau 5
04 février 2015 à 10:40:18

- le moteur de jeu c'est JME3
- Projet Full Java (bien sur ya du JNI dans le moteur forcément)
- environnement : Windows
- GCL : serveur mercurial + tortoise Hg pour les clients (j'aime le cote gestion de conf décentralisée. le serveur est down tu crees qd meme tes branches tu geres tes commits rollback comme tu veux c claaaassssse)
- SDK : moi c eclipse avec plugin Maven et mon pote il bosse sous netbeans (le projet c Maven mais c deja dit)

On bosse le soir dessus, c un projet amateur. On a nos boulots a coté forcément.
Voili voilou.

Romuald_78
Romuald_78
Niveau 5
04 février 2015 à 10:42:15

Bon sinon pour le rendu 3D de ce petit algo de generation d'arbre, je ne suis pas satisfait . Le screen shot que j'ai mis faisait assez bien mais c la meilleure graine que j'ai eu sinon ca faisait tout pourri.

Je pense que je vais étendre le concept 2D et le faire "tourner" autour de l'axe du tronc mais comme l'arbre n'est pas symetrique je vais peut etre merger plusieurs generations 2D avec chacune un angle de rotation autour de l'axe de l'arbre.

Je vous tiens au courant avec des photos bien sur :)

@+

Romuald_78
Romuald_78
Niveau 5
04 février 2015 à 10:48:30

Sinon pour le coté R&D recherche, bref, je me documente sur les algos, l'etat de l'art, comme par exemple sur les generateurs pseudo aleatoires, ou bien les biomes, ou la cartographie ou bien la siderurgie (pour determiner un arbre de crafting avec differents metaux ou alliages faut se renseigner sur leurs points de fusions respectifs, ...)
Bref wikipedia est mon amie mais aussi google.

Romuald_78
Romuald_78
Niveau 5
04 février 2015 à 22:19:49

Chose promise :
Voila le résultat final de l'algo
[https://drive.google.com/file/d/0BxBruWUrihIBN0RJcWFGbVJWMGM/view?usp=sharing]
[https://drive.google.com/file/d/0BxBruWUrihIBZGE5bjRQQmpCbXc/view?usp=sharing]

Du coup pour faire simple, je genere un arbre en 2D (comme montré précédemment) et je recommence plusieurs fois en faisant tourner autour du tronc un nouvel arbre puis un suivant etc...
Le melange de tout ca bah ca donne .... ca :)

Bon je suis pas super super heureux du resultat (je trouvais qu'en 2D ca rendait mieux qu'en 3D mais je pense que ca ira pour le moment.

du coup je vais voir pour générer un peu avec la meme idée des coniferes....

@+

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment