0

Création d’un Gradient dans l’Espace Objet

Salut à tous! Nous allons créer un material sur Unreal Engine 4 permettant de créer un gradient dans l’espace objet des meshes sur lesquels il sera appliqué. Qu’est-ce que l’espace objet? Pour faire simple, lorsque nous plaçons un mesh dans le world (ou espace world), nous lui donnons des coordonnées qui sont relatives au centre de ce dernier. Ainsi, si nous voulions placer un objet aux coordonnées (25 , 2 , 12) de notre world, il nous faudrait partir du centre de ce dernier puis nous déplacer de 25 unités le long du vecteur X de notre repère orthonormé (visible en bas à gauche du viewport d’Unreal Engine 4), 2 unités le long du vecteur Y et 12 unités le long du vecteur Z. Si par contre nous voulions placer un mesh A dans l’espace objet d’un mesh B, cette fois-ci les coordonnées de A seraient exprimées relativement à B. Nous prendrions ainsi comme centre du repère, le point de pivot du mesh B, et comme axes du repère ses axes X, Y et Z.

Dans la suite de ce tuto, nous allons donc créer un material qui, pour chaque point de la surface du mesh, va permettre de définir sa couleur en fonction de sa position par rapport au point de pivot de ce dernier. Pour ce faire, suivez les étapes décrites ci-dessous.

Etape 1. Si ce n’est pas déjà fait, ouvrez un projet et créez un nouveau material. Les paramètres par défaut de ce dernier suffisent.

Etape 2. Il ne vous reste plus qu’à modifier le code de votre material de manière à obtenir la même chose que sur l’image ci-dessous. Vous pouvez cliquer sur cette dernière pour l’agrandir. Et voila! 🙂

Avant de terminer ce tuto, voici une explication du fonctionnement de certains de ces noeuds:

  • Absolute World Position: récupère la position du pixel courant dans l’espace world.
  • Object Position: récupère la position du mesh dans l’espace world.
  • TransformPosition: transforme les coordonnées exprimées dans un espace donné vers un autre espace. Dans ce tuto, nous transformons les coordonnées exprimées dans l’espace world en coordonnées exprimées dans l’espace objet (object space ou local space en anglais).
  • ObjectLocalBounds: récupère les dimensions de la bounding box  du mesh. La bounding box d’un mesh est la plus petite boite contenant la totalité des vertices de ce dernier. Par exemple, la bounding box d’une sphère de rayon 10cm serait un cube de dimensions 10cm*10cm*10cm.
0

Mon premier tuto YouTube!

Cela va faire maintenant plusieurs mois que je me tâte à lancer ma chaîne Youtube. L’enseignement étant l’une de mes plus grande passion, j’ai toujours voulu proposer des petits tutoriels traitant principalement d’Unreal Engine, mais sans jamais vraiment m’y mettre sérieusement. Hier soir, j’ai décidé de faire le grand saut et d’enregistrer mon premier tuto vidéo sur la création d’un matériau facilitant le level design. Afin de concrétiser tout ça le plus vite possible, et pour lancer la machine, je me suis imposé le fait de le publier directement en ligne sans faire de chichi et sans tenter d’en faire une version parfaite. Du coup, il fait un peu brouillon des fois, mais je suis plutôt content du résultat 🙂

J’ai déjà un nom pour la série de tutoriels que je compte faire. Je vais appeler ça “L’apéro UE4” et je proposerais des tutos que je tenterais de rendre le plus clair et concis possible. Ma première vidéo fait environ 17 minutes, mais pour les prochaines j’essayerais de rester dans un format en dessous de 10, voire 5 minutes. Si ça vous plait, n’hésitez pas à mettre un petit like et à vous abonner à ma chaîne en cliquant sur la petite cloche. Je ne pense pas être très régulier dans les publications mais je tenterais de ne pas descendre en dessous d’une vidéo par mois.