Qu’apporte la mise à jour 4.13 de Unreal Engine?

On ne présente plus Unre­al Engine 4 qui reste à mon sens le meilleur moteur de jeux 3D, et notam­ment lorsqu’il s’agit de dévelop­per des applis de réal­ité virtuelle.

La ver­sion 4.13 disponible depuis sep­tem­bre 2016  ne déroge pas à la règle et apporte des amélio­ra­tions prin­ci­pale­ment pour la com­mu­nauté de développeurs VR. Faisons le tour des prin­ci­pales nou­veautés.

Édi­teur de ciné­ma­tiques: Sequencer

Le Séquenceur, l’éditeur de ciné­matographique non linéaire, a été mis à jour pour la ciné­matogra­phie haut de gamme.

L’enregistrement d’une par­tie de jeu en direct a été améliorée, il ne s’agit plus d’une sim­ple vidéo car sons et effets sont enreg­istrés de façon séparée et peu­vent être mod­i­fiés. Pour en voir plus, c’est ici.

413image_1

Il est pos­si­ble de créer des groupes de caméra, de suiv­re un per­son­nage si la caméra est mise en enreg­istrement automa­tique.

Sequencer peut main­tenant importer et exporter des fichiers au for­mat EDL (CMX).

413 image_35

La pho­to mon­tre une séquence qui a été exportée vers Adobe Pre­miere Pro. Toute mod­i­fi­ca­tion de séquençage faite sous Pre­miere peut ensuite être réim­portée dans le Séquenceur de UE4 ! Super non ?

Sequencer burn-ins

Lors du ren­du, vous pou­vez main­tenant con­fig­ur­er un “burn-ins” pour les images exportées pour l’identification et le suivi des plans, c’est à dire la pos­si­bil­ité d’ajouter du texte dynamique (comme le n° de frame, la date, etc.):

143 image_37

Unre­al VR Edi­tor

Les jeux VR peu­vent main­tenant utilis­er les ombres de type cap­sule, et l’instanciation stéréo a été opti­misée (encore une fois).

Vous pou­vez entr­er et sor­tir du mode édi­tion VR en met­tant ou reti­rant le casque — ça c’est un gain de temps appré­cia­ble pour le développeur !

413 image_33

Il est pos­si­ble de jouer immé­di­ate­ment en acti­vant “Enable VR Edit­ing” dans la sec­tion des Préférences Edi­teur. Appuyez sur le bou­ton “Play” du menu rapi­de pour com­mencer à jouer en VR! Pour revenir à l’éditeur de VR, main­tenez les bou­tons de poignée sur les deux con­trôleurs et press­er les deux bou­tons de déclenche­ment.

Tem­plate de pro­jet VR

418 image_18

413 image_19

Pour y accéder, choisir la nou­velle option VR dans la fenêtre Nou­veau pro­jet.

Ce pro­jet de plan directeur a des paramètres qui sont opti­misés pour fonc­tion­ner en VR jusqu’à 90 images par sec­onde. Deux modes de loco­mo­tion, répar­tis en deux Blue­prints Pawn dis­tincts: le pre­mier pour gamepads, le sec­ond prend en charge les con­trôleurs de mou­ve­ment. Lors de l’utilisation des con­trôleurs de mou­ve­ment, vous pou­vez vous télé­porter à dif­férents endroits et saisir et jeter des objets.

Pein­dre directe­ment en VR

Vous pou­vez main­tenant pein­dre sur des tex­tures ou mail­lage des som­mets en util­isant l’éditeur de VR.

413 image_26

Cela per­met d’utiliser des con­trôleurs de mou­ve­ment pour pein­dre en étant immergé dans VR. Pour utilis­er cette fonc­tion, ouvrez la fenêtre “Modes” en VR, puis cliquez sur l’onglet “Mesh Paint”. Main­tenant, sélec­tion­nez un objet dans le monde, puis visez et peignez! La sen­si­bil­ité à la pres­sion sur la gâchette du con­trôleur est prise en charge et vous pou­vez utilis­er le bou­ton «Mod­i­fi­er» pour effac­er.

Bon, j’avoue que ça me parait gad­get, mais cela va dans le sens de la créa­tion d’un niveau en mode VR — donc au final, c’est top de pou­voir avoir cette pos­si­bil­ité.

La mise en place d’arbres en automa­tique en VR

Vous pou­vez utilis­er les con­trôleurs de mou­ve­ment pour met­tre en place les arbres dans la VR.

413 image_27

Sélec­tion­nez un type d’arbres, visez et appuyez sur la gâchette pour les installer dans le monde, avec le bou­ton de mod­i­fi­ca­tion, vous pou­vez effac­er les arbres. Comme pour la pein­ture, la sen­si­bil­ité à la pres­sion est prise en charge. En out­re, l’éditeur Foliage a été amélioré.

Col­or pick­er en VR

La fenêtre Col­or Pick­er est main­tenant disponible en VR, de sorte que vous pou­vez mod­i­fi­er les pro­priétés de couleur sur les lumières et les autres assets du niveau.

413 image_28

Coté VR, un petit gad­get rigo­lo: le VR EDITOR FLASHLIGHT — ben oui, en mode édi­teur, si c’est trop som­bre et que vous auriez bien besoin d’une torche… elle existe main­tenant !

image_31

Notez aus­si la pos­si­bil­ité de faire des screen­shot en mode VR !

 

Ren­du

De nou­velles fonc­tion­nal­ités de ren­du ont été ajoutées:

  • Écrire directe­ment en Blue­print (donc sans pro­gram­ma­tion C++) ses pro­pres matéri­aux et effets

413image_6

Exem­ple d’utilisation: Sim­u­la­tion de sur­face de flu­ide créée entière­ment grâce aux Blue­prints et matéri­aux. Les per­son­nages et les pro­jec­tiles influ­ent sur le flu­ide.

413image_7

La nou­velle fonc­tion Blue­print Draw Mate­r­i­al to Ren­der Tar­get pour les entrées de matéri­aux avec l’entrée Emis­sive Col­or.

413image_8

Pour un tra­vail plus avancé, il faut utilis­er Begin Draw Can­vas to Ren­der Tar­get et End Draw Can­vas to Ren­der Tar­get comme ci-dessous:

413image_10

  • La pos­si­bil­ité d’utiliser le GPU (>=Shad­er Mod­el 5) pour cal­culer le mor­ph­ing de mesh­es
  • l’amélioration de la réfrac­tion de haute qual­ité,
  • les fonc­tions opti­misées de bruit per­me­t­tent de génér­er des matéri­aux de manière aléa­toire, y com­pris le bruit de Voronoï pour la généra­tion procé­du­rale et le mar­bre ou du sable:

413image_3

413image_4

Cet exem­ple utilise un bruit Voronoi avec une tech­nique appelée «car­togra­phie gra­di­ent» pour obtenir un look de mar­bre.

texte alt image

De gauche à droite:
1) La norme Voronoi Noise, 1 octave
2) Voronoi avec bruit “dégradé” ajouté à la posi­tion d’entrée à 0,05
3) le bruit Gra­di­ent mul­ti­plié par 0,3 avant d’ajouter à la posi­tion d’entrée Voronoi
4) En util­isant l’étape 3 comme coor­don­nées de tex­ture pour un pavage tex­ture aléa­toire

Le bruit Voronoi com­porte qua­tre niveaux de qual­ité, avec la diminu­tion des arte­facts mais avec une aug­men­ta­tion sig­ni­fica­tive du temps d’ombrage.

  • la mise en cache de la carte des OmbresSHADOW MAP CACHING” per­met de met­tre plus de lumières dynamiques, les cal­culs de lumière peu­vent être réu­til­isés d’une image à l’autre, per­me­t­tant d’améliorer les per­for­mances

413 image_2

L’image ci-dessus mon­tre 33 points dynamiques d’ombre avec des cal­culs min­imes.

Par défaut, la mise en cache ne peut se pro­duire lorsque:

  • Prim­i­tives sont réglées en mobil­ité sta­tique ou sta­tion­naire
  • Les matéri­aux util­isés n’utilisent pas  la Posi­tion Off­set du monde
  • La lumière est un point ou une tache

Les matéri­aux qui utilisent une Tes­sel­la­tion d’animation ou une pro­fondeur de Pix­el Off­set peu­vent provo­quer des arte­facts.

Amélio­ra­tion du land­scape tes­se­la­tion pour un LOD plus rapi­de et donc la pos­si­bil­ité de gér­er des paysages encore plus grands !

image_40

Dans le même ordre d’idée, les com­posants de type scene cap­tures ont été améliorés (comme le sup­port des pro­jec­tions orthographiques).

Shad­er mod­el 5: ren­du pour mac

Toutes les fonc­tion­nal­ités de Unre­al Engine 4 sont main­tenant disponibles de Met­al sur Mac OS X.

Nou­veau: Mesh pre­view scenes

Pour prévi­su­alis­er les mesh­es sta­tiques et squelet­tiques.

413 image_12

Un nou­veau pan­neau Pre­view Scene Set­tings per­met de con­fig­ur­er plusieurs pro­fils (scènes) pour prévi­su­alis­er vos mesh­es, et les pro­fils per­me­t­tent de chang­er:

  • Lumière direc­tion­nelle (couleur, inten­sité, rota­tion)
  • lumière Sky (HDRI envi­ron­nement map, inten­sité, rota­tion)
  • paramètres de traite­ment

413 image_13

Nou­veau: Mesh Decals 

Per­met de coller des matéri­aux sur les mail­lages sta­tiques, et donc de super­pos­er dif­férents matéri­aux.

413 image_14

Les piliers ci-dessus sont créés en mail­lage de base super­posée avec un mail­lage unique détail­lé. Le pili­er gauche utilise un decal de mail­lage pour per­me­t­tre les mélanges de couleur, nor­mals et rugosité. Le plus à droite pili­er est un matéri­au masqué, juste pour la com­para­i­son.

413 image_15413 image_16

Nou­veau: Pro­ce­dur­al Mesh slic­ing (TOP)

Nou­v­el util­i­taire dans le Pro­ce­dur­al Mesh Com­po­nent pour “tranch­er”. qui sup­porte les sim­ples col­li­sions, et la sim­u­la­tion physique. Un util­i­taire per­met de copi­er des don­nées à par­tir d’un mail­lage sta­tique à un mail­lage procé­dur­al. Alors là, je trou­ve cela vrai­ment super: non seule­ment, on va pou­voir très sim­ple­ment apporter plus de réal­isme aux scènes en util­isant le moteur de physique, mais en plus, cela laisse envis­ager une util­i­sa­tion pour creuser des ter­rains par exem­ple, sans pass­er par les Vox­els.

413 image_25

Ani­ma­tions Ver­tex : l’importateur Alam­bic (expéri­men­tal)

Alam­bic per­met d’importer des ani­ma­tions ver­tex com­plex­es. La com­posante d’animation physique per­met aux per­son­nages de réa­gir de manière réal­iste aux forces physiques en réal­isant l’ ani­ma­tion squelet­tique par le biais des moteurs.

413 image_11

L’importation peut être faite de dif­férentes façons:

  • Mesh sta­tique: Une seule image de l’animation Alem­bic est importée

  • Geom­e­try Cache: L’animation Alem­bic sera lue comme un flip­book.

  • Mesh Skele­tal  Lors de l’ impor­ta­tion, la séquence d’animation est com­pressée en util­isant un sché­ma PCA

Edit au 15/10/2016: Jean Meli nous a réal­isé un petit tuto en français pour exporter une ani­ma­tion Physique de Blender vers UE4 en util­isant Alem­bic:

 Nouveau : physical component animations

Per­met de faire facile­ment l’animation du mail­lage du squelette par des moteurs physiques.

413 image_23

Le com­posant per­met de définir l’utilisation de pro­fils d’animation physique pré-con­fig­urés qui peu­vent être créés et mod­i­fiés à l’ intérieur de PhAT. La nou­velle fonc­tion­nal­ité “Phys­i­cal Ani­ma­tion Pro­files” four­nit un moyen de per­son­nalis­er la physique dans dif­férents con­textes, ain­si que le peaufin­er les ani­ma­tions spé­ciales. Bon, dif­fi­cile de vous décrire plus cela, il fau­dra qu’on se trou­ve une vidéo qui par­le de ça…

Nou­veau: wid­get inter­ac­tion com­po­nent

Pour simuler des événe­ments venant du matériel avec des com­posants de wid­get dans la scène.

413 image_17

Vous pou­vez join­dre comme poin­teur laser toute manette, souris ou autre matériel afin d”interagir avec les wid­gets.

Je peux vous con­firmer que c’était bien une fonc­tion­nal­ité man­quante jusqu’à présent ! Dans l’un de mes derniers pro­jets de VR on devait pou­voir inter­a­gir avec des menus réal­isés en wid­get 3D. Il fal­lait émuler des clics de souris et utilis­er une bidouille pour y arriv­er. C’était chi­ant et pas top, mais on y arrivait. Main­tenant, ce sera beau­coup plus sim­ple. Avant ça, on ne pou­vait pas vrai­ment utilis­er les wid­gets 3D en VR sans bidouiller…

Mobiles

Pour les développeurs mobiles, les ombres dynamiques ont été opti­misées, les matéri­aux HD sont pris en charge, et le post-traite­ment per­son­nal­isé est main­tenant pos­si­ble. OpenGL ES 3.1 peut main­tenant être util­isé sur Android.

Cus­tom Post-Process mate­ri­als

Les matéri­aux per­son­nal­isés Post-process peu­vent désor­mais être util­isés sur les appareils mobiles.

413 image_20

  • Cette fonc­tion néces­site que l’option  « HDR mobile ” soit activée dans les paramètres du pro­jet et néces­site des appareils récents
  • Prend en charge la récupéra­tion de PostProcessInput0 (Scène de couleur)

    Nou­veau: Light­ing chan­nels sur Mobiles

Les canaux d’éclairage fonc­tion­nent main­tenant dans le ren­der­er mobile! Ceux-ci vous per­me­t­tent d’éclairer de manière sélec­tive des objets.

413 image_21

  • lumières direc­tion­nelles mul­ti­ples pris­es en charge dans dif­férents canaux.

  • Chaque prim­i­tive peut être affec­tée par une seule lumière direc­tion­nelle. Le pre­mier canal d’éclairage situé sur une prim­i­tive déter­mine quelle lumière direc­tion­nelle aura une inci­dence sur elle.
  • les shad­ow maps en cas­cade (CSM) de lumières direc­tion­nelles fix­es ou mobiles exprimés unique­ment sur des prim­i­tives avec des canaux cor­re­spon­dant d’éclairage.
  • Les dynam­ic point lights sou­ti­en­nent pleine­ment les canaux d’éclairage.

Test automa­tion for android

Le lanceur de pro­jet peut pack­ager et lancer votre pro­jet sur plusieurs appareils Android simul­tané­ment. L’application en cours d’exécution sur chaque appareil com­mu­ni­quera au PC hôte via le câble USB et appa­raî­tra dans la fenêtre Ses­sion Fron­tend.

413image_64

Vous pou­vez alors lancer des tests automa­tisés sur tous les appareils et voir les résul­tats de la ses­sion Fron­tend.

Assis­tant pack­ag­ing pour mobiles

Un Assis­tant pack­ag­ing pour mobile a été ajouté pour aider au télécharge­ment sur un App Store et le reste du con­tenu est téléchargé à par­tir du Cloud.

413 image_66

Nou­veau : ani­ma­tion pose assets

Un nou­veau type d’animation d’assets appelé Pose Asset con­tient un ensem­ble de pos­es d’os nom­més, que vous pou­vez mélanger.

413 image_41

Per­met l’ani­ma­tion faciale FACS (Facial Action Cod­ing Sys­tem) ou l’utilisation des courbes viseme pour l’adaptation du vis­age au dia­logue. Bref, c’est vrai­ment une fonc­tion­nal­ité très intéres­sante à plus d’un titre !

Pose dri­ver ani­ma­tion node

Un nou­veau node per­met d’utiliser une courbe sur le mou­ve­ment d’un os.

413 image_44

Celui-ci utilise un RBF (Radi­al Basis Func­tion) pour inter­pol­er les valeurs en fonc­tion de l’orientation d’un os cible.

Ani­ma­tion node pose watch­ing

Le  graphe  des ani­ma­tions peut être suivi dans Per­sona.

413 image_45

Cela vous per­met de voir une représen­ta­tion de la pose générée à un point quel­conque dans le graphique anim dynamique­ment. Des moments mul­ti­ples peu­vent être act­ifs à la fois vous per­me­t­tant de com­par­er des pos­es à dif­férents points et de trou­ver le point exact où les erreurs dans votre pose actuelle sont intro­duites. Cela peut être très utile pour le débo­gage des Blue­prints d’animation com­plex­es.

Nou­veau: line trace ren­voie les coor­don­nées de tex­ture

Per­met de ren­voy­er à par­tir d’un line trace, non seule­ment le point d’impact, mais aus­si la coor­don­nées UV de la tex­ture ! Je vois déjà plein d’applications pra­tiques, comme de sim­pli­fi­er le fait de point­er sur une mappe­monde par exem­ple.

413 image_50

L’option est sous Paramètres du pro­jet -> Physique -> Opti­mi­sa­tions. Lorsque cette option est activée, vous pou­vez utilis­er la fonc­tion “Find Col­li­sion UV” pour obtenir un Hit Result. L’activation de cette fonc­tion fait utilis­er de la mémoire sup­plé­men­taire, comme une copie de l’information UV doit être stocké dans la mémoire du CPU.

Amélio­ra­tion de l’édition spline

Il est pos­si­ble de définir des points de com­posants Spline dans l’éditeur de Blue­print en util­isant le visu­aliseur stan­dard. De nou­velles instances du Blue­print seront créées avec les valeurs par défaut, bien que celles-ci peu­vent être sub­sti­tuées sur un niveau une fois placé.

413 image_51 (1)

Le “Reset to Default” établit une instance inverse vers le Blue­print par défaut. Toutes les mod­i­fi­ca­tions apportées au Blue­print défaut sont propagées à une instance dont les points spline n’ont pas été ultérieure­ment mod­i­fiés.

413 image_52

Sous-ani­ma­tion Blue­print

La logique d’animation peut être partagée à l’aide d’un noeud “Sub Anim instance» au sein de l’animation Blue­print pour une autre ani­ma­tion Blue­print Sub. Cela per­met égale­ment de sépar­er les grandes ani­ma­tions Blue­prints dans des assets dis­tincts en «loco­mo­tion» et «par­ties de la physique».

413 image_59

Nou­veau: ani­ma­tion view­er curve

L’onglet Squelette Curve de Per­sona a été sup­primé et cette fonc­tion­nal­ité a été déplacée  dans l’onglet Ani­ma­tion Curves. Vous pou­vez main­tenant renom­mer et sup­primer des courbes, ain­si que la prévi­su­al­i­sa­tion des don­nées de courbe. On homogénéise le tout en quelques sortes.

413 image_60

Vous pou­vez voir toutes les courbes qui appar­ti­en­nent au squelette actuel ou les courbes actuelle­ment actives de prévi­su­al­i­sa­tion asset. Vous pou­vez égale­ment fil­tr­er par type spé­ci­fique de courbe pour ne voir que les courbes actives.

Pour mod­i­fi­er la valeur de la courbe, vous pou­vez soit dés­ac­tiv­er l’option de case à cocher Auto ou tapez sim­ple­ment la valeur.

Sprites in UMG Wid­gets

On peut main­tenant utilis­er des sprites provenant des brush­es paper 2D dans les wid­gets 3D (UMG).

image_61

Divers

  • Amélio­ra­tions con­cer­nant la local­i­sa­tion des textes (pour les pluriels, le genre, etc.). Bref, des syn­tax­es de for­matage sup­plé­men­taires pour une meilleure tra­duc­tion des textes.
  • Util­i­sa­tion expéri­men­tale (à activ­er donc) pour utilis­er le mul­ti­thread dans la ges­tion des sons (Use­Au­dio­Thread to true in the [Audio] sec­tion of BaseEngine.ini)
  • L’AI, les behav­ior trees et les EQS ne sont pas en reste avec plusieurs cor­rec­tions, amélio­ra­tions et opti­mi­sa­tions.

Les SDK des dif­férentes plate­formes ont été mis­es à jour

  • iOs / tvOS: les pro­jets de code sont désor­mais pris en charge dans la ver­sion Win­dows de UE4 avec l’Unreal Engine Launch­er.
  • Xbox One: Mise à jour vers Août 2016 XDK
  • Playsta­tion 4: Mise à jour vers SDK PS4 3.508.201
  • Ocu­lus Rift: Mise à jour du Run­time Ocu­lus 1.6
  • SteamVR: Mise à jour à Open­VR 1.0.2
  • Google VR: Ajout Google VR (car­ton) sup­port pour iOS
  • OSVR: Mise à jour à v0.6–1194-g0c54f5e
  • Android: Google Play Jeux natif C ++ SDK mis à jour à 2,1
  • Android: les ser­vices Google Play mis à jour 9.2.0
  • Android: Prise en charge en cours d’exécution sur Nougat aka Android 7.0
  • API Vulkan: SDK Mise à jour à 1.0.17.0 (pour Android et Win­dows)

image_39

Pour en savoir plus: https://www.unrealengine.com/blog/unreal-engine-4–13-released

Voilà, c’est encore du lourd avec cette mise à jour ! Quelques soucis de san­té m’empêchent aujourd’hui de suiv­re le rythme des mis­es à jour et j’ai aus­si pris du retard dans la rédac­tion des cahiers, alors n’hésitez pas à com­menter ce post si cer­taines choses ont été mal présen­tées, ou si cer­tains points impor­tants sont absents dans cette liste.

 

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.