[WIP] Ping

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: [WIP] Ping

Message par Liven » 06 Nov 2018 21:56

djulio74 a écrit :
06 Nov 2018 20:45
Tiens par curiosité de voir ce que ça donne avec le shaderGraph, il y aurait moyen que tu poste un screen des nodes du shader? :-D
Pas de soucis, par contre je livre un peu brut de décoffrage car pas trop de le temps de détailler.
Et plus il y a sans doute pas mal de trucs qui servent à rien, c'est pas opti... bref c'est un peu un brouillon
Comme il est assez volumineux, je le fait en plusieurs parties

Tout d'abord j'envois des donnée vers un subgraph. il y a 4 envoie comme celui ci vers un même type de subgraph avec des données différentes pour simuler les 4 layers.

Image

L'intérieur du subgraph on ajuste des scale, luminosité, déplacement du noise pour le calque traité selon les donnée en entrées (je pense que c'est cette partie qui t'intéresse).

Image

Ensuite j'ai exposer des bool dans l'inspector pour déterminer si je voulais additionner ou multiplier les différent layers (pour tester facilement les différent résultats)

Image

Enfin j'applique des modifs de luminosité, contraste... sur l'ensemble du résultat

Image

Du coup par exemple les réglages pour le background du niveau xp obstacle on a ça :

Image

ou pour le premier de l'xp background :

Image

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: [WIP] Ping

Message par djulio74 » 07 Nov 2018 08:34

Merci Liven d'avoir pris le temps de tout mettre :super:
Je comprend bien mieux du coup le fonctionnement du shaderGraph, qui a l'air bien sympa à utiliser d’ailleurs.
J'ai bien retrouvé toute tes Property dans le menu final du shader ( de l'Inspector), c'est d’ailleurs impec de pouvoir gérer chaque layer indépendamment, contrairement au shader "codé" que je t'avais proposé qui utilisait juste un layer pour définir le suivant.
Par contre je vois toujours pas comment tu gère le "mouvement" des 4 layer en fonction du mouvement de la cam ( ou d'autre chose). Est-ce la property " BackGround Offset" qui est d'ailleurs la seule qu'on ne retrouve pas dans l'inspector.

En tout cas chapeau, ça rend bien inGame, et dire me fais encore suer à coder les shader, et niveau travail a l'aveugle c'est pas mal aussi :hehe:
Vivement ce soit un outil finalisé dans unity. ;-)

Je viens de relancer Ping, t'aurais pas déjà ajouté un layer "nuage" dans XP/Obstacle tests? ou je suis passé a coté hier... Parce qu'il a exactement ce à quoi je faisait allusion : l'effet de profondeur au dessus du joueur. :super:

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: [WIP] Ping

Message par Liven » 07 Nov 2018 12:42

djulio74 a écrit :
07 Nov 2018 08:34
Merci Liven d'avoir pris le temps de tout mettre :super:
Je comprend bien mieux du coup le fonctionnement du shaderGraph, qui a l'air bien sympa à utiliser d’ailleurs.
Ouai, très simpat, je le recommande (enfin quand il ne serra plus en preview, car il est encore un peut vert pour l'instant)

J'ai bien retrouvé toute tes Property dans le menu final du shader ( de l'Inspector), c'est d’ailleurs impec de pouvoir gérer chaque layer indépendamment, contrairement au shader "codé" que je t'avais proposé qui utilisait juste un layer pour définir le suivant.
Par contre en utilisant différents layers comme je le fait, ça donne parfois des couleurs inattendues lorsque l'on multiplie ou additionne ces layers. J'ai essayé de limiter la chose avec quelques clamps (histoire que les valeurs ne partent pas au dessus de 1 quand même), mais c'est loin d'être idéal.
Par contre je vois toujours pas comment tu gère le "mouvement" des 4 layer en fonction du mouvement de la cam ( ou d'autre chose). Est-ce la property " BackGround Offset" qui est d'ailleurs la seule qu'on ne retrouve pas dans l'inspector.
La propriété BackGround Offset est effectivement cachée dans l'inspector (c'est une option dans shader graph) car elle est mise à jour par le script suivant qui est sur l'objet background (qui lui même est juste un quad enfant de la camera)

Code : Tout sélectionner

using UnityEngine;

public class BackGroundMove : MonoBehaviour
{
    [SerializeField] private float backGroundSpeed;

    [SerializeField] private MeshRenderer rendBackGround;
    [SerializeField] private Transform transCamera;

    private Vector3 cameraPosition;
    private Vector3 cameraPositionOrigine;
    private Vector3 cameraPositionOld;
    private Vector4 BackGroundOffset;

    void Start()
    {
        cameraPositionOrigine = cameraPositionOld = transCamera.position;
    }

    void Update()
    {       
        cameraPosition = transCamera.position;

        if (cameraPositionOld != cameraPosition)
        {
            cameraPositionOld = cameraPosition;
            BackGroundOffset = new Vector4(
                (cameraPosition.x - cameraPositionOrigine.x) * backGroundSpeed,
                (cameraPosition.y - cameraPositionOrigine.y) * backGroundSpeed, 0, 0);
            rendBackGround.sharedMaterial.SetVector("_BackGroundOffset", BackGroundOffset);
        }
    }
}
En tout cas chapeau, ça rend bien inGame, et dire me fais encore suer à coder les shader, et niveau travail a l'aveugle c'est pas mal aussi :hehe:
Vivement ce soit un outil finalisé dans unity. ;-)
En fait pour l'instant je travail aussi à moitié à l'aveugle car dans ping, dès que je modifie la valeur par défaut d'une propriété dans shader graph, ça me fait complètement bugguer le shader en question.
Du coup je doit d'abord créer le shader dans un projet à part (pour pouvoir le configurer confortablement) puis le recopier à la main dans ping . Et si je doit modifier le shader, soit je le fait sur le projet à part, soit je le fait à l'aveugle directement dans ping. Pas l'idéal.

Unity a annoncé que le shader grapph (comme le LWRP d'ailleurs) sortira de preview pour le v2019.1. C'est donc pas si loin.
Je viens de relancer Ping, t'aurais pas déjà ajouté un layer "nuage" dans XP/Obstacle tests? ou je suis passé a coté hier... Parce qu'il a exactement ce à quoi je faisait allusion : l'effet de profondeur au dessus du joueur. :super:
Je n'ai rien changé, mais il y a effectivement un layer (un peu orangé) qui se déplace plus lentement et peu donner cet impression, pas contre il est bien en dessous du player.
Mais si ça rend déjà bien, c'est cool.

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: [WIP] Ping

Message par djulio74 » 07 Nov 2018 13:27

Liven a écrit :
07 Nov 2018 12:42
Par contre en utilisant différents layers comme je le fait, ça donne parfois des couleurs inattendues lorsque l'on multiplie ou additionne ces layers. J'ai essayé de limiter la chose avec quelques clamps (histoire que les valeurs ne partent pas au dessus de 1 quand même), mais c'est loin d'être idéal.
Oui ils se superposent entre eux, faudrait pouvoir récupérer le layer du dessus en tant que masque pour celui du dessous ( ce que je faisait dans mon shader)
Liven a écrit :
07 Nov 2018 12:42
La propriété BackGround Offset est effectivement cachée dans l'inspector (c'est une option dans shader graph) car elle est mise à jour par le script suivant qui est sur l'objet background (qui lui même est juste un quad enfant de la camera)
C'est bien ce qu'il me semblait, que je voyais pas ce qui provoquait le déplacement de la texture.
Cependant tu devrait pouvoir te passer de ton script, En détachant le backGround de la cam. Tu devrait pouvoir avoir des node qui renvoi les position world ou a l'écran des pixel comme "worldpos", screenpos" ou des truc du genre, qui te renvoi les coordonnées des pixel a calculé dans dans world ou screen. Du moins c'est accessible en codant un shader, ça devrait y etre en node

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: [WIP] Ping

Message par Liven » 11 Nov 2018 14:28

Salut, il est l'heure de la petite maj qui va bien : https://liven.itch.io/ping


Les nouveautés :
  • Un nouveau tableau en 3D
J'avais bien envie de mettre un peut de relief et d'éclairage dans tous ça, du coup j'ai fait un tableau xp en 3D pour voir.
J'ai utilisé Probuilder pour faire les bâtiments (je suis pas du tout fan de cet outils).
Pour les lumières, je suis un peu déçus que la point light du player ne puisse projeter d'ombres (d'ailleurs sur la version WebGL la pointlight ne fonctionne carrément pas).
Et puis il y a des artefacts (en forme de ligne) sur certaines zones planes des bâtiments que je ne m'explique pas (entouré en rouge sur le screen) et aussi des éléments de bâtiments qui n'ont pas l'air de projeter de l'ombre (entouré en jaune). Si vous savez d'où ça peut venir, n’hésitez pas.

Image

Et puis j'arrive pas à bake la lumière principale (les perfs restent correctes, mais les drawcalls grimpent quand même).
Même si j'ai pu adapter le disolve et l'effet rebond sur le player3D, l'effet de relief est encore à travailler (notamment pour faire ressortir les arrêtes).
Pour les targets, comme je dois conserver les sprites pour les changements de couleur, je suis resté sur une forme ultra basique (mais en 3D du coup).

Bref pas mal de galère, mais le résultat reste quand même plutôt sympa à mon goût pour un premier test.

Pour la semaine prochaine, je sais pas encore si j'ai envie d'approfondir l'aspect 3D ou partir sur autre chose (je pense que je vais au moins attendre la nouvelle version de ProBuilder qui devrait arriver avec la v2018.3). Du coup ce sera la surprise.

Voila, c'est tout pour cette semaine, si vous voulez tester :
https://liven.itch.io/ping
NB1 : Les touches « Page Haut / Page Bas » permettent de passer d'un tableau à l'autre.
NB2 : La nouveauté de la semaine est dans « Expérimentation / Tests 3D ».

PS à djulio, j'ai bien noté tes remarques sur les shaders, je les prendrais en compte lorsque j'approfondirais le sujet. Pour l'instant je suis en mode géographe, mais je passerais sans doute en mode géologue sur les shader un jour ou l'autre (mais pas tant que le shader graph est encore en preview).

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: [WIP] Ping

Message par djulio74 » 11 Nov 2018 14:42

Pas encore testé, suis sur le tel mais au vu du screen ça a l'air sympa en 3d.
Pour tes artefacts dans l'inspector de tes Light tu as 2 paramètres qui peuvent régler le problème : bias et near plane.
Le bias en l'occurrence devrait pouvoir régler les artefacts entouré en rouge.
Pour ceux en jaune, en jouant sur ces deux paramètres ça pourrait les régler aussi, sinon c'est peut être un problème de mesh, des vertex non soudé correctement.

Tiens au courant si ça régle le soucis.
Et je test ça dès que j'ai le temps :)

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: [WIP] Ping

Message par Liven » 11 Nov 2018 17:01

djulio74 a écrit :
11 Nov 2018 14:42
Pas encore testé, suis sur le tel mais au vu du screen ça a l'air sympa en 3d.
Pour tes artefacts dans l'inspector de tes Light tu as 2 paramètres qui peuvent régler le problème : bias et near plane.
Le bias en l'occurrence devrait pouvoir régler les artefacts entouré en rouge.
Pour ceux en jaune, en jouant sur ces deux paramètres ça pourrait les régler aussi, sinon c'est peut être un problème de mesh, des vertex non soudé correctement.

Tiens au courant si ça régle le soucis.
Et je test ça dès que j'ai le temps :)
C'est bon , soucis réglé.
Effectivement c'était une histoire de bias / near plane.

J'avais essayé de les changer pour réglé ce soucis, mais sans trop insister vu que j'étais pas sûr que ça venais de là, mais en insistant un peu j'ai fini par trouver un réglage pas dégueu.
Bon il y a encore un petit peu d'artéfact sur la version Web, mais beaucoup moins qu'avant (faut y prêter attention pour vraiment le noter) et vu que build pour le webGL prend trois plombes (et qu'il faudrait peut être faire plein d'essais pour avoir un truc parfait), je vais laisser comme ça.

Du coup, Merci djulio !

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: [WIP] Ping

Message par Liven » 21 Nov 2018 13:59

Une petite mise à jour supplémentaire cette semaine.

Les nouveautés :
  • Amélioration du visuel du player dans l'xp 3D
  • Ajout d'une action possible par le player dans divers scènes et les variantes.
Histoire de développer un peu, l'amélioration visuelle concerne l'ajout d'un effet de réflexion, le marquage des arrêtes et un effet de rotation lors des contacts pour éviter l'impression que le cube est en apesanteur.
J'ai aussi essayé d'utiliser les réflexions prob sur les bâtiments, mais ça donnait un résultat vraiment pas terrible (et il m'ont bien fait suer ces probs).


Image


Pour l'action, il s'agit de la possibilité de déclencher un point effector sur le joueur qui attire ou repousse les targets selon les tableaux. J'ai ajouter cette possibilité d'action dans les XP Test Effector / Test 3D / Test Obstacles (le 2ème tableau).
J'ai aussi ajouté cette option dans les variantes pour pouvoir l'activer où l'on veux (sauf dans les chroniques) par contre pour l'instant on ne peut activer qu'un effector « standart » sans pouvoir le configurer selon ses envies (à voir peut être plus tard).
D'ailleurs, comme pour les autres options, j'ai mis un petit message ingame pour indiqué qu'une action était disponible, mais je ne trouve pas de formule (courte) satisfaisante, si vous avez des idées, je suis preneur (en anglais ou français).


Image


Et puis après, il y aussi eu plein de petits trucs qui sont transparents pour le joueur donc je vais pas m’étendre.

Pour la suite du programme, je ne suis pas encore fixé donc on va dire que ce serra une surprise.

Comme d'hab, si vous voulez tester, c'est par ici :
https://liven.itch.io/ping
NB 1 : Les touches « Page Haut / Page Bas » permettent de passer d'un tableau à l'autre.

Avatar de l’utilisateur
Sebela
Messages : 141
Inscription : 25 Juin 2014 21:39

Re: [WIP] Ping

Message par Sebela » 21 Nov 2018 14:37

Je trouve l'idée de faire un tableau en 3D excellente ! J'aime beaucoup le rendu avec la vue du dessus !
ça casse peut-être le côté répétitif de l'enchaînement des tableaux. J'adhère ! ^^
J'aime bien l'effet que tu donnes avec les arrêtes sinon. Et la partie obstacles est top ! Je trouve que le côté parallax est assez efficace.
J'ai eu parfois un peu de mal à voir où était le perso à cause du background par contre (blanc sur blanc), peut-être une petite note de couleur au démarrage du niveau ?
Good job !

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: [WIP] Ping

Message par Liven » 23 Nov 2018 00:09

Merci pour ton retour.

J'ai bien noté ta remarque sur la visibilité, c'est vrai qu'en ayant le nez tout le temps dessus je ne m'en était pas rendu compte, je vais réfléchir à une solution pour la prochaine fois (un petit effet de particule peut être pour attirer l’œil).

Répondre

Revenir vers « Vos créations, jeux, démos... »