[french] Rech. de collaborateur | Génération procédurale d’aménagement | Collab Archi

Salut,
Je poste ici une annonce pour un projet que je conduit depuis plusieurs mois. C’est un petit pavé, mais ça vaut le coup ! Pour ceux qui n’ont pas le temps, le paragraphe de présentation succincte ainsi que le Prezi permettent d’avoir une bonne idée du projet.

Sujet

Recherche de développeur (préférence Python) pour un projet portant sur la Génération Procédurale d’Aménagement intérieur (GPA) – collaboration avec un architecte d’intérieur / designer. (Travail probable sur la base d’environnement de Blender.)

Avant propos

Avant toute chose, je tiens à signaler deux éléments importants.
Le premier est le contexte de ce travail ; étant en dernière année de Master, il rentre dans le cadre d’un travail de fin d’étude. La qualité finale du travail m’importe donc tout autant que le processus de production, et il a pour moi une visée diplomante.
En gros, je n’ai pas le droit de me louper.
Le deuxième élément est intrinsèquement lié au premier ; son caractère évolutif. Je m’aventure ici dans un domaine qui me fascine depuis quelque temps déjà, mais où je n’ai qu’un panel restreint de compétences. Je vous présente ce projet à l’instant t dans l’espoir de trouver ici non seulement un partenaire pour m’aider à le faire sortir de terre, mais aussi de simples avis sur comment le faire évoluer sur le fond et sur la forme. Je me réserve donc le droit d’en faire évoluer l’objectif, et viens vers vous en toute humilité.


Présentation succincte

Le projet vise, par la création d’un script/logiciel, à explorer le potentiel de la génération procédurale appliquée dans le cadre de l’aménagement d’espace.L’idée étant la génération d’ameublements intérieurs par le peuplement de mobilier d’un volume que l’on aurait prédéfini. Cela concernerait des propositions de positionnement dans l’espace de meubles donc, mais aussi des propositions de types d’objets de mobilier, le tout régi par un système de mots-clés.
Le choix du mobilier destiné à l’aménagement viendrait puiser dans une banque de mobilier, crée et enrichi par les utilisateurs dans une optique de brassage des connaissances : il est ici questiond’une ouverture du regard sur le champ des possibles, que les résultats produits soient de l’ordre du probable ou de l’expérimental. Il s’agit de générer rapidement une grande quantité de propositions d’aménagements de l’espace aux utilisateurs - tant au niveau des positionnements dans l’espace que dans la diversité du mobilier proposé- et de laisser ces derniers venir piocher dans ce panel de propositions les éléments qu’ils jugent intéressants.

Ce peuplement affecterait des propositions de positionnement de mobilier dans l’espace et des propositions de diversification de ce mobilier. Deux niveaux de génération donc.

  • L’un qui s’attaque à la position de l’objet dans l’espace : positionnement qui se fera en fonction de l’espace prédéfini et de ses contraintes préétablies.
    ex : j’ai une porte en face, je ne peux donc pas positionner ce canapé ici.
  • L’autre qui s’attaque à la diversification, à la qualité du mobilier, des propositions multiples de mobiliers provenant de bibliothèques; et qui, grâce à une notion de mot-clé couplée à une probabilité, parviendrait à proposer des associations intéressantes.

Au stade initial, le projet ne concernerait que l’habitat, et ce à une échelle réduite, et serait proposé et construit en tant que preuve de concept.
L’idée n’est pas d’arriver à « Une » solution présentée comme parfaite, mais au contraire d’arriver à une multiplicité de solutions, dans lesquelles l’utilisateur viendrait piocher ici et là les éléments intéressants afin de les intégrer à son propre workflow.

L’aspect évolutif de la bibliothèque est très important ; plus qu’une collection préétablie, le projet donne la capacité à l’utilisateur de rentrer de nouveaux mobiliers et de les partager. L’idée étant que la GPA vienne puiser soit dans une bibliothèque interne (au projet, à l’équipe) soit dans une bibliothèque globale (mondiale), et ce jusqu’à mettre en commun et brasser les connaissances de chacun.

De par mes recherches, le choix de Blender comme environnement de base de travail se trouve dans l’ouverture du logiciel - sous licence GPL -, permettant de développer le projet sous forme de script en langage Python sans problème juridique. Outre cet aspect technique, Blender dispose déjà d’un aspect communautaire particulièrement intéressant, et potentiellement intéressé par le développement d’un projet de ce type. Mais là encore, je reste ouvert.

Je vous invite à cliquer ci-dessous pour visionner (et entendre!) le Prezi qui explique en image la base.

http://uppix.net/nvnx91l.jpg

Public visé

Ce projet se veut avant tout une expérimentation de l’application réelle de la génération procédurale dans un contexte créatif, il a donc une vision globale dans son propos.
La Génération Procédurale d’Ameublement (GPA) présentée possède un intérêt dans de nombreux domaines. S’il apparaît évident que la connexion avec le mobilier existant pousse cet intérêt dans le domaine de l’architecture et de l’architecture d’intérieur au premier abord, la rapidité de production d’intérieurs « valables » est un atout non négligeable dans bien d’autres domaines comme l’infographie ou encore le jeux vidéo, où la nécessité de « remplir » un arrière-plan se fait souvent ressentir.
La dualité des collections privées/communautaires, couplée avec la capacité pour l’utilisateur de rentrer de nouvelles données permet ici un panel d’utilisations extrêmement large & puissant.

Le projet étant réalisé dans un cadre éducatif orienté vers l’architecture, je me permets de développer ce point spécifique tout en gardant à l’esprit son caractère expérimental. Son utilisation première pourrait se définir dans ce milieu comme une aide à la création. Loin de remplacer ou de singer l’architecte, le projet s’intègre dans le workflow de celui-ci lors de la phase créative. Dans le déroulement d’un projet, il n’est pas rare de se retrouver dans des situations de choix créatif où chacun des acteurs a sa propre vision (en l’occurrence, de l’espace à produire). La GPA, en lieu et place de propositions clés en main, propose de générer un support visuel destiné à aider à la prise de décision. Face à une multiplicité de propositions d’aménagement, les acteurs peuvent alors communiquer plus efficacement sur leurs attentes.
On peut même imaginer dans certains cas que des réponses générées, qualifiées de peu communes, puissent correspondre mieux à l’identité du projet architectural souhaité.


Vu la limitation en caractères de ce forum, vous pouvez lire la suite ici :
http://forum.hardware.fr/hfr/Programmation/Python/collaborateur-procedurale-amenagement-sujet_141332_1.htm#t2218911


Mots de la fin

Voilà. Je pense qu’à partir d’ici vous avez déjà une bonne idée de ce que pourrait donner le projet. Je suis donc à la recherche d’un ou plusieurs complices pour mener à bien cette aventure.

A ce stade, bien que passionné et obnubilé par ce projet je me retrouve devant un mur de compétences techniques que je ne maîtrise pas. J’apporte ici un concept, se basant sur des besoins précis, fruit de mes derniers mois de travaux. Mon cadre étudiant me garantit aussi un apport au niveau de la réflexion par des gens compétents, experts dans le milieu architectural, qui me suivent depuis le début de cette aventure.
Cette collaboration mettrait à profit deux technicités nécessaires à l’aboutissement de ce projet: un côté développement informatique de code pur, dont je ne dispose pas ; et de l’autre un côté architectural, avec la rédaction des « règles » liées aux procédures de génération.
C’est l’occasion pour vous d’intégrer un projet concret s’inscrivant dans un cadre peu commun avec des acteurs provenant de différents milieux.

C’est aussi un projet dont l’aspect commercial peut à terme se développer si la collaboration est fructueuse, connaissant déjà dans mon milieu des bureaux fortement intéressés par le développement d’applications similaires.

Au niveau des questions pratique

• Si ma condition financière en tant qu’étudiant ne me permet pas de proposer une rémunération en bonne et due forme, je suis tout à fait disposé à discuter d’un dédommagement.
• Je suis basé à Paris et Bruxelles, avec un emploi du temps totalement dévoué à ce projet.
• J’ai 24 ans, et après deux années en école d’architecture je suis actuellement en Master 2 “Architecture d’intérieur et Design d’environnement” à l’Ecole Nationale Supérieure des Arts Visuels de La Cambre à Bruxelles.
site perso - site perso
• De par le fait que ce projet s’inscrive dans une démarche étudiante, il comporte pour moi un volet d’évaluation. Je me fixe l’échéance de fin avril pour arriver à proposer un module initial, démonstratif de l’identité du projet. De par son concept évolutif, j’ai déjà exclu d’arriver fin mai à l’état final du projet, mais il est nécessaire de garantir - dans un simple esprit d’auto-conservation - un certain degré d’avancement, et j’attends donc une complète transparence de votre part.
Voilà voilà, j’espère avoir capté votre attention, et si vous êtes arrivés jusqu’ici merci de m’avoir lu et qui sait, merci de participer!

ceci pourrait representer un gros projet fonction de la qualite requise !

est ce un projet avec license GPL ?
est ce que certainne des lib de meubles ou accessories externes vont etre aussi disponible avec license GPL?
ou si une partie ou version du projet va etre sous license commerciale avec des frais d’achat !

as tu regarde le script pour faire des cuisines projet Archimedes
qui pourrait aider peut etre !

bonne chance

happy bl

Bonjour,

Déjà merci de l’intérêt porter au projet !

Merci aussi pour le projet Archimesh, c’est effectivement super intéressant pour moi !

Au niveau des questions juridiques, à ce stade je privilégie un développement sous licence GPL.
Cela vient tant de l’aspect libertaire que dans une simple optique de bon fonctionnement. La majore partie du projet prenant ces racines dans un esprit communautaire, le développement en libre accès garantis que celle-ci se développe correctement. Pour rappel, si les archétypes sur lequel repose les objets sont crées par les développeurs, l’objet en lui-même, dans sa fiche mobilier comme dans ses mots-clés (voir même plus tard dans sa représentation) est créé par l’utilisateur. En gros, plus il y aura de participant, plus les résultats seront intéressants.
Ceci étant dit, comme je l’ai expliqué dans le pavé, je recherche un collaborateur et donc la décision finale se fera par un accord mutuel, tant au niveau de la finalité qu’au regard de la qualité.

voice un autre addon qui permet de tracer des blueprint avec blender
doing blue print plans for walls and floor

tu peux essayer de prendre contact avec les auteurs de ces addons
ils pourraient etre interesse de participle a t on projet !

happy bl

Bonjour,

Merci pour ces réponses,

Nan je n’ai aucune compétence en programmation, c’est bien là le problème ! Je suis dorénavant face à un mur de compétence technique dont je ne dispose pas, d’ou ma recherche de collaborateur compétent dans ce domaine.
Si j’ai, de par ma formation architecturale, les compétences pour “écrire” en langage commun ces procédures vis à vis de leurs logiques dans le monde réel, il me manque quelqu’un pour les coder. Le travail serait donc tout autant la rédaction de ses procédures de génération (mon domaine, avec l’aide d’architecte extérieur), et l’intégration de ses donnés dans un software (le programmeur).
J’ai travaillé en tant qu’infographiste pour des cabinets d’architectures donc j’ai déjà un pied dans le plat, mais mon expérience se situe principalement sous 3DSmax. J’ai déjà fait joujou sous Blender, mais l’ergonomie est réellement différente donc je suis encore dans une phase d’adaptation.

Les librairies dont tu me parle sont effectivement très intéressante, et oui j’en ai déjà recensé (et utilisé de manière pro) pas mal, mais, à ce stade, les librairies du projet seraient majoritairement technique, en texte & images. La partie représentation 3D de l’objet en lui même se calquerait sur celle de archétype auquel l’objet se rattache: autrement dit, pas de modèle spécifique pour la chaise XX, mais un modèle commun d’archétype _Chaise utilisé de manière commune. Pourquoi cela ? Déjà pour m’évité un pan de travail dantesque au début, et aussi pour des contraintes de ressources techniques (gestion des données des modèles, temps de chargement dans la scène, gestion de la garantis de la légalité du modèle, etc.). Cette fonctionnalité de représentation spécifique est définitivement sur la liste des éléments à intégré, mais elle arrive à la fin de mon processus. Le plus important avant est d’intégré la création par l’utilisateur de nouvelle données de mobilier. On pourras toujours par la suite imaginer pouvoir uploader un modèle 3D associé à cette fiche technique.

Et tu as raison, je vais définitivement envoyer un mail à ton dernier lien !

Merci encore pour l’intérêt que tu porte au projet et ton aide, qui m’est plus que précieuse !

I’m not sure I will be able to talk about the ‘deep stuff’ in english, but if you want we can switch language ? :slight_smile:

Cya

Quelque conseils en reflechissant sur ton projet

  1. Tous le travail doit etre accomplis et affichée avec des objects lowpoly et sans textures, y compris la chambre.
    Sinon se sera lent comme un escargot.
  2. Tu connetras mieux que moi l’ergonomie, qui dans ce cas oblige a des espaces minimum entre les composants.
    Sinon ce sera galere a les utiliser.
  3. Par consequence l’encombrement d’un objet ne peux etre etablis sur le dimensions x,y,z de l’objet que l’on a chargè.
    Par example un table a un encombrement egal aux dimensions de la table plus les chaises qui lui son autour. Et il faut
    pouvoir s’assoir! En d’autre mots la table c’est un “ensemble” et les chaise sont “déplaçables”.
    Une porte a un encombrement egal a un quart de cylindre,pour pouvoir l’ouvrir.
    Les dimensions d’un armoire doivent être évaluées avec ses portes ouvertes, et il n’est pas déplaçable, heuresement,
    pour son utilisation.
    ect.ect…
  4. D’apres ce que j’ai dis je vois mal tes points pivots. Je pense c’est mieux etablir des “contraintes” a chaque meuble que l’on charge.
    Les constraints son etablis en lancant des vecteurs, par example parallelement au murs, et avec origine le faces du volume d’encombrement,
    definit plus haut. Le premier point d’intersection avec un quelconque volume d’encombrement determine la contrainte de deplacement
    sur l’axe determinè par le vecteur.
    Mettre en œuvre dans Blender des contraintes pour chaque objet c’est assez simple.
  5. Reste a savoir quel sont les propiétés necessaires pour etablir ces contraintes et comment et avec quel structure,conventions ect.
    Si les objects son construit en Blender on peux penser d’ajouter des propriétés comme “xyz,encombrement,déplaçable,ensemble…”,
    Qui son créées automatiquement par le programme mais à établir par qui fait le model!
    Elles seront automatiquement enregistrées avec l’object et facile à trouver quant on charge l’objet.

bye bruno

as tu vu ce logiciel qui peut faire des objets parametriques

incluant des meubles ect.

happy cycles