Demande de conseils avant démarrage projet (meilleur façon de faire)

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Répondre
Jayme65
Messages : 47
Inscription : 31 Jan 2017 00:43

Demande de conseils avant démarrage projet (meilleur façon de faire)

Message par Jayme65 » 01 Fév 2017 20:14

Bonjour,

Je dois réaliser une application...et pour la première fois je vais le faire dans Unity! :)
Je vous demande donc de bien vouloir être indulgent avec moi, c'est très humblement que je viens vous demander quelle est la meilleure façon de faire pour le projet que je vais vous présenter très brièvement!

Si je veux réaliser l'application dans Unity, c'est uniquement pour bénéficier du moteur de rendu 3D.
Ce n'est donc pas un jeux du tout...mais une application traditionnelle qui doit posséder comme interface un environnement 3D.

Voici ma question:
L'application doit pouvoir offrir la possibilité de changer de "thème" (comme on le dirait pour une application traditionnelle)...à part qu'ici, le thème sera un environnement 3D différent!
Donc, si l'interface de l'application représente un bureau, on doit être capable de changer le thème (le bureau) à tout moment...tout en gardant (et c'est très important) un lien vers les éléments d'une scène à l'autre.
Quand je change de scène, je dois pouvoir identifier l'élément 'écran PC' d'une scène à l'autre pour qu'il puisse recevoir une image d'écran.
Quand je change de scène, je dois pouvoir identifier l'élément 'tableau' (pour y afficher du texte)
etc...
Image
Image

J'espère que ma présentation du projet est clair!? Il est donc question d'avoir un code principal et de pouvoir appeler telle ou telle scène (faite de modèles 3D différents) et d'y afficher en textures des éléments images, movie, texte (finalement semblable d'une scène à l'autre) sur des éléments 'types' d'une scène à l'autre: l'écran, le mur, un tableau,...
Quelles seraient pour vous la meilleure façon de faire? Quand on veut "alimenter" (en image, texte, movie) les éléments de la scène, est-ce le code principale qui s'adresse directement à la scène..ou la scène qui va prendre ses informations dans le code principal?

Merci pour l'aide que vous voudrez bien m'apporter, pour vos conseils...et pour votre indulgence! ;)

garguse
Messages : 6
Inscription : 19 Jan 2017 17:35

Re: Demande de conseils avant démarrage projet (meilleur façon de faire)

Message par garguse » 05 Fév 2017 08:49

Bonjours, je ne suis pas le mieux indiquer pour répondre aussi, je peut faire fausse route.

Mais, normalement tu peut changer l'environnement 3D en changent de scène et utiliser une fonction (DontDestroyOnLoad de tête) qui évite la destruction d'un ou plusieur élément de la scène lors du changement. Je vois mal comment tu veux organiser l'interface de l'appli.

Mais, d'après ce que j'ai compris tu veux changer d'environnement 3D sans perdre le précédent. Aussi pour cela te faudra t'il utiliser les UI (Les boutons et text d'unity) et leur donner un script avec une fonction qui dit "charger la scène burreau" puis lier la fonction au bouton. Et, dans la scène burreau faire de meme pour revenir a la scène précédente.

A noté que en fesent ainsi :
- 1) le bouton de changement de scène ne sera pas fixer sur un éllément du décor
- 2) Il risque d'y avoir un temps de chargement d'une scène a l'autre dont la durée varira suivent le contenu de la scène, la puissance de la machine...

Résolution : Pour le 1, il est possible de mettre une zone ( expemple une porte) ou le chargement de scène s'active quand tu clique dessus. (function OnMouseUp de tete)

Pour le 2, il est possible aussi de mettre tout les environnements 3D côte a côte dans une meme scène et faire changer les possitions du "joueur" a la place de le changer de scène. (le script je me souvient plus) Après, je ne sais pas si c'est réelement une bonne idée ou un belle bétise ^^'

Quand a "Quelles seraient pour vous la meilleure façon de faire? Quand on veut "alimenter" (en image, texte, movie) les éléments de la scène, est-ce le code principale qui s'adresse directement à la scène..ou la scène qui va prendre ses informations dans le code principal?" je te répondrais : "il est possible de mettre une zone ( expemple une porte) ou le chargement de scène s'active quand tu clique dessus. (function OnMouseUp de tete)" tu as aussi l'entrer en zone de collider IsTrigger avec OnTrigerEnter... Après je ne vois pas exactement ce que tu veut dire part "le code principale qui s'adresse directement à la scène..ou la scène qui va prendre ses informations dans le code principal?" puisque dans tout les cas on peut dire que le code s'adresse a la scène en disent "si le "joueur" s'approche..." et la scène prend les ordre du code en fesent "tien que me dit le code?" bon c'est pas exactement ca dans le détail mais c'est l'idée de ce rend la question un peut embigue pour moi...

Voila, j'espère que j'ai pas rédiger mon pavé a côté de la plaque XD

Avatar de l’utilisateur
Iwa
Messages : 1131
Inscription : 25 Avr 2012 16:20
Contact :

Re: Demande de conseils avant démarrage projet (meilleur façon de faire)

Message par Iwa » 08 Fév 2017 11:15

Hello à toi Jayme65,

J'avoue que j'ai pas particulièrement compris ce que tu voulais vraiment faire dans ton projet. Tu veux genre être dans un bureau et changer les éléments de ce bureau ou alors tu as plusieurs "bureaux" en stock et tu veux switcher de style (genre moderne, art déco, papi/mamie style?).

Je voudrais bien t'éclairer un peu mais j'avoue que ton explication est floue pour moi, c'est quoi le but ultime? :)
"N'est stupide que la stupidité Monsieur..." - Forest Gump
... sauf si tu lis pas ça :)

Si tu as tout ce qu'il te faut, merci de penser à basculer ton sujet en [RESOLU] en éditant ton tout premier post ;)

Jayme65
Messages : 47
Inscription : 31 Jan 2017 00:43

Re: Demande de conseils avant démarrage projet (meilleur façon de faire)

Message par Jayme65 » 09 Fév 2017 09:50

Iwa a écrit :tu as plusieurs "bureaux" en stock et tu veux switcher de style (genre moderne, art déco, papi/mamie style?)
Merci pour ta réponse Iwa! Oui, c'est exactement ça!
Comme j'en ai parlé, il s'agit d'un programme "traditionnel" à réaliser dans Unity pour profiter d'un rendu 3D pour l'interface.
Tout comme tu le dis on pourra switcher entre différents styles de bureau (ce que j'appelais "des thèmes"). Ce faisant, on devra ré-afficher des infos à des endroits prédéfinis du bureau: l'écran du pc, l'horloge, un tableau,...
Est-ce plus clair ainsi? ;)

Avatar de l’utilisateur
Iwa
Messages : 1131
Inscription : 25 Avr 2012 16:20
Contact :

Re: Demande de conseils avant démarrage projet (meilleur façon de faire)

Message par Iwa » 09 Fév 2017 10:55

Jayme65 a écrit :Ce faisant, on devra ré-afficher des infos à des endroits prédéfinis du bureau: l'écran du pc, l'horloge, un tableau,...

Hello,

Ca c'est toujours pas hyper clair pour moi. En gros tu veux que le style du bureau change (et les couleurs de la pièce sûrement pour la cohérence?) et que par contre le clavier, la souris, l'horloge, le tableau, l'écran soit toujours là. En gros la 3D du bureau change, les couleurs de la pièce change mais les objets classiques bureau, porte documents et autre "décos" restent en place à leur position?

Parce que dans l'exemple que tu montres on voit un bureau puis on voit un salon, alors je suis pas sûre de suivre complètement l'idée. Chui vraiment désolée hein ^^"
"N'est stupide que la stupidité Monsieur..." - Forest Gump
... sauf si tu lis pas ça :)

Si tu as tout ce qu'il te faut, merci de penser à basculer ton sujet en [RESOLU] en éditant ton tout premier post ;)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6214
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Demande de conseils avant démarrage projet (meilleur façon de faire)

Message par boubouk50 » 09 Fév 2017 11:13

Tout pareil qu'Iwa.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: Demande de conseils avant démarrage projet (meilleur façon de faire)

Message par Moi 1971 » 09 Fév 2017 11:15

Bonjour,
Ça ressemble énormément à ce qu'il est possible de faire dans GTA quand on achète un bureau. Il y a 4 ou 5 thèmes de déco pour un même bureau. Je pense que leur technique est de changer les textures. Les Objet 3D restent les mêmes....

Avatar de l’utilisateur
ZJP
Messages : 5748
Inscription : 15 Déc 2009 06:00

Re: Demande de conseils avant démarrage projet (meilleur façon de faire)

Message par ZJP » 09 Fév 2017 14:58

Jayme65 a écrit :Comme j'en ai parlé, il s'agit d'un programme "traditionnel" ....
Bin non, c'est un VRAI programme en 3D sans un GamePlay de jeu "traditionnel". :mrgreen:

Thème = Scène et les éléments récurrents possèdent le même Tag/Label/Name d'une scène à l'autre. Leurs scripts devraient permettre de faire le travail demandé.

a) Réaliser les Scènes
b) Identifier les récurrents
c) Y "coller" le bon script
...

Jayme65
Messages : 47
Inscription : 31 Jan 2017 00:43

Re: Demande de conseils avant démarrage projet (meilleur façon de faire)

Message par Jayme65 » 09 Fév 2017 21:19

Iwa a écrit :En gros la 3D du bureau change, les couleurs de la pièce change mais les objets classiques bureau, porte documents et autre "décos" restent en place à leur position?
Non, tous les éléments 3D changent d'une scène à l'autre!
Par contre certaines textures doivent être réattribuée:
- si dans la scène précédente l'écran du PC affichait une image de Donald, l'écran PC de la 'nouvelle' scène doit afficher la même image
- si un tableau de travail affichait le texte de la déclaration des droits de l'homme, le tableau de la nouvelle scène doit afficher le même texte
- l'horloge sera mise à jour
- etc...

C'est pour cela que je parle de thème depuis le début: l'information reste la même c'est juste la représentation graphique qui change!

Merci!

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6214
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Demande de conseils avant démarrage projet (meilleur façon de faire)

Message par boubouk50 » 10 Fév 2017 10:21

Il te faut donc 2 choses:
- Stocker l'information à conserver: PlayerPrefs: tu stockes chaque valeur avec une clé pour chacune.
- Appliquer au Start () ces informations: PlayerPrefs: tu récupères chaque valeur avec chaque clé.

Tu peux également utiliser des variables internes pour stocker ses informations dans un gameObject qui ne se détruira pas lors du changement de scène grâce à DontDestroyOnLoad ().
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « Unity le logiciel »