La version 4.18 d’Unreal Engine

Retour sur la dernière mise à jour d’Unreal Engine, avec la ver­sion 4.18. Si vous avez râté la 4.17, c’est ici.

Au som­maire, l’apparition des Vol­u­met­ric Lightmaps, une nette entrée dans la Réal­ité Aug­men­tée avec un frame­work unifié android/iOS, un nou­v­el out­il “Cloth” Built-in, ain­si que l’accès anticipé au nou­veau moteur Audio. Mais vous allez voir, il y a bien plus que cela !

RENDU, MATÉRIAUX, POST-PROCESS

Appari­tion des vol­u­met­ric lightmaps

Les sur­face lightmaps ser­vent au pré-calul de l’éclairage indi­rect sur les objets de type sta­tiques, c’est à dire, n’étant pas en mou­ve­ment. Mais ces dernières ignorent les objets dynamiques comme les per­son­nages, les effets de par­tic­ules, ou la végé­ta­tion brassée par le vent…  Pour cela, UE a intro­duit les vol­u­met­ric Lightmaps. Évidem­ment, on ne peut pas utilis­er ces cartes de la même façon, car on ne con­nait pas la posi­tion des objets avant l’exécution. De fait, ces vol­umes stock­ent une infor­ma­tion sim­i­laire, mais dans une sorte de cache qui sera util­isé à l’exécution pour réalis­er des inter­po­la­tions entre valeurs, selon la posi­tion des dif­férents objets. Comme il ne s’agit plus de sur­face, mais d’avoir une infor­ma­tion “en tous points de l’espace”, on par­le de vol­ume… ou plus pré­cisé­ment de briques com­posées de 4x4x4 cel­lules. En réal­ité, c’est un peu plus com­plexe, car cela va dépen­dre du fait que l’objet exis­tait ou non à l’origine. Un plus grand nom­bre de briques sont instan­ciées lorsqu’elles sont à prox­im­ité des objets sta­tiques. Mais le principe est là.

Con­traire­ment au “Sparse Vol­ume Light­ing Sam­ples”, c’est à dire l’ancienne approche,

Com­para­i­son détail­lée:

Vol­u­met­ric Lightmap  Vol­umes de lumière pré­cal­culés / cache d’éclairage indi­rect
Inter­po­la­tion effi­cace sur GPU Inter­po­la­tion coû­teuse sur le processeur
Inter­po­la­tion par pix­el Inter­po­la­tion par objet, même sur des com­posants instan­ciés
Appliqué au brouil­lard volumétrique Ne peut pas affecter le brouil­lard volumétrique
Placé avec une den­sité élevée autour de toutes les sur­faces sta­tiques Placé avec une den­sité élevée seule­ment sur les sur­faces sta­tiques, fuite fréquente des échan­til­lons à faible den­sité
Les vox­els frontal­iers sont étirés pour cou­vrir la zone extérieure Impor­tance Vol­ume Noir indi­rect Extérieur Impor­tance Vol­ume
Ne prend pas actuelle­ment en charge le stream­ing de niveau Prend en charge le stream­ing de niveau

Par l’ancienne méth­ode:

Par la nou­velle:

Si vous voulez faire vos pro­pres tests, n’oubliez pas de cocher la case “Dynam­ic Indi­rect Light­ing” sur votre source lumineuse 😉

Éclairage pré­cal­culé sur le brouil­lard volumétrique

Le Vol­u­met­ric Fog inter­pole désor­mais l’éclairage pré­cal­culé sur sa posi­tion dans l’espace à l’aide des Vol­u­met­ric Lightmaps, ce qui per­met aux lumières sta­tion­naires — dont l’éclairage indi­rect est stocké dans des lightmaps — d’affecter le brouil­lard. Les lumières sta­tiques et émis­sives affectent le brouil­lard sans rien coûter, puisqu’elles sont toutes fusion­nées dans la vol­u­met­ric lightmap. La lumière du ciel suit main­tenant les couleurs de la journée (lever/coucher de soleil).

Amélio­ra­tion de la direc­tion­al­ité des sky­lights

Un cube­map fil­tré est util­isé avec une réso­lu­tion par défaut beau­coup plus élevée. Le mip appro­prié est choisi en fonc­tion de la taille des rayons pour éviter l’aliasing.

image alt text

1 — cube­map fil­tré Sta­t­ic Sky­light, 2 — Puits de lumière sta­tique d’origine

Nou­veau: Éclairage indi­rect mul­ti-rebond des puits de lumière

Sup­port pour les mul­ti­ples rebonds d’éclairage indi­rect provenant des Sky­lights sta­tiques et fix­es grâce à un nou­veau paramètre «Num Sky Light­ing Bounces» dans World Set­tings -> Light­mass.

1 — Rebondisse­ment mul­ti­ple des lucarnes, 2 — Rebondisse­ment des lucarnes sim­ples

Les matéri­aux doivent avoir une valeur dif­fuse élevée pour que les mul­ti­ples rebondisse­ments soient vis­i­bles dans la plu­part des cas.

Sup­port de prévi­su­al­i­sa­tion avancé de Mate­r­i­al Edi­tor

L’éditeur de matéri­aux et l’éditeur d’instance de matéri­aux ont main­tenant un sys­tème  de prévi­su­al­i­sa­tion avancée“Advanced Pre­view Scenes” qui per­met de mod­i­fi­er les paramètres de la scène tels que l’éclairage, les  envi­ron­ment cube maps, ain­si que la pos­si­bil­ité de faire piv­ot­er l’environnement autour du pre­view mesh.

ANIMATIONS, SEQUENCER

AMELIORATION DU MEDIA FRAMEWORK

Le Frame­work Media prend désor­mais en charge la com­po­si­tion vidéo en temps réel, la syn­chro­ni­sa­tion tem­porelle, les work­flows sim­pli­fiés et  la cap­ture vidéo (matérielle et VoIP). Sa sta­bil­ité et ses per­for­mances ont été égale­ment améliorées, ce qui n’est pas plus mal car je ne sais pas si vous avez essayé avant de pass­er des vidéos 4K type 360° plaquées dans une sphère… c’était pas top. Espérons que cela aille mieux désor­mais 😉

La lec­ture audio est main­tenant inté­grée à la nou­velle API Audio Mix­er et utilise de nou­veaux com­posants Sound Media (rem­place Media Sound Waves) qui sont con­stru­its sur des com­posants de syn­thé pou­vant être attachés à des acteurs de niveau et util­isés dans des wid­gets UMG.

AMELIORATION DU SEQUENCEUR

L’importation des FBX a été améliorée en ajoutant la pos­si­bil­ité d’importer des trans­for­ma­tions sta­tiques, d’ajouter des caméras ciné­ma­tiques et l’option de forcer l’axe x avant, les pistes sont mieux dess­inées et les touch­es ayant une dou­ble fonc­tion appa­rais­sent en rouge, le sup­port du glisser/déposer a été ajouté et la pos­si­bil­ité de rejouer les scripts de con­struc­tion lors du net­toy­age.

NOUVEL EDITEUR D ASSETS PHYSIQUES

Le Physics Asset Edi­tor (anci­en­nement con­nu sous le nom de PhAT) a été entière­ment remanié. L’interface util­isa­teur per­met une vue améliorée du Skele­ton Tree avec un meilleur fil­trage et affichage de tous les élé­ments de la scène et une nou­velle vue pour con­fig­ur­er visuelle­ment les con­traintes entre les corps en util­isant des nœuds. Vous pou­vez même créer des boucles de con­traintes.

Les ani­ma­tions peu­vent main­tenant être choisies à tout moment, mis­es en pause, net­toyées, etc.

Il est doré­na­vant pos­si­ble de génér­er automa­tique­ment des corps physiques en util­isant plusieurs con­vex hulls par os. Cela per­met d’obtenir une approx­i­ma­tion de la géométrie non con­vexe à l’aide de plusieurs coques con­vex­es ! Il fal­lait y penser…

Ani­ma­tion Mon­tage Time Stretch Curve

Il est pos­si­ble d’ajouter une piste Time Stretch Curve à un mon­tage d’animation pour con­trôler la vitesse de lec­ture afin de main­tenir la vitesse de lec­ture nor­male du Mon­tage tout en ralen­tis­sant sélec­tive­ment d’autres par­ties du Mon­tage.

Pour utilis­er la courbe Time Stretch, créer une courbe flot­tante nom­mée Mon­tage­TimeStretch­Curve dans le mon­tage et ajouter des clés pour définir la courbe.

Amélio­ra­tions du noeud d’animation Rigid­Body

Le noeud Rigid­Body prend désor­mais en charge un espace de sim­u­la­tion du root bone,  This is use­ful for the case where an attached Skele­tal Mesh is counter rotat­ed from a play­er cap­sule.

Amélio­ra­tions de la con­vivi­al­ité de l’éditeur Blend­space

Il est pos­si­ble de faire gliss­er la punaise de prévi­su­al­i­sa­tion (verte) sur la grille tout en main­tenant la touche Maj enfon­cée.

PHYSIQUE ET PARTICULES

OUTILS VETEMENTS

Un tout nou­v­el out­il “built-in” a été mise en place sous l’éditeur pour gér­er les vête­ments. Il n’est donc plus néces­saire de pass­er par Apex de Nvidia.

Une fenêtre “Vête­ments” per­met d’éditer un ensem­ble de pro­priétés spé­ci­fiques aux vête­ments qui four­nissent plus de con­trôle sur les con­traintes d’habillement, l’élimination sélec­tive des som­mets d’auto-collision, l’échelle d’inertie. Les out­ils de pein­ture améliorés per­me­t­tent de pein­dre “la déforma­bil­ité du vête­ment” directe­ment sur le mail­lage. Les nou­veaux out­ils de pein­ture inclu­ent: Brosse, Dégradé, Lisse, Rem­plis­sage. Les paramètres peints peu­vent être dés­ac­tivés au lieu d’être écrasés pour faciliter l’itération.

Les out­ils d’habillement ont été inté­grés aux assets physiques pour la créa­tion de col­li­sions. Il est égale­ment plus facile de créer des don­nées de vête­ments dans l’éditeur de mail­lage squelette en cli­quant avec le bou­ton droit sur la sec­tion de mail­lage à con­ver­tir.

PROGRAMMATION: BLUEPRINT ET C++

Recherche de blue­prints

La fonc­tion­nal­ité de recherche glob­ale Find in Blue­prints per­met de trou­ver rapi­de­ment quelque chose dans plusieurs Blue­prints, et ce, sans avoir à ouvrir préal­able­ment une fenêtre derecherche Blue­print. Rap­pelez vous quand vous faites une recherche dans un BP, et que vous éten­dez à tous les BP.… vous êtes tou­jours dépen­dant de cette pre­mière fenêtre… si vous la fer­mez, vous perdez votre recherche. Là, c’est bien une fenêtre de recherche glob­ale qu’on peut appel­er avec CTRL-MAJ-F (en mode BP Edi­tion).

Array Reorder­ing
Gliss­er et dépos­er des élé­ments pour les réor­gan­is­er dans un tableau: Toutes les arrays con­fig­urées via Blue­prints et C ++ sont réor­donnables par défaut. Pour dés­ac­tiv­er le com­porte­ment par défaut et créer un tableau d’ordre fixe en C ++, utilis­er les méta­don­nées Edit­Fixe­dOrder.

Visu­al stu­dio code

Il est pos­si­ble d’utiliser Visu­al Stu­dio Code pour écrire du code sur toutes les plates-formes UE4. Pour l’utiliser, sélec­tion­ner “Visu­al Stu­dio Code” comme IDE préféré dans la boîte de dia­logue des préférences de l’éditeur, ou ajouter l’argument -vscode lors de la généra­tion de fichiers de pro­jet sur la ligne de com­mande. Toutes les plates-formes doivent égale­ment avoir instal­lé les envi­ron­nements d’exécution .NET Core 2.0, qui peu­vent être obtenus à par­tir du site Web Microsoft .NET Core .

Pour utilis­er Visu­al Stu­dio Code pour génér­er et déboguer tous les types de pro­jets, cer­taines exten­sions sup­plé­men­taires sont req­ui­s­es. Sur toutes les plates-formes, assurez-vous que l’extension Microsoft C / C ++ et l’extension C # sont instal­lées. Sous Lin­ux et Mac, l’extension “Mono Debug” est néces­saire pour déboguer les pro­jets C #, et l’extension “LLDB Debug­ger” est néces­saire pour déboguer les pro­jets C ++. En out­re, afin de déboguer des pro­jets C #, le run­time mono doit être instal­lé:

  • On OS X: brew install mono
  • Sous Lin­ux: sudo apt-get instal­la­tion mono-com­plète

Mise à jour des SDK

  • IDE Ver­sion the Build farm com­piles against
    • Visu­al Stu­dio: Visu­al Stu­dio 2015 Update 3
    • Xcode: XCode 9.0
  • Android:
    • NDK 12b
    • Installer 1r6u1
  • HTML5: emscripten tool­chain to 1.37.19
  • Lin­ux: v10_clang-5.0.0-centos7
  • Steam: 1.39
  • Ocu­lus Run­time: 1.17
  • SteamVR: 1.39
  • Switch: 1.7.0, 3.5.1 + NEX 4.2.0; Firmware Ver­sion 3.0.1–1.0
  • PS4:
    • 4.508.111
    • Firmware Ver­sion 4.730.001
    • Sup­port­ed IDE: Visu­al Stu­dio 2015, Visu­al Stu­dio 2013
  • Xbox One:
    • XDK: June 2017 QFE3 for all all Xbox con­soles (XB, XB1-S, XB1-X)
    • Firmware Ver­sion: Octo­ber 2017 Pre­view 3 (ver­suib 16291.1000.170913–1900)
    • Sup­port­ed IDE: Visu­al Stu­dio 2015
  • macOS: Sup­port for macOS 10.13 High Sier­ra has been added as a ful­ly sup­port­ed plat­form!
  • iOS: SDK 11
  • tvOS: SDK 11

SONS ET MUSIQUES

MOTEUR AUDIO UNREAL (accès anticipé)

Amélio­ra­tions de l’architecture de plug-in audio

La spa­tial­i­sa­tion des sources bin­au­rales basées sur les objets, l’occlusion de la source et la réver­béra­tion prin­ci­pale sont mieux réal­isées grâce à une meilleure inté­gra­tion dans le moteur. Ces effets néces­si­tent un sup­port de plug-in audio spé­cial.

Source Bus

Le source bus per­met à plusieurs sources sonores d’envoyer et de for­mer une seule source en temps réel, d’acheminer l’audio vers une source audio 3D.

Nou­veaux effets de sous-mix­age 

  • Delay : Cet effet simule un délai de dif­fu­sion sim­ple sur l’audio envoyé au sous-mix­age.
  • Tap Delay : Effet de retard mul­ti­canal com­plexe qui per­met une quan­tité arbi­traire de taps (“échos”) pou­vant être ajoutés, mod­i­fiés et sup­primés indépen­dam­ment via une API Blue­print puis­sante pen­dant l’exécution.
  • Flex­iverb: Algo­rithme de réver­béra­tion mono­canal peu coû­teux et opti­misé pour opti­miser la den­sité d’écho avec le moins de mul­ti­pli­ca­tions pos­si­bles. Cet effet est le mieux adap­té pour émuler une réver­béra­tion de petite taille sur des plates-formes où les ressources du processeur sont lim­itées.

RÉALITÉ VIRTUELLE ET AUGMENTÉE (VR/AR)

SUPPORT DES KITS DE REALITE AUGMENTEE (ARK­it d’Apple et ARCore de Google)

Nou­veau: Apple ARK­it iOS 11
Unre­al Engine 4.18 inclut un sup­port en pro­duc­tion de l’ARKit d’Apple dans iOS11.

Les flux de tra­vail ont été sim­pli­fiés en util­isant les com­posants de l’infrastructure exis­tante, une bonne ges­tion de la caméra passthrough a été ajoutée et une amélio­ra­tion des per­for­mances et de pré­dic­tion. Téléchargez le pro­jet ARSam­ple pour voir ce qui a changé pour 4.18. Les pro­jets ARK­it créés en util­isant 4.17 devront être mis à jour pour fonc­tion­ner en 4.18.

Nou­veau: Prise en charge de Google ARCore Devel­op­er Pre­view

J’ai écrit un arti­cle sur la ques­tion si vous voulez en savoir plus.

Prise en charge de SteamVR sur Mac
UE4 sup­porte offi­cielle­ment la VR sur Mac via SteamVR. Toutes les inter­faces aux­quelles vous êtes habitué sur PC sont disponibles sur Mac, il est donc facile de trans­fér­er votre pro­jet sur Mac pour le lancer. La mise à jour s’accompagne de la prise en charge de Met­al 2 et de nom­breuses autres opti­mi­sa­tions d’exécution.

MOBILES, CONSOLES ET HTML5

Sim­pli­fi­ca­tion des cer­ti­fi­cats et sig­na­tures sur iOS

Il n’est plus néces­saire d’installer votre clé privée ou vos cer­ti­fi­cats à l’aide de Key­chain Access sur le Mac dis­tant

Desk­top-Class For­ward Ren­der­er sur iOS (expéri­men­tal)

Unre­al Engine 4.18 con­tient le Desk­top-Class For­ward Ren­der­er util­isé dans la démo de Wingnut AR à la WWDC 2017! (appareils iOS dotés d’un processeur A9 ou ver­sion ultérieure exé­cu­tant iOS 10.3 ou ver­sion ultérieure, avec une ver­sion A10X).

Android

Gra­dle activé par défaut pour Android pour l’emballage des APK Android.

Plu­g­in de caméra Android

Unre­al Engine a main­tenant un plu­g­in option­nel pour don­ner accès aux caméras avant et arrière sur les appareils Android. L’activation du plug-in ajoute un nou­veau pan­neau de Paramètres du pro­jet. Top !

HTML5

WebAssem­bly est désor­mais activé par défaut pour les pro­jets HTML 5, per­me­t­tant de créer des jeux com­plex­es pour le Web, qui se char­gent rapi­de­ment et fonc­tion­nent cor­recte­ment (Euh.…).

A not­er que le mul­ti­thread­ing n’est pas encore disponible sur WebAssem­bly.

Conclusion

Voilà, vous trou­verez comme d’habitude plus de détails dans le thread d’origine d’Epic, et en atten­dant, je vous dis à très vite pour la prochaine mise à jour… non, pas trop vite quand même, je n’ai même pas le temps de tout tester 😉

Sinon, regardez cette vidéo qui reprend les prin­ci­pales nou­veauté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.