Unreal Engine 4.14 — quelles nouveautés?

Yes, une nou­velle mou­ture de notre moteur de jeu préféré ! Avant de lis­ter toutes les nou­veautés, je vous rap­pelle que vous trou­verez l’historique des autres mis­es à jour sur cette page, mais surtout, n’hésitez pas à deman­der le “Guide 2015–2017 des nou­veautés d’Unreal Engine” qui est gra­tu­it — enfin, je ne vous demande que votre email pour pou­voir vous envoy­er des trucs de temps en temps — et vous pou­vez vous dés­abon­ner à tout moment — dans tous les cas, cela ne rem­place pas le RSS. Il a été mis à jour avec 4.15, les inscrits ont reçu un email.

Rendu, Matériaux et Post-Process

Unre­al Engine 4.14 intro­duit un nou­veau moteur de ren­du d’ombrages (opti­misé pour la VR entre autres).

ue-414-image_1

Il per­met de com­bin­er les fonc­tion­nal­ités d’éclairage avec l’anticrénelage à plusieurs échan­til­lons (MSAA), le MSAA est préférable pour les pro­jets VR .

Pour utilis­er MSAA, définis­sez la valeur par défaut Anti-Alias­ing Méth­ode dans les paramètres du pro­jet de ren­du:

ue-4-14-image_4

Les fonc­tion­nal­ités gérées sont par exem­ple:

  • les lumières sta­tion­naires  en prenant en compte les objets en mou­ve­ment (ombres dynamiques)
  • les réflex­ions mul­ti­ples et planaires
  • Toutes les lumières pré cal­culées (lightmaps)
  • les ombres cap­sules

Les nou­velles fonc­tion­nal­ités Ombres de con­tact (Con­tact Shad­ows) per­me­t­tent un excel­lent détail des ombres dynamiques des objets com­plex­es.

Les sce­narii d’éclairage

L’éclairage pré­cal­culé pour de mul­ti­ples con­fig­u­ra­tions d’éclairage avec la même géométrie est main­tenant pos­si­ble.

ue-4-14-image_12

ue-4-14-image_13

Dans l’exemple ci-dessus, la lumière direc­tion­nelle, la lumière du ciel et sky­box ont été placés dans un scé­nario d’éclairages appelé DaySce­nario. Les lam­padaires ont été placés dans NightSce­nario. Vous imag­inez les gains de pro­duc­tiv­ité de votre work­flow quand il s’agit de pou­voir utilis­er les mêmes lieux à dif­férents moments de la journée ?

Pour utilis­er les scé­nar­ios d’éclairage:

  • clic droit sur un sous-niveau dans la fenêtre lev­el win­dows et chang­er pour Light­ing Sce­nario. Quand un niveau de scé­nario est ren­du vis­i­ble, ses lightmaps sont appliquées dans le monde.
  • Chang­er la méth­ode de dif­fu­sion de niveau Blue­print au niveau du scé­nario d’éclairage
  • Plac­er les mesh­es et les lumières dans ce niveau et con­stru­ire l’éclairage
  • Dans le Begin­Play du niveau du lev­el blue­print du niveau per­sis­tant, exé­cuter un Load Stream Lev­el au niveau du scé­nario d’éclairage.

ue-4-14-image_15

Amélio­ra­tion des lumières sur les objets translu­cides

ue-4-14-image_16

Dans le ren­du dif­féré, la nou­velle fonc­tion­nal­ité d’ombrage peut être util­isée sur des sur­faces translu­cides pour obtenir reflets spécu­laires de mul­ti­ples lumières.

Shad­ing peau en haute-réso­lu­tion

UE4 prend désor­mais en charge l’ombrage de la peau en haute-réso­lu­tion pour le  mod­èle d’ombrage Sub­sur­face Pro­fil. Ceci per­met d’obtenir un très bon éclairage pour les détails comme les pores et les rides.

ue-4-14-image_18

Ci-dessus, éclairage obtenue avec le motif dami­er util­isé aupar­a­vant, et ci-après le nou­v­el affichage:

ue-4-14-image_19

Bon, j’avoue, avec cette image et sans pos­si­bil­ité de bouger autour de l’objet, c’est pas évi­dent de voir la dif­férence. Un petit zoom pour mieux voir:

unreal_engine_4-14_released_-_2016-11-19_11-27-45

Nou­v­el éclairage où chaque pix­el con­tient des infor­ma­tions d’éclairage dif­fus et spécu­laire dans un encodage RGBA. Cela néces­site au moins un for­mat de couleur scène 64 bits avec un canal alpha com­plet.

Ce com­porte­ment peut être mod­i­fié en util­isant la vari­able con­sole r.SSS.CheckerboardLes valeurs pos­si­bles pour cela sont: 0: Dami­er dés­ac­tivé (réso­lu­tion com­plète), 1: Dami­er activé (ancien com­porte­ment), 2: Automa­tique (par défaut)

Amélio­ra­tion de la qual­ité de la “Reflec­tion Cap­ture”

Quand on utilise les “Reflec­tion Cap­ture” (voir tome 3 des cahiers d’unreal Engine), le moteur réalise un mixte entre l’émission spécu­laire provenant de la cap­ture avec la lumière indi­recte émise par la lightmap.

ue-4-14-image_22

A gauche, on utilise le mixte, et pas à droite. Cela donne de bons résul­tats sur les sur­faces rugueuses, mais pas sur les sur­faces liss­es. De fait, le mix­age est désor­mais dés­ac­tivé pour toute sur­face ayant un rough­ness > .3, puis un gra­di­ent (fade) sera appliqué jusqu’à .0. Cela donne ain­si de meilleurs résul­tats.
Et cela a d’ailleurs un impact sur l’environnement direct comme illus­tré ci-dessous:

image_23

Mate­r­i­al attribute nodes

Tra­vailler avec les Mate­r­i­al Attrib­ut­es est main­tenant plus facile.

  • Get­Ma­te­ri­alAt­trib­ut­es — Ce nœud est un rem­place­ment com­pact pour Break­Ma­te­ri­alAt­trib­ut­es
  • Set­Ma­te­ri­alAt­trib­ut­es — Ce nœud est un rem­place­ment com­pact pour Make­Ma­te­ri­alAt­trib­ut­es
  • Blend­Ma­te­ri­alAt­trib­ut­es — nou­veau nœud pour per­me­t­tre de faire plus facile­ment le mélange des matières Attrib­uts struc­tures.

La sélec­tion d’un nœud mon­tre la liste des pins actuelles dans le pan­neau de détails qui peu­vent être éten­dues ou sup­primés. Par exem­ple, la fonc­tion ci-dessous prend un ensem­ble d’attributs mélange ensuite la couleur de base et Rough­ness à une sur­face rouge bril­lant.

ue-4-14-55

 

Animations

Édi­teur d’animation Revamp

Les out­ils liés à l’animation ont été divisés en édi­teurs d’assets dis­tincts plutôt que d’utiliser un édi­teur avec plusieurs modes.

ue-4-14-unreal_engine_4-14_released_-_2016-11-16_19-07-20

Beau­coup d’autres amélio­ra­tions ont été apportées sur l’éditeur Skele­tal Mesh, l’éditeur Skele­ton, l’éditeur d’animation et l’éditeur de Blue­print ani­ma­tion.

Fenêtre courbe d’animation 

Vous pou­vez main­tenant mod­i­fi­er la courbe ani­ma­tions grâce à la nou­velle fenêtre dédiée. Les courbes sont visu­al­isés en direct que vous les mod­i­fiez.

ue-4-14-image_45

Blue­print ani­ma­tion par défaut

Per­met d’attribuer un Ani­ma­tion Blue­print à un skele­tal mesh qui sera tou­jours en exé­cu­tion quelque soit l’outil util­isé (dans le niveau, dans le sequencer, etc.).

ue-4-14-image_48

Pre-skinned local posi­tion

Les matéri­aux ont main­tenant accès à la posi­tion de référence d’un skele­tal mesh pour une util­i­sa­tion dans les sor­ties per-ver­tex. Cela per­met des effets local­isés sur un per­son­nage ani­mé. Le nœud peut être partagé pour les mail­lages sta­tiques pour lesquels il ren­voie la posi­tion locale. L’exemple ci-dessous crée un motif en grille dans l’espace local, qui reste relatif à la maille du squelette pen­dant l’animation:

ue-4-14-57

ue-4-14-58

os virtuels

Ont été ajoutés des «os virtuels» à un squelette. Les os virtuels ne sont pas skinnables, mais con­traints entre deux os exis­tants sur le squelette. Par exem­ple, vous pou­vez ajouter un joint, enfant d’une main, mais con­traint à un joint de paume.

Child Ani­ma­tion Mon­tages

Créer un Mon­tage enfant basé sur un Mon­tage par­ent, per­met de  rem­plac­er des clips d’animation. Utile pour ajouter des vari­a­tions à un mou­ve­ment tout en garan­tis­sant qu’il n’aura pas d’incidence sur le game­play.

ue-4-14-65

édi­teur de lecteur média

Vous pou­vez main­tenant gliss­er dépos­er des fichiers depuis l’ordinateur dans la fenêtre du lecteur mul­ti­mé­dia pour visu­alis­er les fichiers vidéo sans devoir créer un asset File­Me­di­a­Source.

ue-4-14-77

Meshes et Génération procédurale

Généra­tion automa­tique de LOD: Unre­al Engine  réduit main­tenant automa­tique­ment le nom­bre de poly­gones de vos mail­lages sta­tiques pour créer LODs

ue-4-14-image_10

L’animation ci-dessus mon­tre cinq LODs qui ont été générés automa­tique­ment. Cha­cun d’eux est la moitié du nom­bre de tri­an­gles comme le précé­dent.

Ce sim­plifi­ca­teur de maille main­tient les UV et donc les mêmes matéri­aux peu­vent être util­isés, et les LOD peu­vent partager la même lightmap.

 “Auto Com­pute LOD Dis­tances” est un paramètre impor­tant parce que l’algorithme con­naît la dif­férence visuelle maxi pos­si­ble pour déter­min­er le niveau d’erreur accept­able. Il va donc automa­tique­ment cal­culer la taille de l’écran à utilis­er pour chaque LOD.

Créa­tion de Sta­t­ic Mesh dans l’éditeur à par­tir de n’importe quel actor

Il suf­fit de faire un clic droit sur un actor dans le lev­el, puis de cli­quer sur “Con­vert Actor to Sta­t­ic Mesh” comme dans cette vidéo. cela fonc­tionne aus­si avec les per­son­nage skin­nés: ain­si on peut pren­dre une pose et “extraire” le sta­t­ic mesh cor­re­spon­dant (pour faire une stat­ue par exem­ple).
J’ai encore du mal à imag­in­er les appli­ca­tions de cette fonc­tion­nal­ités, mais bon je sup­pose que cela doit être assez pra­tique. Je pense notam­ment à la généra­tion procé­du­rale et la pos­si­bil­ité d’exporter ain­si facile­ment ses créa­tions. Mais il doit y avoir encore d’autres besoins aux­quels je ne pense pas for­cé­ment.

Vec­tor Noise dans les matéri­aux

ue-4-14-unreal_engine_4-14_disponible_-_2016-11-16_18-32-13

Le nou­veau nœud “vec­tor noise”  ajoute plusieurs fonc­tions avec des vecteurs 3D ou 4D . Tout ou par­tie du cal­cul être pré­cal­culé dans une tex­ture en util­isant le Blue­print Draw Mate­r­i­al to Ren­der Tar­get intro­duit en 4.13. Ces nœuds four­nissent une alter­na­tive à la créa­tion de tex­tures générées avec un out­il externe. Les nou­velles fonc­tions sont les suiv­antes :

  1. Cell­noise : Ren­voie une couleur aléa­toire pour chaque cel­lule dans une grille 3D. Les résul­tats peu­vent donc fournir un moyen fiable pour ajouter un effet aléa­toire à un matéri­au.
  2. Per­lin 3D Noise : Cal­cule une ver­sion de Per­lin Noise Sim­plex avec sor­tie vecteur 3D. Chaque com­posant de sor­tie est com­pris entre -1 et 1.
  3. Per­lin Gra­di­ent : Cal­cule le gra­di­ent 3D ana­ly­tique d’un scalaire bruit Per­lin Sim­plex. La sor­tie est sur qua­tre canaux, où les trois pre­miers (RGB) sont le gra­di­ent, et le qua­trième (A) est le bruit scalaire. Ceci est utile pour les boss­es et pour les flow mapssur une sur­face
  4. Per­lin Curl : Cal­cule la boucle 3D d’un vecteur de bruit Per­lin Sim­plex. La sor­tie est un vecteur 3D. Ceci est utile pour l’écoulement de flu­ides ou de par­tic­ules.
  5. Voronoi : Cal­cule le même bruit Voronoi que le nœud de matéri­au scalar Noise. Le bruit de Voronoi scalaire éparpille les points dans l’espace 3D et ren­voie la dis­tance la plus proche. La ver­sion vec­to­rielle du bruit ren­voie l’emplacement du point le plus proche en RGB, et la dis­tance en A. Surtout cou­plé avec Cell­noise, cela peut per­me­t­tre à un com­porte­ment aléa­toire par cel­lule de Voronoï.

Ci-dessous, un matéri­au pierre réal­isé en util­isant le com­posant à dis­tance du vecteur de bruit / Voronoi pour mod­uler quelques boss­es de sur­face et se fon­dre dans la mousse dans les fis­sures, et la posi­tion de la graine avec Vec­tor Noise / Cell­noise pour chang­er la couleur et hau­teur des boss­es par roche.

ue-4-14-image_36

Encore des élé­ments qui ajoutent aux pos­si­bil­ité de généra­tion procé­du­rale d’UE4, afin d’ajouter plus d’aléatoire dans les matéri­aux.

Child actor tem­plates

Les com­posants ajoutés aux Child Actor Com­po­nents peu­vent avoir leurs pro­priétés per­son­nal­isées via Child Actor Tem­plates.

ue-4-14-image_46

Une fois que vous ajoutez un Child Actor Com­po­nent, vous ver­rez un mod­èle exten­si­ble dans le pan­neau Détails de l’éditeur de Blue­print. De là, vous pou­vez accéder à toutes les pro­priétés du Child Actor y com­pris les vari­ables publiques.

Amélio­ra­tion du com­posant Câble

Les câbles peu­vent main­tenant avoir un ren­du net­te­ment plus réal­iste : le moteur de jeu con­sid­ère leurs col­li­sions avec l’environnement (y com­pris avec fric­tion) et per­met d’y attach­er des objets et des effets.

Landscapes

Edi­teur de paysage en VR

Vous pou­vez main­tenant créer et sculpter des matéri­aux de paysage ter­rain et de pein­ture à l’aide des con­trôleurs de mou­ve­ment en VR!

ue-4-14-image_49

out­il de rota­tion de paysages

L’outil miroir de paysage (land­scape mir­ror tool) peut main­tenant invers­er la géométrie par­al­lèle­ment au plan de miroir, pour créer des cartes mul­ti­joueur diag­o­nale­ment opposées.

ue-4-14-67

Menus et Widgets

Les fontes peu­vent main­tenant être util­isées en ver­sion “out­line” dans l’UI:

image_31

Tous les wid­gets pos­sè­dent donc un “out­i­line size”, mais aus­si un “out­line mate­r­i­al” pou­vant être util­isé pour réalis­er divers effets comme:

Physique et particules

Upgrade de PhysX en 3.4

Le moteur physique inclus, PhysX, a été mis à jour vers la dernière ver­sion, ce qui améliore forte­ment la per­for­mance ; de nou­velles fonc­tion­nal­ités du moteur physique seront inté­grées dans les ver­sions à venir du moteur de jeu.

ue-4-14-image_39

Cette ver­sion de PhysX per­met la détec­tion con­tin­ue de Col­li­sion (CCD) sur les objets ciné­ma­tiques, ce qui per­met des col­li­sions pré­cis­es entre corps rigides en mou­ve­ment rapi­de. C’est impor­tant si vous tir­er avec un pro­jec­tile comme une balle de fusil dans un mur par exem­ple.

Prise en charge des véhicules améliorée

Les développeurs ont changé la façon dont les forces sont appliquées au niveau des pneus. Aupar­a­vant, elles étaient appliquées au barycen­tre du véhicule.

Les déplace­ments des véhicules n’étaient pas tou­jours gérés de manière très réal­iste : les forces qui s’appliquaient sur les pneus étaient con­sid­érées sur le véhicule lui-même et non sur le pneu. Ain­si, le moteur n’arrivait pas à simuler un véhicule qui tan­guait.

ue-4-14-50

Sim­ple Wheeled Vehi­cle Move­ment Com­po­nent per­met la sus­pen­sion de la roue et la fric­tion des pneus sans s’ennuyer avec les com­plex­ités du moteur et la sim­u­la­tion de la trans­mis­sion. Ce com­posant vous per­met d’appliquer facile­ment le cou­ple aux pneus.

Amélio­ra­tion du cloth skin­ning

A été ajoutée la pos­si­bil­ité de cal­culer nos pro­pres don­nées mesh-to-mesh skin­ning pour les vête­ments, donc plutôt que d’utiliser les don­nées de ren­du exportées dans un fichi­er .apx ou .apb, nous util­isons main­tenant ce que UE4 a déjà depuis l’asset APEX-exporté et Reskin.

Cela cor­rige des soucis comme les nor­mals qui pou­vaient être mal appliqués après import comme ci-dessous:

ue-4-14-_-_2016-11-16_21-18-27

Plugins et Technologies Tiers

Sup­port de nvidia ansel

7866368ee03a77c4f93d26c942770

Pren­dre des screen­shots en Super réso­lu­tion ou des pho­tos à 360°, et les retouch­er comme un pro… c’est pos­si­ble grâce à Nvidia Ansel — je vous con­seille la lec­ture de cet arti­cle.

Sous UE4, cela se matéri­alise par un plu­g­in qui per­met d’accéder à l’outil dans une ses­sion stand­alone. On peut aus­si le con­trôler via les blue­prints grâce à la classe Play­er Cam­era Man­ag­er.

Nou­veau plu­g­in MIDI

image_66

Per­met de con­necter directe­ment son syn­thé­tiseur par exem­ple et de dia­loguer avec lui via des ordres “midi”, ces derniers étant acces­si­bles par les Blue­prints via un MIDI Device Man­ag­er. Il suf­fit ensuite de faire un break sur la struc­ture et d’accéder à un tas de vari­ables.

Sequencer (ex-Matinee)

Amélio­ra­tion de la Cam­era Rig Crane

Pour le tour­nage de films, on utilise des sortes de grues sur lesquelles on fixe une caméra. Pour les besoins du sequencer, un même dis­posi­tif a été dévelop­pé il y a quelques temps. Existe égale­ment le sys­tème de rail sur lequel se déplace la caméra.

Le com­porte­ment de la grue imite main­tenant par­faite­ment celui d’une véri­ta­ble une grue:

enreg­istr­er de l’audio dans une séquence

ue-4-14-61

Vous pou­vez main­tenant enreg­istr­er de l’audio à par­tir d’un micro­phone pen­dant l’enregistrement dans une séquence.

amélio­ra­tion pose dri­ver

Le nœud Pose dri­ver per­met à un os de con­duire d’autres aspects de l’animation, basé sur un jeu d’exemples. Il peut main­tenant être une cible de mor­ph­ing, par exem­ple la con­duite d’un os épaule pour la rota­tion du bras.

ue-4-14-62

Pour les mobiles

Vulkan est main­tenant géré sur les plate­formes Android

Cela était déjà pos­si­ble avec quelques manip­u­la­tions sous Win­dows par exem­ple, mais avec la ver­sion 14, c’est inté­gré pour Android.

  • UE4 sup­porte les appareils sous Android 7 (Nougat) avec pilotes Vulkan, ain­si que le Galaxy S7 Sam­sung avec mise à jour OTA récente.
  • De nom­breux prob­lèmes de ren­du ont été cor­rigés.
  • Le ren­du passera automa­tique­ment à OpenGL ES s’il est lancé sur un appareil Android non com­pat­i­ble Vulkan.

ue-4-14-51

Sup­port de pro­fondeur per­son­nal­isée sur mobiles

depuis Scene Depth, Cus­tom Depth ou Scene Col­or.

ue-4-14-52

Comme ça néces­site des post-traite­ments, Mobile HDR doit être activé et la fonc­tion ne fonc­tionne pas actuelle­ment pour tout mobile avec MSAA activé.

Bib­lio­thèque blue­print pour mobiles 

La nou­velle bib­lio­thèque Mobile Patch Util­i­ties Blue­print library con­tient toutes les fonc­tion­nal­ités req­ui­s­es pour per­me­t­tre un jeu sur mobile de télécharg­er et installer le con­tenu et les cor­rec­tifs à par­tir du cloud.

Amélio­ra­tion du com­posant Scene Cap­ture

AMAZON GAMECIRCLE PLUGIN POUR KINDLE FIRE

Un nou­veau plu­g­in en ligne Sub­sys­tem Game­Cir­cle est main­tenant inclus!

Game­Cir­cle vous per­met de partager vos exploits et vos scores avec vos amis, directe­ment depuis votre Kin­dle Fire. Grâce à la tech­nolo­gie de syn­chro­ni­sa­tion de Game­Cir­cle, vous pou­vez enreg­istr­er vos pro­grès dans un jeu et le repren­dre sur n’importe lequel de vos appareils Kin­dle com­pat­i­bles. Vous pou­vez inviter des amis qui pos­sè­dent égale­ment un Kin­dle Fire en recher­chant leur nom d’utilisateur ou en vous con­nec­tant sur Face­book lorsque votre appareil est con­nec­té au Wi-Fi.

C’est désor­mais facil­ité grâce à ce plu­g­in:

ue-4-14-71

Sup­port Android sur lin­ux

Code­works pour Android de NVIDIA pour Lin­ux est la meilleure façon de met­tre en place les out­ils de NDK et SDK néces­saires. En out­re, Open­JDK 1.8 doit être instal­lé; set JAVA_HOME point­er vers votre instal­la­tion.

 Vulkan Android sur Lin­ux n’est pas encore pris en charge.

Réalité virtuelle

Tout un lot d’améliorations et d’optimisations con­cer­nant la VR qui reste l’un de chevaux de bataille d’Epic Games pour son moteur de jeu. On en a vu cer­tains précédem­ment comme l’éditeur de paysage ou l’amélioration du ren­du, mais voici un autre élé­ment à pren­dre en compte.

VR charge­ment de films

Le moteur prend désor­mais en charge les films sur Ocu­lus, GearVR, SteamVR et PSVR. Pour utilis­er l’écran de démar­rage, vous pou­vez définir une tex­ture en util­isant le noeud “Splash Screen Set” ou choisir de voir automa­tique­ment appa­raître une carte avec le noeud “Activ­er Auto Load­ing Splash Screen”.

Sup­port de VRWorks 2.1VR SLI,  Lens Matched Shad­ing (Pas­cal), Mul­ti Res Shad­ing (Maxwell) et Sin­gle Pass Stereo sont aus­si inté­grées et per­me­t­tent de gag­n­er pas mal de per­for­mances (jusqu’à 30% rien qu’avec le LMS/MRS).

Debogage

Morph Tar­get debug View Mode

Per­met de voir quels som­mets sont affec­tés par chaque cible de mor­ph­ing.

ue-1-41-64

Live GPU pro­fil­er

four­nit des sta­tis­tiques pour les prin­ci­pales caté­gories de ren­du. Pour l’utiliser, entrez la com­mande de la con­sole ‘stat gpu’ ou allez dans l’éditeur via le sous-menu ‘Stat’ dans le menu déroulant Options drop­down.

ue-4-14-73

Sup­port de Visu­al stu­dio 15

Si vous avez plusieurs ver­sions de Visu­al Stu­dio, vous pou­vez sélec­tion­ner celle que vous voulez utilis­er par  sec­tion «Code source» dans «Préférences Edi­tor.

Conclusion

Voilà, ça fait encore beau­coup à inté­gr­er en si peu de temps… je ne vous par­lerai pas par exem­ple des nou­velles struc­tures de don­nées comme les Maps (des tableaux, mais avec une clé d’accès qui peut être textuels pour index­er un élé­ment) et les Sets (comme les tableaux, mais avec seule­ment des élé­ments uniques), mais cela peut aus­si se révéler fort utile pour alléger les blue­prints et opti­miser son code.

Je vous ai listé le plus impor­tant, mais vous trou­verez des com­plé­ments sur le thread d’origine sur le site d’Epic Games.

 

 

2 réflexions sur « Unreal Engine 4.14 — quelles nouveautés? »

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.