Les nouveautés d’Unreal Engine 4.15

Vous l’attendiez tous, et moi le pre­mier pour pou­voir apporter une dernière touche au tome 5 des cahiers d’UE, voici la nou­velle mou­ture de notre moteur de jeu préféré. La cerise sur le gâteau, c’est l’annonce du sup­port “expéri­men­tal” de la toute dernière de Nin­ten­do, la Switch.

Sinon, en plus d’un tas de nou­veautés et d’améliorations (dont 79 par la com­mu­nauté — d’où l’intérêt de l’Open Source), il faut retenir qu’Unre­al Engine 4.15 per­met une amélio­ra­tion de la sta­bil­ité glob­ale,  des flux de tra­vail de développe­ment et de la durée d’exécution, le temps de com­pi­la­tion est ain­si réduit de 50%.

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 sera mis à jour avec 4.15 dans les jours qui vien­nent, les inscrits recevront un email.

Éditeur et cœur du moteur 3D

  • Le Blend­space Edi­tor a un nou­veau look et opti­mise le work­flow

  • De mul­ti­ples façons de mod­i­fi­er les pro­priétés de l’échantillon:  gliss­er-dépos­er, menu con­textuel et spin-box­es pour mod­i­fi­er la valeur de l’échantillon ou d’une séquence d’animation.

  • Aperçu du blend­space en main­tenant Maj (Shift) enfon­cée

  • Gliss­er et dépos­er des opéra­tions — Val­i­da­tion et aperçu des gliss­er-dépos­er depuis le Ani­ma­tion Tools Asset Brows­er.

  • Étir­er pour ajuster  la grille du plus petit au plus grand axe, etc.

Rendu, matériaux, post-process

  • Le tonemap­per par défaut four­nit des couleurs et des tons plus sem­blables à un ceux film

Le tonemap­per a main­tenant l’Acad­e­my Col­or Encod­ing Sys­tem (ACES) par défaut. Ce tonemap­per per­met égale­ment au moteur de cibler des types d’affichage mul­ti­ples, y com­pris l’affichage HDR.

Vous pou­vez revenir à l’ancienne ver­sion en ajoutant TonemapperFilm=0 dans votre fichi­er DefaultEngine.ini. Tout du moins, pour l’instant.

  • Amélio­ra­tion de la ges­tion du stream­ing des tex­tures: per­met de réduire l’utilisation du CPU, de la mémoire (réduc­tion de 40%) et les temps de charge­ments (2 à 3 fois) tout en élim­i­nant les arte­facts de basse réso­lu­tion (cal­culés par matéri­au et non plus par maille et prenant en compte les LOD). C’est pour moi l’une des amélio­ra­tions les plus impor­tantes car elle touche fon­da­men­tale­ment nos développe­ments.

  • Déplace­ment de nœuds dans le mate­r­i­al edi­tor : Réa­chem­iner les nœuds est main­tenant pos­si­ble dans l’éditeur de matéri­aux pour per­me­t­tre une meilleure organ­i­sa­tion des graphiques matéri­aux. On pou­vait le faire dans les Blue­print, vous savez ces petits noeuds de reroutage — c’ets juste pour le visuel, mais ça per­met d’être plus pro­pre au final.

Pour ajouter des nœuds dans Mate­r­i­al Edi­tor: Dans la Palette, Faites gliss­er “Add Reroute Node” au graphique, ou, double-cliquez sur une spline de con­nex­ion pour insér­er une nou­velle reroute au nœud.

  • Sor­tie HDR (High Dynam­ic Range)  pour Win­dows Direct3D 11 (NVIDIA unique­ment), et Mac en prof­i­tant de fonc­tion­nal­ités comme le con­traste plus élevé et une plus large gamme de couleurs

Ce sont des images simulées et sont unique­ment à des fins de démon­stra­tion — Je sup­pose que la news s’applique sur la pho­to de gauche qui est, en effet, plus con­trastée. Pour ma part, je ne vais pas pou­voir, car je suis sur une Radeon — je sais, moi aus­si je préfère Nvidia, que cela soit pour les out­ils de gam­ing ou pour CUDA - mais j’ai fait un com­pro­mis qualité/Prix pour la VR.

D’autres dis­posi­tifs sont à venir dans les prochaines ver­sions (hé ben oui, Ars Lon­ga Vita Bre­vis — ne vous atten­dez pas à vous repos­er sur vos lau­ri­ers). L’implémentation actuelle gère le traite­ment com­plet de la scène ren­due par la norme ACES. Le sup­port de sor­tie HDR est détec­té au lance­ment et sig­nalé seule­ment si un périphérique le prenant en charge est con­nec­té. La sor­tie HDR peut être mod­i­fiée par les nou­velles vari­ables de la con­sole ou par GameUser­Set­tings.

  • Col­or Grad­ing con­trols: nou­veaux con­trôles pour les pro­priétés Col­or Grad­ing dans Post process set­tings pour une expéri­ence plus intu­itive et un con­trôle plus pré­cis.
  • Out­ils de visu­al­i­sa­tion de tex­ture stream­ing debug­ging:  3 nou­veaux view modes sont disponibles pour s’assurer que le sys­tème stream­ing de tex­ture fonc­tionne de manière opti­male pour le jeu.

  1. Prim­i­tive Dis­tance Accu­ra­cy:  mon­tre la pré­ci­sion de la dis­tance cal­culée par le stream­er par rap­port à la dis­tance cal­culée par le GPU.
  2. Mesh UV Den­si­ties Accu­ra­cy: mon­tre l’effet des den­sités UV util­isées par le stream­er pour chaque mesh. Si les den­sités UV sont fauss­es, les tex­tures sur les mesh­es risquent d’être floues ou sur-streamées.
  3. Mate­r­i­al Tex­ture Scales Accu­ra­cy : Cer­taines tex­tures util­isées dans un matéri­au sont échan­til­lon­nés en util­isant une valeur à l’échelle de l’un des canaux mesh UV. Cela tente de cal­culer les coor­don­nées de la tex­ture à utilis­er et l’échelle à appli­quer à chaque tex­ture échan­til­lon­née.
  • Math­e­mat­ics mate­r­i­al nodes: ajout de quelques nœuds de matéri­aux couram­ment demandés pour éviter l’utilisation de fonc­tions ou de noeuds per­son­nal­isés pour les opéra­tions courantes. Les nœuds mar­qués du tag “Fast” exé­cu­tent des approx­i­ma­tions au lieu des instruc­tions réelles. C’est top d’y avoir pen­sé, ne trou­vez-vous pas ? Ils améliorent la per­for­mance de matéri­aux plus com­plex­es, mais ont des restric­tions d’entrée et les com­pro­mis de pré­ci­sion. A nous de voir si visuelle­ment ça change vrai­ment la donne… et au pire, les utilis­er sur mobiles par exem­ple ! J’aime bien qu’on nous laisse un peu de boulot aus­si à nous développeurs ! Ça rap­pelle le cal­cul de la racine car­rée inverse dans Quake 3 are­na (et plus vieux que ça d’ailleurs). Ca me rap­pelle aus­si les tables de pré­cal­cul (sinus et autres fonc­tions) qu’on util­i­sait en assem­bleur pour faire des démos et éviter des cal­culs ! Bon, ça man­quait cru­elle­ment de pré­ci­sion toute­fois 😉

  • Pre­vi­ous Frame Switch node: Si vous voulez faire des ani­ma­tions de type “motion blur”, vous savez le fait de voir encore en par­tie la forme précé­dente pour simuler un effet de vitesse, et ceci en exploitant la per­sis­tance rétini­enne… hé bien, il serait fort utile d’accéder aux infor­ma­tions de la trame précé­dente, non ? Ceci est ren­du pos­si­ble par ce nou­veau noeud. Je ne sais pas encore quelles infor­ma­tions il four­nit, mais je ne vais pas tarder à le savoir. Ce n’est pas l’image à pro­pre­ment par­ler, mais un ensem­ble de paramètres. A tester…

  • Pre-Skinned Local Nor­mals mate­r­i­al Node: Vous pou­vez main­tenant utilis­er cette fonc­tion pour obtenir des effets comme la créa­tion automa­tique des maps des UV sur les skele­tal mesh­es en util­isant des matéri­aux tri-planaire alignés.

Cela fonc­tionne d’une manière sim­i­laire à Pre-Skinned Local Posi­tion, mais ren­voie la nor­male à la sur­face locale pour Skele­tal Mesh­es et sta­tiques Mesh­es.  Cela ouvre la porte à plus d’effets pos­si­bles dans les matéri­aux.

Animations, Matinee, Sequencer

  • Sequencer ani­ma­tions blend­ing: Sequencer prend désor­mais en charge le mélange pondéré entre plusieurs ani­ma­tions per­me­t­tant des séquences d’animation com­plex­es con­stru­ites à par­tir d’animations exis­tantes. Toute ani­ma­tion peut être ajoutée à un moment don­né. Bon la vidéo par­le d’elle-même (c’est chi­ant quelques fois de met­tre des mots sur des con­cepts):

Vous pou­vez con­trôler le poids d’une ani­ma­tion en élar­gis­sant la piste et en sai­sis­sant la valeur dans le mon­tage. Pour per­me­t­tre à votre Skele­tal Mesh d’utiliser plusieurs pos­es, un nou­veau mélange mul­ti par le nœud Alpha est disponible. Vous pou­vez ajouter de nou­velles pos­es dans le menu con­textuel.

  • Sequencer events: peut désor­mais con­tenir des pay­loads de don­nées (traduire par lot de don­nées sup­plé­men­taires — ou sur­charge) pour déclencher des événe­ments suiv­ant le con­texte. Pour déclencher un événe­ment avec un pay­load, créer une struc­ture qui définit les paramètres pour l’événement et l’appliquer à la pro­priété para­me­ter struct:

  • Ani­mer des objets dynamiques avec Sequencer:  en util­isant des Blue­prints pour appli­quer des Sequences aux objets lors de l’exécution.  Cela sig­ni­fie qu’on peut ani­mer un autre objet que celui pour lequel la séquence a été écrite. Pour extraire les iden­ti­fi­ca­teurs d’une séquence, utilis­er le nou­veau nœud Get­Se­quence­Bind­ings.
  • Amélio­ra­tion de l’interface graphique de Sequencer: un nou­v­el out­il de trans­for­ma­tion Touch­es / sec­tions per­met de repo­si­tion­ner et red­i­men­sion­ner la sélec­tion actuelle. Il est pos­si­ble de copi­er et coller des pistes sur des objets com­pat­i­bles. La total­ité de la séquence est à l’heure rel­a­tive, un plan peut être isolé en réglant “Eval­u­ate Sub Sequences in Iso­la­tion”. Les com­posants clés peu­vent être sélec­tion­nés indi­vidu­elle­ment.

  • Pose snap­shot­ting: Pos­si­bil­ité de cap­tur­er une pose au run­time du Skele­tal Mesh, et ce, en Blue­prints pour une util­i­sa­tion dans le Plan Anim!

  • Reli­er des courbes aux bones: les courbes d’animation peu­vent désor­mais être reliées à un os du Squelette afin d’être élim­inées avec l’os lors du change­ment de LOD, par­ti­c­ulière­ment utile pour les ani­ma­tions faciales.
  • Mod­i­fi­er les nœuds des courbes d’animation: les courbes d’animation peu­vent désor­mais être mod­i­fiées en util­isant la logique arbi­traire dans l’animation graphique pour per­me­t­tre des ani­ma­tions plus dynamiques. Après avoir ajouté le nou­veau noeud Mod­i­fy Curve , vous pou­vez faire un clic droit dessus et choisir les courbes à mod­i­fi­er. Grâce à cela, on peut ajouter un peu de hasard dans la courbe d’animation et obtenir des séquences encore plus réal­istes visuelle­ment.

  • Un nou­veau sys­tème pour les ani­ma­tions faciales a été ajouté, mais reste au stade expéri­men­tal. Nous n’avons que peu d’infos pour le moment, mais cela sug­gère l’arrivée d’un out­il pour cela dans les ver­sions ultérieures !

Physique et particules

  • Mass prop­er­ties debug­ging: pos­si­bil­ité de visu­alis­er le cen­tre de la masse et de l’inertie asso­ciée à des objets physique. A ben, en voilà une bonne idée !

Pour visu­alis­er les pro­priétés de masse, autoris­er showflag (Show > Advanced > Mass Prop­er­ties). L’épaisseur de chaque axe indique le moment d’inertie le long de l’axe.

  • Le sup­port de véhicules est déplacé sous forme de plu­g­in: le sup­port PhysX véhicule est main­tenant en option pour économiser de l’espace disque et de mémoire aux util­isa­teurs qui n’emploient pas ce sup­port. Il y a égale­ment  ajout de plusieurs points d’extension physique utiles au moteur (par exem­ple OnPhysSceneInit/Term, OnPhysS­cen­eStep) afin de ren­dre plus facile pour les autres développeurs l’écriture de leurs pro­pres sys­tèmes sim­i­laires. Une étape manuelle est néces­saire si vous souhaitez migr­er des assets anciens ‘Tire­Type’ (décon­seil­lé dans le moteur) pour les nou­veaux assets ‘Tire­Con­fig’ (défi­nis dans le nou­veau plug-in PhysXVe­hi­cles). Une nou­velle com­mande de con­sole disponible dans l’éditeur UE4 le fait pour vous: il suf­fit de con­vo­quer la con­sole et entrez ‘Con­vert­Tire­Types’. Cela va créer de nou­veaux asset­sTire­Con­fig, copi­er les pro­priétés et les affecter à des Blue­prints Vehi­cle­Wheel. Les anciens assets de Tire­Type peu­vent alors être enlevés.

Je ne sais pas quoi penser du fait qu’ils retirent les véhicules et les pla­cent en plu­g­in… prob­a­ble­ment ont-ils jugé trop léger cette fonc­tion­nal­ité et préfèrent-ils laiss­er la pos­si­bil­ité à d’autres plu­g­ins de se gref­fer à la place de ce dernier. Ce n’est pas tou­jours évi­dent de com­pren­dre les choix archi­tec­turaux réal­isés der­rière un moteur de cette impor­tance !

Programmation blueprints et C++

  • nou­veau: cook­ing blue­prints en C++: les blue­prints sont pack­agés en code source natif. Fonc­tion jadis expéri­men­tale dont nous avions par­lé mais qui est aujourd’hui passé en mode pro­duc­tion. De fait, pro­gram­mer en Blue­print ou C++ ne devrait pas avoir d’impact… Reste que quelques fois, il est plus facile de pro­gram­mer directe­ment en C++, mais cela n’enlève rien au fait que les Blue­prints sont plus faciles à com­pren­dre et à main­tenir dans le temps. Voir la notice.

  • Nou­veau: com­pi­la­teur C++ plus rapi­de — Unre­al Engine 4 code­base com­pile désor­mais jusqu’à 50% plus rapi­de­ment. Euh oui, mais pourquoi ??? C’est sor­ti du cha­peau avec le lapin qui court plus vite ? Non, c’est ce qui a été per­mis grâce à de nou­velles con­ven­tions.

Les con­ven­tions pour le nou­veau mod­èle sont les suiv­antes:

  1. Chaque tête com­prend main­tenant tout ce qu’il faut pour com­pil­er — un en-tête de CoreMinimal.h con­tient un ensem­ble de types ubiq­ui­taires de base (par exem­ple fstring, FName, tar­ray, FVec­tor, etc .…)

  2. Chaque fichi­er .cpp com­prend son fichi­er .h  pour valid­er que chaque tête con­tient tout ce qu’il faut. Unre­al­Build­Tool véri­fiera que les fichiers source adhèrent à cette con­ven­tion.

  3. Aucun code de moteur ne com­prend un en-tête mono­lithique, comme Engine.h ou UnrealEd.h plus —  Ils exis­tent encore pour la com­pat­i­bil­ité avec les pro­jets de jeu et ne pro­duisent pas des aver­tisse­ments quand ils sont déjà inclus.

  4. Aucun code de moteur inclut un en-tête pré-com­pilé.

Voilà, rien de mag­ique, juste du savoir-faire et un peu de logique. C’est vrai que le code source du moteur n’est pas évi­dent à maîtris­er pour le pro­fane — y-a pas mal de macros et cela ne respecte pas tou­jours les con­ven­tions C/C++.  Mais cela pro­gresse aus­si de ce coté, même le code source pro­gresse en matu­rité et les résul­tats sont là: une com­pi­la­tion beau­coup plus rapi­de !

  • Des col­lec­tions d’objets peu­vent main­tenant être stock­és dans les Blue­prints, et sans for­cé­ment pass­er par des tableaux ou des datat­a­bles. Il s’agit des Maps et de Sets. On en avait déjà par­lé il me sem­ble, alors c’est peut-être que c’est passé en mode pro­duc­tion main­tenant, je ne sais plus. Ces struc­tures de don­nées garan­tis­sent qu’ils ne con­ti­en­nent que des arti­cles uniques, sans dou­blon; Ils sont opti­misés en ce sens.

La dif­férence entre map et set ? Dans un set, il n’y a pas vrai­ment de notion d’ordre. En con­tre-par­tie, c’est plus léger et plus rapi­de d’accès qu’une map . La Map non plus remar­quez, mais il y a une clé d’accès qui garan­ti un accès très rapi­de égale­ment !

La nou­veauté, c’est surtout le con­trôle de type au niveau de la vari­able qui est main­tenant dans un menu déroulant, vous per­me­t­tant de sélec­tion­ner ‘Sin­gle Vari­able’, ‘Array’, ‘Set’, ou ‘Map’. Lorsque «carte» est sélec­tion­née, un deux­ième menu déroulant pour le type «valeur» appa­raît.

De même, les vari­ables de type Map et Set peu­vent main­tenant être exposés du C++ vers les Blue­prints.

Menus, widets, umg

  • nou­veau Inter­face Blur rects pour brouiller l’arrière plan dans l’interface util­isa­teur ou dans la scène 3D.

Une valeur de résis­tance définis­sant le flou d’arrière-plan  va de 0 (off) à 100 (pleine puis­sance) et peut être réglée pour  mod­i­fi­er le pour­cent­age de flou au fil du temps.

Ce n’est pas si gad­get que ça: en fait, j’avais dévelop­pé ma pro­pre fonc­tion pour ça en util­isant les fil­tres 2D, mais si c’est tout prêt, c’est encore mieux 🙂

  • Mise en place d’un asset store pour les fontes qui réduit la con­som­ma­tion de mémoire et l’améliore la sta­bil­ité de l’application.

Sons, musiques

  • Con­trôle du vol­ume et de la hau­teur des sec­tions audio directe­ment dans Sequencer ce qui per­met aux con­cep­teurs de met­tre en place fade in, fade out, et d’autres effets. Ben oui, cer­taines fonc­tions évi­dentes ne sont pas tou­jours en place — ça comble un manque ici… N’oublions pas que le sequencer est rel­a­tive­ment récent et qu’il est amené à rem­plac­er totale­ment mati­nee à terme (c’est déjà le cas en vérité).

Réalité virtuelle

  • Menu VR edi­tor amélioré: Les menu rapi­de et menu radi­al dans l’éditeur de VR ont été mis à jour avec un nou­veau look et pour amélior­er la con­vivi­al­ité et la fonc­tion­nal­ité.

Cliquez sur le touch­pad pour appel­er / fer­mer le menu radi­al, sélec­tion­nez les options avec une direc­tion sur le touch­pad, puis sélec­tion­nez avec la gâchette. Vous pou­vez égale­ment sélec­tion­ner des élé­ments avec le laser, mais le pavé tac­tile rem­place le laser.

  • VR Edi­tor Numpad: entr­er rapi­de­ment des chiffres (0–9), ain­si que des valeurs néga­tives et déci­males dans les champs de texte dans l’éditeur de VR en util­isant la nou­velle inter­face. Utilis­er le bou­ton de déclenche­ment pour sélec­tion­ner les numéros, la touche de mod­i­fi­ca­tion pour revenir en arrière. Pour retir­er le pavé numérique, cli­quer ailleurs dans la scène, ou sur le pavé tac­tile, tout comme pour le menu radi­al stan­dard.

  • Champ éloigné en vision mono­scopique pour mobile VR: peut fournir un gain impor­tant de per­for­mances que de ren­dre les objets éloignés une fois. La diver­gence stéréo dimin­ue à mesure que les objets sont plus éloignés de la caméra. A une cer­taine dis­tance, le ren­du stéréo des objets éloignés est indis­cern­able d’un ren­du de mono­scopique. D’où cette opti­mi­sa­tion qu’on aurait aimé réal­isée plus tôt tant cela parait évi­dent, mais bon !

    C’est prise en charge unique­ment sur les plates-formes mobiles pour l’instant. Pour l’activer, sélec­tion­nez la case à cocher dans Project Set­tings -> Ren­der­ing -> VR. Les mul­ti-vues mobile et le champ loin­tain mono­scopique  ne sont pas sup­port­és simul­tané­ment et mobile HDR doit être dés­ac­tivé.

Mobiles, consoles, HTML5

La ver­sion est encore expéri­men­tale mais sera défini­tive lors de la prochaine mise à jour. Bon, ça c’est la nou­velle qui a fait le tour du web ! C’est aus­si ce sur quoi l’équipe avec laque­lle j’ai tra­vail­lé il y a plus d’un an main­tenant attendait (nous en avions eu vent, mais pas de façon offi­cielle).

Per­son­nelle­ment, je ne sais pas trop quoi penser de cette con­sole. L’idée est assez bonne, mais je ne me sens pas trop con­cerné en tant que joueur… j’ai une vieille Wii parce que c’est une con­sole famil­iale et qu’il y avait des acces­soires sym­pas… après je suis plus con­sole Nex­Gen type Xbox one/PS4 même si j’en suis encore à jouer avec ma vieille xbox 360.  En tous cas, je ne sais pas encore com­ment on va exporter vers la con­sole, si cela va être sim­ple ou une grosse usine à gaz (car l’export vers con­sole d’UE4, c’est quand même pas très pra­tique). Si c’est sim­ple et direct, je me prendrai prob­a­ble­ment une Switch. A suiv­re…

  • Aperçu de ren­du (opengl es 3.1, met­al, vulkan) — Vous pou­vez obtenir un aperçu des fonc­tion­nal­ités pour mobiles haut de gamme dans la fenêtre de l’éditeur en util­isant Mobile Pre­view. Ce mode émule l’ensemble des fonc­tion­nal­ités disponibles pour iOS Met­al, les appareils Android OpenGL ES 3.1 et Android Vulkan.

  • Sup­port du con­trôleur Play­sa­tion VR

Pour l’activer, il suf­fit de chang­er la valeur “Hand” à “Gun” sur votre Com­po­nent Motion Con­troller. Les bou­tons de la PlayStationⓇVR Aim Con­troller carte les mêmes bou­tons sur la manette Dual Shock.

  • Prise en charge améliorée de Met­al sur macOs et IOs:  le sup­port per­met d’utiliser un grand nom­bre de nou­velles API et les fonc­tion­nal­ités de lan­gage shad­er  ajoutées par Apple sur mac OS 10.12 Sier­ra et iOS 10.

Mac et iOS pren­nent désor­mais en charge la ver­sion stan­dard Met­al Shad­er comme paramètre de pro­jet, per­me­t­tant aux développeurs de choisir si ils souhait­ent adopter de nou­velles fonc­tion­nal­ités ou main­tenir une com­pat­i­bil­ité ascen­dante. Il y a aus­si un sup­port expéri­men­tal pour le ren­du HDR sur Mac avec un affichage appro­prié inté­gré, tel que le Reti­na iMac, ou attaché via Thun­der­bolt.

  • Sup­port Lin­ux ARM64sup­port pour les périphériques (ARM64 AArch64) sous Lin­ux, ces dis­posi­tifs doivent avoir OpenGL 3.2 ou ver­sion ultérieure pour faire tourn­er le moteur. Je me demande ce que ça donne avec le Rasp­ber­ry Pi 3… c’est un ARM64 bits sous Lin­ux, mais je crois savoir que l’implémentation de l’Api 3D n’est pas encore au top. Si vous avez des infos là dessus, je suis pre­neur.
  • Sup­port pour Nvidia SLI Aler­nate Frame Ren­der­ing (AFR): pour fournir des per­for­mances supérieures lorsque plusieurs cartes graphiques sont détec­tées. Les développeurs devront tra­vailler avec NVIDIA pour tester leur jeu. Quid du Radeon Cross­fire ? Je crois qu’il ne faut pas compter dessus car Epic et Nvidia, c’est la grande his­toire d’amour.
  • ‘Cus­tom Sten­cil’ sur mobiles: Les appareils mobiles peu­vent désor­mais utilis­er ‘Cus­tom Sten­cil’ dans les matéri­aux de post-traite­ment per­me­t­tant la descrip­tion d’objet, la visu­al­i­sa­tion des objets occlus, ou d’autres effets. Cette fonc­tion néces­site Mobile­HDR activée. Pour activ­er cette fonc­tion­nal­ité dans votre pro­jet aller à Project Set­tings -> Ren­der­ing -> Post­pro­cess­ing et réglez ‘Cus­tom Depth-Sten­cil Pass’ sur ‘Enabled with Sten­cil’.

Pour cela: Dés­ac­ti­va­tion Allow Sta­t­ic Light­ing, de Sup­port Com­bined Sta­t­ic et CSM Shad­ow­ing, de Sup­port Dis­tance Field Shad­ows, de Sup­port Mov­able Direc­tion­al Lights, et Réglage Max Mov­able Point Lights à 0. Puis acti­va­tion de Use Shared Mov­able Point Light Shaders.

  • Andoid graph­ics debuggeur : les appli­ca­tions Android peu­vent être débug­gées avec le Mali Graph­ics Debug­ger ou Adreno Pro­fil­er selon le GPU de l’appareil.  Les options de débogueur Graph­ics peu­vent être trou­vées dans Project Set­tings -> Android. Vous devez d’abord télécharg­er et installer ces débogueurs sur le site Web du four­nisseur de GPU.

  • Options mobile shad­er de réduc­tion de la mémoire: réduire de manière sig­ni­fica­tive l’utilisation de la mémoire en dés­ac­ti­vant les con­fig­u­ra­tions d’éclairage non util­isées. Les paramètres suiv­ants disponibles sous Project Set­tings -> Ren­der­ing peu­vent être mod­i­fiés pour réduire l’utilisation de la mémoire et dimin­uer la taille du paquet app.
  • Ser­vice de local­i­sa­tion pour les don­nées GPS sur Android et Ios: L’accès aux don­nées GPS est main­tenant disponible et les Blue­print nodes sont four­nis sous Ser­vices-> Mobile-> Loca­tion. Ah ben ça c’est chou­ette pour faire de la réal­ité aug­men­tée ou toute autre appli­ca­tion basée sur la géolo­cal­i­sa­tion.
  • Stream­ing audio sous Ios: le Stream­ing audio peut réduire à la fois l’utilisation de la mémoire et les temps de charge­ment de niveau. Les assets déjà mar­qués pour le stream­ing seront automa­tique­ment dif­fusées sur d’autres plates-formes.
  • Noti­fi­ca­tions à dis­tance pour Ios: Le jeu peut enreg­istr­er des call­backs pour gér­er la noti­fi­ca­tion. L’éditeur four­nit des out­ils pour met­tre en place des noti­fi­ca­tions pour l’application.

Plugins

  • Sequencer ani­ma­tions en Blue­prints (expéri­men­tal): Le nou­veau plu­g­in Actor Sequence per­met d’intégrer des séquences dans les Actor Blue­prints .  Cela per­met la réu­til­i­sa­tion des séquences en liant les ani­ma­tions à l’instance de Blue­print et de les déclencher à l’aide du graphique de l’événement. Vous pou­vez égale­ment ajouter un com­posant Actor Sequence à tout acteur pour ajouter des ani­ma­tions à une seule instance d’un acteur. Voir les vidéos ci-après:

  • Sup­port sous Win­dows des volants, sticks et autres dis­posi­tifs non-XIn­put à l’aide de la nou­velle entrée Raw plug-in.

L’ajout de nou­veaux appareils est aus­si facile que la mise en place d’une con­fig­u­ra­tion dans les paramètres du pro­jet ou que la mod­i­fi­ca­tion DefaultInput.ini.

  • Com­posant force feed­back: Le nou­veau com­posant retour de force (Force Feed­back) peut être ajouté aux acteurs dans le monde pour créer des effets hap­tiques local­isées. Ces com­posants ont des pro­priétés d’atténuation afin de déter­min­er l’intensité du retour de force sur la base de la dis­tance entre le joueur et l’effet. Les pro­priétés d’atténuation peu­vent soit être spé­ci­fiées directe­ment sur le com­posant ou en créant un asset Force Feed­back Atténu­a­tion dans le nav­i­ga­teur de con­tenu et en le réu­til­isant pour plusieurs com­posants. Les com­posants retour de force peu­vent égale­ment être engen­drés dans le monde à par­tir de blue­prints comme l’audio, les decals et des émet­teurs de par­tic­ules.

Conclusion

Bon, encore pas mal de nou­veautés, et aus­si de cor­rec­tions de bogues. Je ne vous les liste pas, tout est dans le post orig­i­nal. Pour ma part, je me demande encore com­ment il est pos­si­ble de maîtris­er un out­il si com­plexe qui évolue si vite… C’est quand même bête d’avoir un out­il si intéres­sant et d’être frus­tré à l’idée de ne jamais pou­voir le maîtris­er com­plète­ment...  Je sup­pose que c’est une idée qui en frus­tre plus d’un. Mais aujourd’hui, il faut pren­dre con­science que c’est ain­si… L’important, c’est de con­naître l’étendue de la cou­ver­ture fonc­tion­nelle d’un pro­duit (ce qu’on peut faire avec) et d’étudier le cœur du sys­tème, les bases de ce dernier. Après, il suf­fit d’apprendre en expéri­men­tant pour les fonc­tion­nal­ités un peu plus spé­ci­fiques — mais en fonc­tion des besoins. C’est l’histoire de l’anglais et du four dans l’alchimiste de Coel­ho. C’est peu la voie que j’ai emprun­tée avec les cahiers d’Unreal Engine: guider le lecteur le long de l’apprentissage du moteur et de temps en temps, zoomer sur une fonc­tion­nal­ité pré­cise, mais sans chercher à tout décrire… ce serait mis­sion impos­si­ble — et ce serait prob­a­ble­ment imbuvable et très effrayant pour le débu­tant.

Edit 22/02/2017: Une petite vidéo réal­isée par Mele­tou pour présen­ter quelques nou­veautés de la 4.15, un grand mer­ci à lui:

Une réflexion sur « Les nouveautés d’Unreal Engine 4.15 »

  1. Bra­vo pour votre site que j’ai con­nu grâce à Mele­tou qui pub­lie des tutos sur Youtube.

    Je tiens à vous dire aus­si que j’ai acheté Les cahiers d’Unreal Engine et j’ai beau­coup appré­cié…

    MERCI pour tout votre tra­vail et surtout pour votre partage.

    Cor­diale­ment Marc

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.