• Jeux Vidéo
  • Toi aussi deviens indéveloppeur [Unity/UE4 pour platformers 2D osef]

Invité(e)
Profil_supprime

nanarcorp - 15 Sep 2015

Il y n'y a pas de shaders parent dont peuvent hériter des shaders enfants dans Unity ? Ça me parait un peu gros smiley36

y a-t-il qqun pour rebrancher le cerveau de binouz
Binouz

Profil_supprime - 15 Sep 2015

Hm en fait dans Unity ça marche pas comme ça, y a pas d'éditeur de shader par défaut. Tout ce qui tu as c'est un standard material qui est un shader spécial opti Unity qui a beaucoup de paramètres exposés et qui permettent de faire tous les effets de base.

Après le reste c'est des .shader que tu importes, et voilà smiley76 Si tu veux "créer" des shaders dans Unity t'as pas le choix : C'est à la mano, ou Shader Forge. Faut avouer qu'ils sont un peu à la rue vs UDK de ce point de vue là, mais ils parlent depuis un moment d'intégrer Shader Forge (l'équivalent de ce qu'il y a dans UDK).

Mais après là on est parti en live mais nanarcorp a raison sur le fait que hichanbis n'aura surement besoin que du standard shader pour 98% des assets.

Edit par Binouz (15 Sep 2015)

Je travaille chez l'Euromaster du JV
nanarcorp

Milka : Bin il me semble que non, après ça fait un moment que je ne me suis pas plongé dans Unity (et shaderforge)

D'ailleurs ça pourrait être cool d'organiser une Jam Gameramienne un WE à l'occaz vu qu'il y a pas mal de dev dans le coin. à voir niveau organisation (genre un vote de la communauté sur un thème à la con ainsi que des équipes) mais y a maybe moyen de faire un truc sympa.

Invité(e)
Profil_supprime

nanarcorp - 15 Sep 2015
https://drive.google.com/file/d/0BxDfln … VwelE/view

Le petit jeu qu'on a fait à quatre avec des potes pour la jam d'Epic Games ce week-end smiley35
Le thème était : "Live Deathless"

Edit par Milka-aux-noisettes (15 Sep 2015)

Che vais en vacanches en greyche
Grey-Che
Milka-aux-noisettes a écrit :

nanarcorp - 15 Sep 2015
Le petit jeu qu'on a fait à quatre avec des pote

Ta copine te le dis souvent.

Je travaille chez l'Euromaster du JV
nanarcorp

Profil_supprime - 15 Sep 2015

Ah c'est sympa. C'est cool de voir Epic mettre en avant son moteur sur la scène indé en organisant des compets et JAMs. La plupart des jams c'est quasi que du Unity. J'ai très rarement vu des projets UDK en jam. Là avec Ue4 ils ont bien rattrapé le coup.

Sinon pour ma part ça fait très longtemps que je n'ai pas fait une JAM. La dernière c'était la GGJ : http://globalgamejam.org/2015/games/eas … ison-break

hichlibedis
hichanbis

C'est quoi le principe des jams ? Tu dois pondre un mini-jeu en 2 jours et c'est publié quelque part ? C'est quoi l'intérêt ?

L'IA de la nuit dernière
y a-t-il qqun pour rebrancher le cerveau de binouz
Binouz

hichanbis - 16 Sep 2015

Tim a bien résumé. J'en ai fais que quelques unes, mais à chaque fois ce que j'en ai tiré :

- Challenge personnel + dépassement de soi, surtout au niveau de la capacité de raisonnement, et la vitesse de réflexion/d'adaptation
- Grosse poilade entre potes (par contre les jam avec des inconnus j'trouve ça un peu nul, y a toujours 50% de l'équipe que je trouve con/lent/absent, une fois j'étais tombé avec un mix SIG ou Pole 3D, laissez moi vous dire que j'étais pas tombé sur l'élite de la nation)
- Jauger son niveau par rapport à celui des autres, ça me remet beaucoup en question, et c'est assez important pour moi de savoir ou j'en suis, de ce que je vaux.
- Rencontre avec des gens du métier

On a réussi à sortir ça une fois :

Le thème c'était "le bonheur est dans le voyage" et on a décidé de partir sur l'api de Cardbord VR, le casque VR pour smartphone de Google (ouais en carton là), pour faire en gros un jeu d'autostop. Bon ça paye pas de mine mais y avait quand même 3 bagnoles différentes avec leurs dialogues à eux, 4 environnements différents, 3 évènements qui t'arrivent sur le trottoir quand t'attends, pis tout le reste avec le bordel de la VR (la vidéo est à la souris là mais sinon ça marchait au headtracking) smiley3 Y avait plein de challenge technique, on était que 3 (dont un qui s'est noyé dans une bouteille de Chivas au bout de 4h) j'ai adoré smiley35

Edit par Binouz (16 Sep 2015)

hichlibedis
hichanbis

Binouz - 16 Sep 2015

smiley114

Sinon j'ai peut-être trouvé la solution à ma nullité en modélisation 3d:

Trop beau pour être vrai ou bien?

Invité(e)
L'IA de la nuit dernière
Invité(e)
hichlibedis
hichanbis

Zaki - 16 Sep 2015

Comme le dit Tim, j'ai pas de volonté commerciale (au mieux je fous sur mon CV/profil linkedin).
J'étais même parti pour prototyper avec un perso générique gratuit sur l'asset store, mais si je peux d'emblée et facilement me modéliser un truc qui me plait alors banco.

hichlibedis
hichanbis

Petite question de démarrage de proto: vue isométrique ou troisième personne ca change quelque chose point du vue facilité ou quantité de taf a fournir ?

y a-t-il qqun pour rebrancher le cerveau de binouz
Binouz

hichanbis - 25 Sep 2015

Hmm en fait ça dépend vraiment du type de jeu que tu veux faire plus que du type de caméra. Genre un jeu comme celui de Tim ben y a du taff. Un mario bah y a un tuto qui t'en fait un en 1h top chrono. Pareil pour la caméra perspec. J'sais pas si je comprends pas bien ta question j'ai ptet répondu hors plaque smiley4

Edit par Binouz (25 Sep 2015)

hichlibedis
hichanbis

Pour mon jeu (rpg en 3d) j'arrive pas à trancher entre une vue iso à la Transistor et une vue 3eme personne.
C'est peut-être bête mais je me dis qu'en vue isométrique ça sera moins de boulot et qu'un jeu moche a toujours l'air moins moche en iso qu'à la troisième personne...

Edit par hichanbis (26 Sep 2015)

L'IA de la nuit dernière
y a-t-il qqun pour rebrancher le cerveau de binouz
Binouz

hichanbis - 26 Sep 2015

Pour l'avoir vécu : Concentre toi honnêtement sur ce qui te plait sans te prendre la tête, sans perdre trop de temps sur ce qui te saoule. Pourquoi ? Parce que ce projet tu vas l'abandonner un jour ou l'autre. Si tu continues à apprendre et à te former sur Unity, tu vas arriver assez vite à un point ou ton projet va te dégoutter, car tout ce que tu as fait au début avec 0 connaissances tu vas t'apercevoir que c'est de la merde (normal) et que t'aurais jamais du faire comme ça.
Classic gamedev shit. Juste fait toi plaisir et comme dit Tim, colle toi à la vision que t'as de ton jeu et essaie de faire au mieux.

Edit par Binouz (26 Sep 2015)

Invité(e)
Profil_supprime

D'un point de vue juste technique, une caméra à la troisième personne léchée est beaucoup plus relou à gérer qu'une vue iso. 
Le choix de la caméra est super important car il influe un peu sur tout ton jeu car c'est le premier portail entre l'utilisateur et le jeu. Avant même qu'il ait commencé à bouger. Cela étant dit, je te conseillerai de choisir ta caméra en fonction du gameplay que tu veux créer et de tes limitations techniques.

hichlibedis
hichanbis

Hmm ok je reste sur mon idée de 3ème personne.
On verra bien si c'est trop relou ou pas au final.

hichlibedis
hichanbis

Hello les gens, j'ai (encore) besoin d'aide et Google ne m'aide pas trop pour une fois.

Alors je suis toujours dans mon prototype de RPG tour par tour et j'essaye de faire une transition Exploration => Combat quand je rencontre un ennemi (un peu à la FFXIII).

Comment je peux faire?
Pour l'instant j'ai identifié deux solutions:

- Mettre un mini-terrain à une position invisible et onTrigger, je store la position de mon perso et le déplace à la position du mini-terrain. Une fois le combat fini, je remets le perso à sa position antérieure. Mais ça m'a plus l'air d'un hack qu'un truc propre.

- Utiliser LoadLevelAdditive. Mais ça risque d'occasionner un loading et y a toute la partie unload et persistence (genre les HP du perso) qui m'a l'air galère.

C'est quoi le mieux?
Y aurait une autre solution?

Ps:  Je risque d'être assez chiant durant tout le proto désolé.

Edit par hichanbis (02 Oct 2015)

y a-t-il qqun pour rebrancher le cerveau de binouz
Binouz

hichanbis - 02 Oct 2015

Quel effet tu recherches ? Le décor doit être exactement le même en explo qu'en combat, ou alors comme les anciens FF (je me rappelle plus si c'est le cas du 13), le décor change en fonction du type de terrain mais c'est pas la réplique fidèle ?

Pour le 1) suffit juste que tu mettes ton système de combat à l'endroit ou tu te balades, pas besoin de tp quoi que ce soit donc problem solved.

Pour le 2) je pense que tu peux faire une scène combat, et de faire chaque décor dans un prefab* (donc t'auras plein de prefab de décor différents) que tu instancies (Méthode Instantiate) suivant l'environnement d'ou le combat s'est lancé. Tu load la scene avec un LoadLevel normal, pas besoin d'additive ici (c'est pas une extension du monde ou tu te trouves)
* Si la notion de Prefab est encore un peu floue je te conseille de courir voir le tuto car c'est indispensable pour faire un jeu dans Unity.

Pour ce qui est la persistance des données, encore 2 solutions :

Faire des classes C# singleton (https://msdn.microsoft.com/en-us/library/ff650316.aspx) qui n'héritent pas de MonoDevelop (ce ne sont donc pas des scripts mais des classes C# normales) que tu peux appeler de partout.
WARNING : Le désavantage c'est que comme ça n'hérite pas de MonoDevelop tu ne pourras stocker aucun type propre à Unity (GameObject, Transform, Vector etc)

OU

Faire des GameObject persistant en appelant la méthode "DontDestroyOnLoad" au Start d'un script sur l'objet. Ce méthode ne détruit pas l'objet pendant une chargement, y compris les scripts associés.
WARNING  : Si tu utilises cette méthode tu dois alors faire une scène "vide" qui contiendra tous tes gameObject persistant et dont son seul rôle sera de te faire passer à la première "vraie" scene de ton jeu.

Parce que sinon, si tu as genre CombatManager dans la scene combat en DontDestroyOnLoad, et que tu retournes dans la scene "explo", le manager va te suivre, mais si tu retournes une nouvelle fois en combat, tu auras 2 CombatManager : Celui qui t'a suivi, et celui qui est naturellement dans la scène => pas bon.

J'ai répondu à tes interrogations ? smiley4 Sinon n'hésites pas !

Edit par Binouz (02 Oct 2015)

hichlibedis
hichanbis

Binouz - 02 Oct 2015

Nan je préfère une zone de combat avec un décor différent ( + adapté au combat).
Prefab et instantiate je maitrise c'est bon (j'ai fait les tutos space shooter et survival nightmare).

La load de la scène de combat me paraît pas une super idée par contre.
Je vais pas me retrouver avec des loadings de partout ET des casse-tête de persistence?


Je me trompe peut-être mais ça m'a l'air plus simple de faire:

Au trigger => déclenchement du load additif de la scène de combat (un terrain tout petit, une caméra, un éclairage, des modèles 3d pour les persos)
Animation fondu écran (ou autre)
Désactivation de la main camera et de l'éclairage directionnel
Une fois loadé ça prendra automatiquement la nouvelle caméra de la scène de combat + l'éclairage (non?)
Combat fini destroy de l'objet root de ma battle scene (qui contient tous mes objets)
Réactivation de la caméra principale + éclairage

Ca marcherait pas? Pas une bonne pratique?

Sinon merci pour tes infos concernant la persistance. Faut que je creuse ça.

Edit par hichanbis (02 Oct 2015)

L'IA de la nuit dernière
y a-t-il qqun pour rebrancher le cerveau de binouz
Binouz

hichanbis - 02 Oct 2015

Une scène c'est super léger si y a rien dedans. Les scènes qui prennent du temps à charger c'est les scènes avec énormément d'éléments. Là si y a juste un décor et ton système de combat, ça prendra 1sec à load sur un pc de base. De toutes les façons LoadLevel ou LoadLevelAdditif, c'est exactement le même temps de chargement c'est juste que y en a un qui va s'ajouter à la scène en cours, et je suis pas sur que ça est beaucoup d'intérêt pour ton système.

Surtout que tu vas mélanger la scène explo et la scène combat, qui ont rien à voir les unes entre elles, c'est sur que y a un moment donné tu vas te gauffrer.

Pour info sur mobile (!) notre scène de combat avec flotte + 25 bateaux + 3 iles + 4 milliards de script ça prend en moyenne 1.5 sec.

Et la persistance c'est vraiment très simple à mettre en place, y a aucune prise de tête une fois que t'as fait tes trucs propres en début de jeu ou que t'as mis des classes C# singletons.

Edit par Binouz (02 Oct 2015)

hichlibedis
hichanbis

Ok je vous fais confiance je pars sur un loadLevel normal alors.
Merci!

L'IA de la nuit dernière
Invité(e)
Profil_supprime

.O. - 15 Oct 2015
Trop de vérités feelsbad

hichlibedis
hichanbis

Hola,

Vous utilisez qui comme outil de version control pour Unity?
Je commence à avoir pas mal de ligne de code je serais très deg de tout perdre...

Invité(e)
Profil_supprime

hichanbis - 09 Nov 2015

SourceTree X Github

y a-t-il qqun pour rebrancher le cerveau de binouz
Binouz

hichanbis - 09 Nov 2015

Le plus simple c'est de s'inscrire sur GitHub et d'utiliser GitHub for windows (ou SourceTree oui, c'est mieux d'ailleurs).

Ça prend environ 10 sec à install, c'est clean, après c'est pas ultra pratique quand tu veux revenir à une version spécifique, mais ça fait le taff. Y en a plein d'autres bien sur, mais ça c'est gratos, et rapide à install.

Après Unity propose l'asset server à installer toi même, nous on l'a plug avec Drive qui fait un dump toutes les semaines. Ca a l'avantage d'être directement build dans Unity, ça a le désavantage de merder sans cesse à chaque fois que tu delete un truc et que tu le remplaces par un truc du même nom, il devient fou, et toi aussi. C'est ce qu'on utilise au taff parce que c'est pas possible de travailler à plusieurs avec GitHub for Windows, faut passer par git tout court et ça nous saoule de tapper des lignes de commandes comme en 1995 et de chercher une autre solution, l'asset server nous convient 99% du temps. Bref.

Autre chose : Une fois que t'as choisi un logiciel de version control, oublie pas d'activer les Meta Files ( Edit->Project Settings->Editor-> machin version control -> visible meta files) dans Unity, et exclue le dossier "Library" de ton logiciel de versionning. Le dossier Library c'est le cache de Unity, c'est plein de petite merde et ça fait le double de la taille de ton projet.
Quand tu vas réouvrir ton projet, si y a pas le dossier Library, Unity utilise les meta files pour le construire. Inutile de le versionné donc.

Edit par Binouz (09 Nov 2015)

Invité(e)
Profil_supprime

Github pour Windows, cette abomination smiley19
Je l'avais essayé car j'arrivais pas à cloner un projet sur SourceTree. Plus jamais alone

y a-t-il qqun pour rebrancher le cerveau de binouz
Binouz

Profil_supprime - 09 Nov 2015

Ah c'est pas le grand luxe c'est sur feelsbad mais disons que si hichan cherche juste a upload son code, voir revert quand ii a fait une connerie, ça suffit largement. smiley76

Invité(e)
hichlibedis
hichanbis

Merci pour vos réponses.
Si je fais Gtihub x SourceTree c'est du versioning integré?
Genre tu modifies un script ça le checkout automatiquement? Si tu le supprimes?

Edit par hichanbis (10 Nov 2015)

L'IA de la nuit dernière
y a-t-il qqun pour rebrancher le cerveau de binouz
Binouz

hichanbis - 10 Nov 2015

Je sais pas si j'ai bien compris la question mais sur githubFW (sourceTree aussi je crois) le checkout, delete, move et new sont repèrés auto par l'outil mais toutes les actions de commit, push, update sont, of course, a la mano.

Je parlais de githubFW pour un truc pas casse tête car ce soft a un seul bouton : sync. Qui fait les 3 à la fois.
Parfait quand t'es seul. Horrible quand t'es pas seul.

Invité(e)
Profil_supprime

En fait c'est relativement simple sur SourceTree.
Quand tu modifies un asset (comme un script par exemple) le logiciel de source control repère automatiquement les changements avec la version locale. Tout ces changements sont en gros stackés en local. Quand tu veux archiver ces changements, tu les intègre à un commit. Et les changements appartiennent à ce commit et seulement ce commit (qu'il faut toujours agrémenter d'un commentaire du style "Modifications de la caméra machin-chouette").

Tu peux faire te faire 5 commits ou 25 avec chacun leurs propres modifications sur les assets spécifiées, au final peu importe le nombre.

Quand tu veux archiver en ligne, tu fais alors un PUSH. Et là c'est en ligne in the webz.

L'IA de la nuit dernière
y a-t-il qqun pour rebrancher le cerveau de binouz
Binouz

Ouais et à Unite amsterdam, Unity a dit qu'ils avaient libérément laissé tomber l'asset server et qu'ils tentent de le remplacer par un logiciel tiers fourni d'office avec Unity (comme visual il y a peu). Mais pas avant perpette.

Mais globalement la règle dans Unity c'est : interdit de travailler à 2 sur une même scene et sur le même prefab. Et là ca se passe a peu près bien.

hichlibedis
hichanbis

Ok merci. Je met tout ça en place ce soir.

Je demande parce qu'au boulot (où on utilise Perforce) les fichiers sont read-only et ne deviennent éditable qu'après un checkout.
Heureusement on utilise Eclipse qui a le bon goût d'avoir un plugin qui checkout automatiquement les fichiers que tu tentes d'éditer.


Edit : Après avoir créé un github et creusé un peu je pars en fait sur Perforce (gratuit via Assembla) + P4connect pour une intégration directe dans Unity.
Ca devrait le faire et j'ai mes petites habitudes avec Perforce maintenant.

Edit par hichanbis (10 Nov 2015)

hichlibedis
hichanbis

Sinon point de vue code je galère un peu sur un point.

J'ai actuellement 0 transition quand je passe de ma scène exploration à ma scène de bataille.
On passe brutalement d'une scène à l'autre (ça load en un millième de seconde).
Même musicalement on passe brutalement de la musique d'exploration à la musique de combat ce qui me gène beaucoup.

Et moi j'aimerai une jolie transition façon JRPG avec des déformations d'écran, des particules, une petite musique alarmante de 3 secondes (quitte à ce que ça "ralentisse" le loading de la scène de combat).

Genre ça à 06:02:


Comment je pourrais faire ça?
Je trouve rien sur le forum Unity...

Edit par hichanbis (10 Nov 2015)

y a-t-il qqun pour rebrancher le cerveau de binouz
Binouz

hichanbis - 10 Nov 2015

Ben tu peux faire un prefab avec un script "simple" qui :
- Instancie une particule sur ton héros
- Bloque certains trucs (genre le déplacement du héros) pour pas que tu puisses avancer pendant la transitions
- Contient une caméra au dessus des autres (propriété depth) sur lequel tu attaches un Image Effect (animations des valeurs possibles)
- La caméra contient aussi un gros sprite/UI image qui prend tous l'écran qui apparaît en fondu noir.
- fait fondre de la musique / en active une autre

Après pour la façon de balader cet objet c'est au choix.

Généralement moi je fonctionne en terme de Manager, et ton truc ben j'aurai fais un prefab "TransitionManager" qui est là depuis la première scène et que j'appelle d'ou je veux dès que je veux transiter. D'ailleurs je fais jamais de Application.LoadLevel, j'appelle une méthode du TransitionManager avec la scène en paramètre, qui va faire l'effet voulu, faire le loadlevel et faire la sortie de transition.

Si tu veux pas te faire chier avec ça, tu peux simplement instancier l'objet au besoin, le mettre en DontDestroyOnLoad pour qu'il survive au changement de scène et puisse faire la sortie de transition, et lui demander de se détruire lui même une fois le taff fini.

hichlibedis
hichanbis

Binouz - 10 Nov 2015
Merci pour le coup de main.

Par contre, tu m'as largué à partir de:

-Contient une caméra au dessus des autres (propriété depth) sur lequel tu attaches un Image Effect (animations des valeurs possibles)
- La caméra contient aussi un gros sprite/UI image qui prend tous l'écran qui apparaît en fondu noir.

jZ2inkj.gif


----------------------------------

Edit: Ok http://docs.unity3d.com/Manual/comp-ImageEffects.html intéressant
Et pourquoi avoir une deuxième caméra et pas juste mettre un script sur la caméra par défaut pour ajouter des effets?

Edit par hichanbis (10 Nov 2015)

L'IA de la nuit dernière
hichlibedis
hichanbis

Bon ça m'a l'air chaud patate mais j'essaye tout ça cette nuit.
Rien ne vaut la tranquillité de 2h du mat' pour progresser :suzukidansmonslip:

L'IA de la nuit dernière
y a-t-il qqun pour rebrancher le cerveau de binouz
Binouz

hichanbis - 10 Nov 2015

En fait dans Unity tu peux mettre autant de caméra que tu veux et chaque caméra affiche ce que tu as envie qu'elle affiche gràce aux layers. Je te conseille ce cours :

https://unity3d.com/learn/tutorials/mod … ate/layers

Gràce à ça, tu peux faire une caméra spéciale qui est au dessus de toutes les autres, et qui ne filme que l'image noire. Ainsi toute ta scène, toute caméra confondue, va disparaître derrière ce voile noir.

Si tu n'as qu'une main caméra, tu peux le faire sur ta main camera effectivement.

MAIS

un jour ou t'auras de l'interface à afficher, tu vas forcément utiliser une seconde caméra pour afficher l'interface. Et quand tu verras que ton fondu noir sur la main camera passe "en dessous" de l'interface (comprendre que lorsque le noir va apparaitre, ton interface sera toujours visible, comme si elle était au dessus), tu vas hurler et tu reviendras voir ce post en te disant "mais oui, c'était donc ça la bonne solution" smiley3

Si t'as pas compris ce post regarde d'abord le cours que j'ai t'ai link c'est un aspect très important de Unity (et du gamedev en général) et ça va débloquer plein de possibilités pour toi smiley1

EDIT : Je rajoute ce cours qui est plus complet sur comment utiliser une caméra et qui contient la partie qui nous interesse (à savoir afficher de l'UI avec une 2eme caméra, ou un voile noir dans ton cas) :

https://unity3d.com/learn/tutorials/mod … cs/cameras

Edit par Binouz (10 Nov 2015)

hichlibedis
hichanbis

Binouz - 10 Nov 2015
Super merci.
Ces puits de connaissances sur GR smiley114

  • Jeux Vidéo
  • Toi aussi deviens indéveloppeur [Unity/UE4 pour platformers 2D osef]