Unreal Engine mise à jour 4.17

Hel­lo les amis, je crois que je n’ai jamais été aus­si en retard pour vous par­ler des nou­veautés apportées par la ver­sion 4.17 de UE4… Mais c’est l’effet “vacances” ! Bon, c’est vrai, pour moi ce sera à par­tir du 15 Sep­tem­bre… mais en atten­dant j’ai beau­coup bossé, et je n’avais pas trop envie de pub­li­er sur le blog… voilà, en fait j’étais en vacances de blog et ça fait du bien de temps à autres. Comme cela, je peux repren­dre de plus belle ! Bon, au som­maire, pas mal de choses intéres­santes… et notam­ment l’arrivée à matu­rité du Sequencer ! Epic sem­ble aus­si vouloir se tourn­er pro­gres­sive­ment vers la Réal­ité Aug­men­tée, avec notam­ment l’intégration de l’ARKit d’Apple, mais égale­ment d’autres fonc­tion­nal­ités de base qui vont dans ce sens. Pour ma part, je suis heureux que l’Asset Man­age­ment Frame­work passe en mode pro­duc­tion car cela per­met de ren­dre un pro­jet beau­coup plus mod­u­laire sans avoir à créer tout un bazard en C++.  Et puis, c’est le sup­port de la nou­velle Xbox One X qui fait son entrée. Enfin, pour la généra­tion procé­du­rale, on est heureux de voir appa­raitre de nou­velles fonc­tion­nal­ités BP telles que les fonc­tions Sobol 2D et 3D. Voilà, c’est juste un petit aperçu de ce qui vous attend ci-après. Bonne lec­ture !

Amélioration du sequenceur

Bon, je n’ai pas arrêté de vous dire que Mati­nee, c’est ter­miné et que le Sequencer est là pour le rem­plac­er. Je pense que c’est chose faite: on peut dire qu’avec la ver­sion 4.17, il acquiert la matu­rité suff­isante, tout en don­nant plus d’homogénéité au pro­duit, Mati­nee était une sorte de reli­quat de la ver­sion 3 du moteur.

Auto-key a été sim­pli­fié.

Sequencer edits et Lev­el Edits

Allow Sequencer Edits Only” per­met d’isoler les change­ments réal­isés. Cela ne va créer de nou­velles tracks que s’il n’existe pas déjà de keyframe — et cela ne va pas entr­er en con­flit avec d’autres keyframes exis­tants. Il n’y aura pas de prop­a­ga­tion par exem­ple.

Allow Lev­el Edits Only” per­met de tra­vailler sur les pro­priétés par défaut des objets. 

Divers

On trou­vera, entre autres, l’implé­men­ta­tion des “Atten­u­a­tion set­tings” pour les audio attachés à des actors, la possi­bil­ité de  spé­ci­fi­er des règles pour attach­er ou détach­er des sec­tions, plus d’options de ciné­ma­tique dans le Lev­el Sequence Play­er, des Key Time ajouté aux pro­priétés Vec­tor, Trans­form, Col­or key, des rac­cour­cis clavier  “étape suivante/ précé­dente”  tir (Shift + “,” and Shift + “.”), etc. 

Inté­gra­tion dans le World Out­lin­er: World Out­lin­er mon­tre l’ensemble des séquences aux­quelles un acteur est lié. Et ça c’est top quand même pour avoir une vue d’ensemble.

Mélanger les sec­tions du sequencer

Pour créer des tran­si­tions en douceur avec facil­ité (2D / 3D trans­forms, vecteurs,  couleurs, floats , etc.):

  • Toutes les sec­tions sup­port­ées se mélan­gent “gra­cieuse­ment” (j’ai voulu hard­er la tra­duc­tion stricte) quand il y a un chevauche­ment pour pro­duire une valeur unique appliquée à l’objet.
  • Les sec­tions qui se chevauchent sur la même la ligne sont inter­polées automa­tique­ment lorsque c’est pos­si­ble.
  • Les pistes d’animation sont inter­polées automa­tique­ment
  • De nom­breuses fonc­tions sont disponibles en stan­dard (linéaire, poly­no­mi­ale, facil­ité exp in / out, etc.). Vous pou­vez égale­ment spé­ci­fi­er un asset courbe ou met­tre en œuvre vos pro­pres fonc­tions de mélange per­son­nal­isé à l’aide de l’interface IMovi­eSce­neEas­ing­Func­tion (égale­ment disponible dans BP).
  • Les “Trans­form sec­tions” peu­vent désor­mais fonc­tion­ner sur une com­bi­nai­son de canaux sans affecter le reste de la trans­for­ma­tion (soit seule­ment Local­i­sa­tion et rota­tion)

Si l’animation des per­son­nages, des ani­maux et des objets du monde est déjà con­sid­éré comme un méti­er à part entière, avec des spé­cial­i­sa­tions, c’était sou­vent réal­isé directe­ment dans le mod­eleur, sous 3DSMax, Maya, Blender, etc.

Mais quand il s’agit de tra­vailler une ciné­ma­tique com­plète en 3D Temps-réel, les ani­ma­teurs étaient sou­vent frus­trés par les out­ils pro­posés. Avec le Sequencer, il devient pos­si­ble de réalis­er des ciné­ma­tiques épous­touf­flantes grâce à des out­ils qu’on ne trou­vait jusqu’à présent qu’en pré­cal­cul.  De fait, on peut vrai­ment dire qu’il y a une spé­cial­i­sa­tion à pren­dre, dès aujourd’hui, pour les ani­ma­teurs qui veu­lent tra­vailler dans le monde du jeu vidéo ou dans tous les domaines requérant le temps-réel. C’est même un méti­er à part entière car la ciné­ma­tique n’est plus figée puisqu’elle peut pren­dre en compte de nom­breuses inter­ac­tions.

Rendu

Nou­veau:  Com­po­sure Com­posit­ing Plu­g­in 

À la suite de la démon­stra­tion de “The Human Race”  à la GDC 2017, en parte­nar­i­at avec The Mill et Gen­er­al Motors, Unre­al Engine 4.17 inclut ce nou­veau plu­g­in, fonc­tion­nant à la fois en C ++ et blue­print, et conçu pour créer facile­ment une com­po­si­tion temps réel com­plexe. Cela per­met de mélanger facile­ment de la vidéo (temps-réel ou non) avec des objets 3D. Ca sniffe bon la réal­ité aug­men­tée tout ça 😉 — Oui, c’est exacte­ment ça, regardez la vidéo suiv­ante:

Un véhicule “réel” est équipé de “QR Codes” per­me­t­tant d’identifier pré­cisé­ment ses dif­férentes sur­faces. Grâce à cela, UE4 peut posi­tion­ner pré­cisé­ment les objets virtuels sur cet objet réel.  Bon, ça reste du “Ear­ly Access”, ce n’est donc pas à utilis­er en pro­duc­tion de suite.

C’est encore une démon­stra­tion de la volon­té d’Epic Games de faire en sorte que son moteur ne soit pas exclu­sive­ment util­isé par le monde du jeu vidéo. Je vous rap­pelle cet arti­cle de l’an dernier sur la ques­tion. Ici, cela peut per­me­t­tre de tourn­er une pub­lic­ité… inter­ac­tive (ou on peut chang­er la couleur, le mod­èle, etc.) ou bien pré­par­er un film… On imag­ine même les appli­ca­tions dans une émis­sion en direct où le pub­lic peut faire divers choix en appelant un numéro ou en twit­tant ! Bon, je ne vais pas don­ner trop de con­seils gra­tu­its sinon on ne va plus me pay­er mon con­sult­ing 😉

Car­ac­téris­tiques du plu­g­in:

  • Crée une liai­son entre un Play­er Con­troller et un Tex­ture Ren­der Tar­get 2D pour rem­plac­er le pipeline de ren­du du moteur par défaut
  • Import des ciné­ma­tiques du Sequencer, per­me­t­tant des mod­i­fi­ca­tions “après coup”.
  • Para­met­ric lens dis­tor­sion: génér­er une UV dis­place­ment map depuis  OpenCV stan­dard cam­era cal­i­bra­tion mod­el .
  • UVMap déforme des tex­tures selon une UV dis­place­ment map  et des matri­ces UV avec flex­i­bil­ité du matéri­au.
  • Stand-alone bloom: recréer des effets de com­po­si­tion comme des halos lumineux autour des objets.
  • Cor­rec­tion des couleurs, Chro­mat­ic aber­ra­tion

Voilà, et le tout est accom­pa­g­né d’un pro­jet exam­ple et de helpers pour les Blue­prints. 

Le moteur a égale­ment évolué pour apporter plus de sou­p­lesse au plu­g­in, ces fonc­tion­nal­ités pou­vant égale­ment être util­isées par ailleurs comme le Sup­port expéri­men­tal du canal alpha dans la chaîne de post-traite­ment du moteur: Cir­cle DOF, Tem­po­ralAA, Motion Blur et Bloom. . Si cela vous intéresse, je vous invite à con­sul­ter le Thread d’origine

Tech­nolo­gie Data­Smith

Pour l’archi­tec­ture et le design, la boîte à out­ils sim­pli­fiée et la tech­nolo­gie data­smith est beau­coup plus pra­tique, comme cela a été démon­tré lors du SIGGRAPH 2017. Data­smith  aide artistes et con­cep­teurs à sim­pli­fi­er l’importation de don­nées dans Unre­al Engine depuis plus de 20 sources de CAO / DCC, y com­pris Autodesk 3ds Max. Il en résulte un gain de temps sig­ni­fi­catif.

Voici un avant/après de ce qu’il est pos­si­ble de faire:

blogAssets_2017_JULY+2017_Datasmith+Beta_Datasmith_Announce_Stacked-770x856-0fca21796261ca7f803e85e535486b82d9a8a2f9.jpg

Nou­veau:  Image Plate Actor and Sequencer Track (Exper­i­men­tal)

Cela per­met l’affichage de séquences pré­cis­es d’images en plein écran lorsque l’actor est relié à une caméra.

Bon, sur le coup, je n’ai pas tout com­pris. Heureuse­ment, un peu de doc­u­men­ta­tion est venu com­pléter tout ça:

En gros, on peut utilis­er des images (issues de vidéos ou non) pour con­stituer le back­ground de l’acteur. En bougeant la caméra, cela bouge automa­tique­ment l’image qui est util­isée comme back­ground, don­nant ain­si une impres­sion d’immersion dans une scène alors qu’il ne s’agit que d’une image. Cette forme là ne per­met pas le temps-réel, mais pourquoi ne pas imag­in­er à l’avenir que la séquence d’images provi­en­nent d’une web­cam? Bref, encore un effort vers l’utilisation de la réal­ité Aug­men­tée par Epic Games.

Nou­veau:  Glob­al Shad­er Sup­port pour Plu­g­ins

Vous pou­vez main­tenant ajouter de nou­veaux shaders à l’intérieur des Plu­g­ins et des pro­jets (Plu­g­in et mod­ules du pro­jet avec shaders globaux néces­si­tent l’utilisation de la Post­Con­fig­Init en phase de charge­ment).

Plu­g­ins et pro­jets peu­vent fournir leurs pro­pres Shaders. Vous pou­vez regarder le plu­g­in Lens­Dis­tor­tion comme exem­ple sim­ple (Engine/Plugins/Compositing/LensDistortion). Per­son­nelle­ment, je n’ai pas ren­con­tré le prob­lème, mais je me sou­viens que mon col­lègue Marien vocif­érait con­tre Epic à cause de cela, car pour un plu­g­in ça n’allait pas, il fal­lait recom­pil­er le moteur il me sem­ble… Enfin, bref, c’est dis­po main­tenant, il suf­fit de respecter les élé­ments suiv­ants:

  • Les fichiers USF doivent être situés dans le réper­toire privé.
  • Les appels à IMPLEMENT_SHADER_TYPE, doivent  inclure le chemin com­plet du fichi­er de shaders USF (par exem­ple «Engine/Private/Foo.usf» ou «plugin/FooBar/Private/MyComputeShader.usf»).
  • Les fichiers C ++ générés doivent être mis en cor­re­spon­dance dans le réper­toire /Engine/Generated/ vir­tu­al direc­to­ry.
  • Shaders /directory néces­site au moins un réper­toire privé ou pub­lic. Le réper­toire généré / ne devrait pas exis­ter.

Struc­ture du fichi­er du réper­toire Shad­er
Les fichiers de shaders ont été divisés en USF et une nou­velle exten­sion de fichi­er USH.

  • Les fichiers USH sont util­isés pour les fichiers d’en-tête de shaders qui ne con­ti­en­nent pas un point d’entrée de shaders et qui ne devraient con­tenir que d’autres fichiers de shaders.
  • les fichiers USF seraient les seuls fichiers ne pou­vant être inclus qui ont les points d’entrée de shaders.

De plus, les fichiers de shaders ont été séparés sous les dossiers publics et privés. Tout comme avec le code source du moteur, l”API publique doit être placée dans des fichiers dans un dossier pub­lic, alors que les implé­men­ta­tions sont placés dans le dossier privé.

Nou­veau: Les dépen­dances entre les plug-ins

Les plu­g­ins peu­vent main­tenant déclar­er des dépen­dances sur d’autres plu­g­ins que le moteur utilis­era pour activ­er automa­tique­ment et charg­er ces plu­g­ins . Les dépen­dances peu­vent être réper­toriées dans un .uplu­g­in en util­isant la même syn­taxe que les fichiers .upro­ject.

Nou­veau: Bent Nor­mal Maps and Reflec­tion Occlu­sion: amélio­ra­tion de l’éclairage

Les Bent nor­mals, chékoédéo ? Lit­térale­ment, des nor­mals (per­pen­dic­u­laires aux faces) tor­dues ! Bon, ça n’explique rien je suis d’accord. En fait, on par­le surtout d’une map sup­plé­men­taire qui est util­isée pour le cal­cul de l’occlusion ambiante (AO). Je ne vais pas revenir sur ce qu’est l’AO, mais cela cor­re­spond grosso modo à une par­tie de l’ombrage que l’objet pro­jette sur lui-même. C’est plus large que cela, mais cela donne une idée à ceux qui ne maitrisent pas cet aspect. En quoi la Bent Nor­mal Map apporte t-elle du réal­isme ? On se rap­proche d’avant du mod­èle d’illumination glob­ale (GI) tout en con­ser­vant de bonnes per­for­mances. En fait, les bents nor­mals sont util­isées à la place des nor­mals donc il n’y a aucune perte de per­fo­mance, tout est pré­cal­culé. Un algo­rithme qual­i­fié d’un peu mag­ique par Epic va tor­dre ces nor­mals pour lui don­ner des détails sup­plé­men­taires amélio­rant le ren­du indi­rect. Le plus gros impact étant que l’on perd moins de lumière durant l’occlusion. 

Ces infor­ma­tions sont aus­si util­isées pour l’occlusion de la réflex­ion. L’AO est tra­di­tion­nelle­ment une occlu­sion la lumière dif­fuse indi­recte. La Reflec­tion occlu­sion est l’occlusion pour lumière indi­recte de type spécu­laire. Cela fonc­tionne en coupant le lobe spécu­laire vis­i­ble avec le cône ou un cône représen­tant la par­tie non occluse de l’hémisphère décrit par la bent nor­mal comme axe du cône et la quan­tité AO comme angle de cône.… Oulala, moi je traduis comme je peux, mais ces cal­culs d’illumination dépassent mes con­nais­sances en lancé de ray­on acquise à l’université  ! Per­son­nelle­ment, je préfère implé­menter l’algo cor­re­spon­dant à une for­mule plutôt que d’écrire cette dernière. Si cela vous intéresse, je vous con­seille d’étudier le code source ! Ce qu’il faut retenir, c’est que cela peut réduire les fuites de lumière spécu­laires de manière sig­ni­fica­tive, en par­ti­c­uli­er lorsque les don­nées SSR pour la réflec­tion ne sont pas disponibles.

Enfin, Epic a ajouté une approx­i­ma­tion mul­ti-rebond pour l’occlusion. Au lieu de l’AO ou d’un oùbrage d’occlusion de réflex­ion ua pre­mier rebond, on utilise une approx­i­ma­tion de ce qu’entraîneraient beau­coup de rebonds. Les matéri­aux bril­lants reçoivent moins de noir et les matéri­aux col­orés sont plus sat­urés.

Avant:

Après:

Nouveau: Asset Management Framework Production

L’Asset Man­ag­er qui avait été intro­duit en Ear­ly Access dès la 4.16 — utilise les Blue­prints et est prêt pour la pro­duc­tion !

Il per­met, à l’exécution, ou sous l’éditeur mais c’est moins intéres­sant, de lis­ter tous les assets d’un réper­toire, que cela soit des maps ou d’autres types d’objets, de blue­prints, etc. Ain­si, il four­nit un frame­work pour faciliter la créa­tion de quêtes, d’armes, ou de héros et de les charg­er sur demande. il dis­pose égale­ment d’un onglet “Asset Man­ag­er” dans les paramètres du pro­jet peut être util­isé pour met­tre en place les règles de votre jeu, et faciliter les pack­ag­ing et le releas­ing. 

 

Il est donc pos­si­ble de charg­er  ces mêmes assets de manière asyn­chrone, à la demande, allégeant ain­si me charge­ment ou même la dif­fu­sion d’un jeu si vous téléchargez les assets en fonc­tion des besoins.

C’est vrai­ment intéres­sant car vous pou­vez ain­si dis­tribuer de nou­veaux assets après avoir releas­er votre jeu. C’est d’autant plus intéres­sant si vous avez opté pour un free to play et que votre mod­èle économique repose sur la vente d’objets, de per­son­nages ou de quêtes sup­plé­men­taires.

Pour utilis­er le ges­tion­naire d’assets, appel­er des fonc­tions sur la classe native UAs­set­Man­ag­er (qui peut être sous-classée pour votre jeu), ou appel­er des fonc­tions Blue­prints de la caté­gorie d’Asset Man­ag­er, comme Async Load Pri­ma­ry Asset.

PhysX

Nou­veau: Ajout du sup­port pour Async PhysX Cook­ing: La pré­pa­ra­tion des don­nées de col­li­sion PhysX est sup­port­ée grâce à la mise à jour du Pro­ce­du­ralMesh­Com­po­nent. Cela per­met de pré­cal­culer plusieurs Pro­ce­du­ralMesh­Com­po­nents en par­al­lèle et en dehors du fil de jeu, évi­tant ain­si accrocs lors de l’exécution.

Nou­veau: Durée de cook­ing Plu­g­in PhysX sur le sup­port mobile: Pos­si­bil­ité d’activer ou dés­ac­tiv­er le pré­cal­cul des don­nées de col­li­sion PhysX par Plu­g­in au lieu de devoir tout recom­pil­er…

Opti­mi­sa­tions : Les tâch­es PhysX sont main­tenant regroupées ensem­ble pour réduire la charge, avec p.BatchPhysXTasksSize. Ce com­pro­mis de par­al­lélisme doit être réglé en fonc­tion de votre jeu.

Nou­veau: Out­ils Vête­ments (Exper­i­men­tal)

  • Le frame­work “cloth­ing Paint Tool” a été repen­sé pour per­me­t­tre d’ajouter plus de fonc­tion­nal­ités à l’avenir. Si vous ne con­nais­sez pas l’outil, je vous engage à aller voir cette page. C’est vrai qu’il s’agit d’outils assez récent (4.16) que je n’ai pas encore eu l’occasion per­son­nelle­ment d’utiliser.
  • La sim­u­la­tion peut-être faite à pos­te­rio et le change­ment d’asset ne pose pas de soucis (par rap­port à l’approche “one shot” précé­dente)
  • sup­port de “masks” de vête­ments: per­met de définir plusieurs masques que l’on peut échang­er au cours du développe­ment tout en tes­tant dif­férentes con­fig­u­ra­tions.
  • Frame­work out­ils remanié pour pein­tre le tis­su:
    • Ajout pein­ture de vête­ments liss­es
    • Ajout rem­plis­sage de vête­ments
    • Ajout du pan­neau d’édition de con­fig­u­ra­tion à l’onglet de vête­ments pour éviter d’avoir à sor­tir de l’onglet ‘Asset Details’.

Animation

Amélio­ra­tions de la fonc­tionnnal­ité “Two bones IK

Vous avez main­tenant un meilleur con­trôle sur les artic­u­la­tions con­trôlées par deux os IK avec la nou­velle option « AllowTwist » qui véri­fie si les joints au milieu peu­vent se tor­dre. Cela peut être par­ti­c­ulière­ment utile pour les con­fig­u­ra­tions de bras mécaniques.

Allow Twist Desac­tivé

Allow Twist Activé

L’option « Main­tain Effec­tor Rel­a­tive Rota­tion » est com­plétée par une nou­velle option « Enable Debug Draw », comme indiqué ci-dessous:

Nou­veau: Make Dynam­ic Addi­tive Node pour Ani­ma­tion Blue­prints

Un nou­veau nœud “Make Dynam­ic Addi­tive” dans l’animation Blue­print prend une pose de base et une pose cible comme entrées et crée la pose addi­tive lors de l’exécution. Cela peut être par­ti­c­ulière­ment utile lorsque vous tra­vaillez avec des per­for­mances live: la cap­ture de mou­ve­ment en live, ou d’autres sit­u­a­tions où les don­nées d’animation sont trans­mis­es au moteur Unre­al lors de l’exécution. Il peut égale­ment vous per­me­t­tre d’utiliser un seul asset de séquence d’animation comme rem­place­ment ou addi­tif, économisant la mémoire disque pour un faible coût d’exécution.

Nou­veau: le Live edit­ing d’animation Blue­prints (expéri­men­tal)

Les Ani­ma­tion Blue­prints peu­vent main­tenant être éditées en direct et recom­pilées tout en jouant dans l’éditeur, ce qui per­met des itéra­tions beau­coup plus rapi­des. C’est même trans­par­ent, on ne se rend pas compte qu’il y a recom­pi­la­tion au final:

Lors du choix d’une instance Blue­print d’animation pour déboguer dans le niveau, la fenêtre de l’éditeur Blue­print d’animation est main­tenant «con­nec­tée» à cette instance et affiche un miroir de l’état d’animation de l’instance.

Nou­veau: Bak­ing Pose lors de la sup­pres­sion de Bones

Pos­si­bil­ité de spé­ci­fi­er une ani­ma­tion Pose à utilis­er pour reskin­ning  les ver­tices dans Skele­tal Mesh LOD pour lesquels les os d’origine sont sup­primés, au lieu de les pondér­er le plus proche par­ent d’os.

Nou­veau: Aperçu Addi­tion­al Mesh­es avec Copy­Pose

Dans les out­ils d’animation, “Addi­tion­al Mesh­es” qui per­met d’afficher un aperçu de mesh­es mod­u­laire utilise désor­mais le nœud «Copy Pose » au lieu de « Mas­ter­Pose ». Cela sig­ni­fie qu’il peut pren­dre en charge les mesh­es qui ne parta­gent pas un squelette et les os sont copiés par nom, ce qui rend plus sou­ple.

Nou­veau: Fil­tres des dossiers dans Anim Asset Brows­er

Le nav­i­ga­teur d’Animation peut désor­mais fil­tr­er sur la base d’un cer­tain nom­bre de dossiers sélec­tion­nés. Le nom­bre de fil­tres disponibles est con­trôlé par un paramètre dans la préférence de l’éditeur.

Matériaux

Amélio­ra­tions Mesh Edi­tor Matéri­aux et Sec­tions Pan­el

L’interface pour l’édition des matéri­aux et des sec­tions Mesh a été con­den­sée pour per­me­t­tre aux artistes d’être plus pro­duc­tifs lors de l’édition des mesh­es. Ce change­ment affecte à la fois le sta­tique Mesh Edi­tor et Skele­tal Mesh Edi­tor.

Le défile­ment a été réduit en fusion­nant le con­trôle de Lods dans le même pan­el per­me­t­tant de tra­vailler sur un LOD, la syn­chro­ni­sa­tion du LOD mod­i­fié avec la fenêtre LOD. Cela per­met à l’utilisateur de voir tou­jours le LOD en cours de mod­i­fi­ca­tion dans la fenêtre.

Nou­veau: Amélio­ra­tion du pré­cal­cul de mate­ri­als (expéri­men­tal)

Il est désor­mais pos­si­ble d’effectuer un cer­tain nom­bre de pré­cal­culs (bak­ing) sur les Mate­ri­als des Sta­t­ic et des Skele­tal Mesh­es.

Note: néces­site l’activation de l’Asset Mate­r­i­al Bak­ing set­ting dans la par­tie expéri­men­tale dans lEd­i­tor Pref­er­ences. Je n’ai pas encore testé, j’avoue que cela me laisse per­plexe… quel type de pré­cal­cul peut-être réal­isé ici et qui ne l’était pas avant ?

Son

Le Stream­ing Audio n’est plus expéri­men­tal: Il con­tient un cer­tain nom­bre de cor­rec­tions dans cette ver­sion.

Nou­veau: Stereo Lay­ers Uni­fied Across Plat­forms

Toutes les plate­formes VR pren­nent désor­mais en charge les couch­es stéréo out-of-the-box par UE4. Vous pou­vez main­tenant utilis­er des lay­ers stéréo à tra­vers toute plate-forme, sans devoir faire atten­tion aux dif­férences fonc­tion­nelles entre plates-formes.

Tirage au sort de l’ordre des lay­ers

Pour fournir un com­porte­ment sim­i­laire pour la com­mande de Stereo Lay­er sur toutes les plate­formes. Pour les plates-formes qui le sup­por­t­ent, il est pos­si­ble de revenir à l’ancien com­porte­ment en réglant les vr.StereoLayers.bMixLayerPriorities à 1.

Développement sur consoles et VR

Nou­veau: Sup­port Xbox One X

Vous pou­vez désor­mais dévelop­per pour la Xbox One X, la com­pi­la­tion est suff­isante, de plus, ce qui a été fait pour la Xbone one pour­ra être réu­til­isé.

Nou­veau: sup­port écran VR Spec­ta­tor pour Ocu­lus, Vive et amélio­ra­tion pour PSVR

Le Spec­ta­tor Screen est la sor­tie “con­nec­tée à un appareil de VR, sou­vent une télé ou un écran, per­me­t­tant à d’autres per­son­nes de voir ce que le joueur voit dans son casque… mais sans la stéréo ! Ain­si, quand un util­isa­teur utilise le HMD, d’autres per­son­nes peu­vent observ­er ou d’interagir avec l’expérience.

Vous pou­vez main­tenant dessin­er n’importe qu’elle tex­ture, y com­pris ren­der tar­gets ou inter­face util­isa­teur, à l’écran Spec­ta­tor, en plus ou à la place d’une vue de ce qui est affiché en VR. Un sys­tème sim­ple de mise en page est acces­si­ble aux Blue­prints. La plu­part des modes de débo­gage sont main­tenant disponibles sur toutes les plate­formes.

Pour plus d’ infor­ma­tions sur l’ajout du sup­port VR Spec­ta­tor  à votre pro­jet, con­sul­tez la doc Vir­tu­al Real­i­ty Spec­ta­tor  Screen.

Nou­veau: ARK­it Sup­port (Exper­i­men­tal)

Sup­port de ARK­it pour iOS en ver­sion expéri­men­tale. Cette tech­nolo­gie d’Apple est com­pat­i­ble avec les appareils équipés au min­i­mum du processeur A9 et d’iOS 11. de nom­breuses util­i­sa­tions sont envis­age­ables.

Ce plu­g­in est basé sur les travaux de l’équipe de Wingnut, mis en valeur lors de la con­férence de presse d’Apple WWDC. Il per­met aux développeurs d’utiliser les fonc­tion­nal­ités avant le sup­port offi­ciel  d’Apple dans iOS 11.

C’est assez impres­sion­nant quand on voit la sta­bil­ité du bouzin, en com­para­i­son de tech­nos comme OpenCV. Ce qui est dom­mage, c’est qu’on est lim­ité à Apple et que cela ne cor­re­spond pas aux habi­tudes d’Epic de ne pro­pos­er des fonc­tion­nal­ités que sur une seule plate­forme. Doit-on s’attendre sous peu à un implé­men­ta­tion de ces fonc­tion­nal­ités sur PC avec un autre sys­tème ? Je l’espère pour ma part… Dans tous les cas, on voit bien qu’Epic s’investi de plus en plus dans la Réal­ité Aug­men­tée, après avoir obtenu de super résul­tats en Réal­ité virtuelle. Nor­male­ment, il est prévu le sup­port bin­au­cu­laire des télé­phones google et de la tech­nolo­gie Tan­go… Mais ça va don­ner quoi avec le monoc­u­laire des télé­phones tra­di­tion­nels ? Et pour l’instant, il n’y a que peu de smart­phones qui sont com­pat­i­bles… Bref, affaire à suiv­re. En tous cas, chez Ekstra Real­i­ty, on fait le pari de l’ARKit:

Nou­veau:  VR mode cam­era Pre­views

Pour vous aider à faire du lev­el design en mode VR, c’est à dire en immer­sion directe, un mode pre­view de caméra a été mis en place sous l’éditeur. La sélec­tion d’une caméra dans une scène ou d’un actor qui con­tient une caméra comme un per­son­nage, vous don­nera automa­tique­ment un aperçu dans le monde de ce que la caméra voit. Vous pou­vez épin­gler cet aperçu comme l’aperçu de la caméra de bureau, et déplac­er le pan­el dans le monde.

 Nou­veau: direct Mul­ti­view Sup­port pour Day­dream

Mul­ti­View Direct peut main­tenant être util­isé sur la plate-forme Day­dream (google VR). Direct mul­ti­view  tra­vaille avec le com­pos­i­teur Day­dream pour sup­primer une copie plein écran, ce qui améliore les per­for­mances et réduit la sur­charge de la mémoire de la fonc­tion.

Nou­veau: Google Plu­g­in pour Tan­go UE4 (expéri­men­tal)

Unre­al Engine 4.17 inclut un sup­port expéri­men­tal pour le pro­jet Google Tan­go sur Android. On en par­lait ci-avant juste­ment. Le plu­g­in prend en charge le suivi de mou­ve­ment à six axes, l’apprentissage de la zone, la recon­struc­tion de l’environnement, et d’autres fonc­tion­nal­ités de Google Tan­go.

Remar­que: l’API et les inter­faces peu­vent chang­er dans les ver­sions ultérieures du moteur.

Nouveau: UMG / Slate Clipping 2.0

Slate a un nou­veau sys­tème de clip­ping qui prend en charge le découpage en lay­ers com­plex­es avec des trans­for­ma­tions arbi­traires. Pour mieux com­pren­dre, voir cette vidéo:

Blueprints

 

Nou­veau: Blue­print Com­pi­la­tion Man­ag­er

Il réduit le temps de com­pi­la­tion de blue­prints de 40 à 50%! Voilà, c’est tout, sortez, y-a plus rien à voir ! Voilà, on ne sait pas for­cé­ment pourquoi, mais cela a été amélioré. Remar­que: Vous pou­vez dés­ac­tiv­er le nou­veau ges­tion­naire de com­pi­la­tion dans les paramètres du pro­jet s’il provoque des prob­lèmes avec un pro­jet exis­tant.

Nou­veau: reg­istre des assets dans Blue­prints

Le Reg­istre des assets peut main­tenant être util­isé dans Blue­prints pour trou­ver rapi­de­ment des infor­ma­tions sur les act­ifs!

Nou­veau:  Blue­print Prop­er­ty Acces­sors

Les vari­ables natives peu­vent main­tenant utilis­er le bal­is­age UProp­er­ty pour être util­isées en Blue­prints via UFunc­tion acces­sors, même si la pro­priété avait été exposée directe­ment à l’aide Blue­print­Read­On­ly ou bal­is­age Blue­print­Read­Write.

Nou­veau: Orphan Pins

Une nou­velle fonc­tion­nal­ité “Orphan Pin” a été ajoutée pour éviter des bugs mys­térieux comme le résul­tat du retrait de pins!

Chaque fois qu’un pin con­nec­té, en cours d’utilisation, est retirée d’un nœud, plutôt que de la faire dis­paraître tran­quille­ment, brisant toutes les con­nex­ions, elle sera désor­mais retenue comme orphe­line, et une erreur ou d’un aver­tisse­ment sera émis.

Nou­veau:  Sobol Blue­print and Mate­r­i­al Nodes

Plusieurs nœuds ont été ajoutés pour génér­er des emplace­ments de points en util­isant la séquence qua­si-aléa­toire Sobol.

La séquence Sobol peut génér­er des points avec un grand nom­bre de dimen­sions indépen­dantes. Les nœuds Blue­prints Ran­dom Sobol Float don­nent la valeur d’une seule dimen­sion. Ceux– ci peu­vent être com­binés ensem­ble pour créer des dis­tri­b­u­tions 2D ou 3D.

Les nœuds Blue­prints  Ran­dom Sobol Cell 2D pla­cent des points 2D Sobol dans les cel­lules d’une grille 2D. Cela per­met de con­trôler la den­sité en plaçant un nom­bre dif­férent de points dans chaque cel­lule. Le nœud Sobol de matéri­au four­nit les mêmes emplace­ments de points 2D que le nœud Ran­dom Sobol 2D avec une grille de 256x256 cel­lules fixe. Cet exem­ple place un nom­bre vari­able d’arbres dans chaque cel­lule, avec un matéri­au sur le ter­rain qui mon­tre les cel­lules et des­sine un point sous le pre­mier arbre placé dans chaque cel­lule.

Le noeud Blue­print Ran­dom Sobol Cell 3D fait la même chose pour les points en 3D dans une grille 3D. Cet exem­ple met qua­tre sphères dans chaque cel­lule à l’ intérieur de la pyra­mide.

Le noeud Tem­po­ral Sobol utilise une autre séquence 2D Sobol au niveau de chaque pix­el, cyclant à tra­vers un autre ensem­ble de points de chaque trame. Cela peut être utile pour les effets faits pour se fon­dre dans plusieurs cadres avec anti­crénelage tem­porel

1 échan­til­lon par pix­el, sans TAA

4 échan­til­lons par pix­el, sans TAA

4 échan­til­lons par pix­el, avec TAA

Nou­veau: Tex­ture-based Impor­tance Sam­pling Blue­print nodes

Impor­tance sam­pling place des points d’échantillonnage selon une fonc­tion de den­sité don­née. Des nœuds Blue­prints ont été ajoutés pour per­me­t­tre le place­ment flex­i­ble en 2D, util­isant une tex­ture. Le Blue­print  Make Impor­tance Tex­ture traite la tex­ture pour l’utilisation et le Blue­print Impor­tance Sam­ple donne les emplace­ments des points entraînés par la den­sité prévue.

Voici qua­tre exem­ples de place­ment de sphères en fonc­tion de la lumi­nance de qua­tre tex­tures dif­férentes.

  • La pre­mière varie en douceur, dense au cen­tre, moins dense vers l’extérieur.
  • Le sec­ond est uni­forme dans le cen­tre et moins dense le long du bord.
  • Le troisième est totale­ment uni­forme  dans l’hexagone.
  • Le qua­trième est dense dans les anneaux blancs et moins dense dans les anneaux rouges.

Ci-dessous, huit sources lumineuses sont placées en fonc­tion de la tex­ture cible rouge et blanc. La taille et la couleur de la source est pro­por­tion­nelle à la den­sité locale.

Android/iOS

Android Tool­chain et SDK mis à jour 

Android tool­chain sup­porte main­tenant les appli­ca­tions NDK 14b et NDK 15 en expéri­men­tal. Google Play Ser­vices a été mis à niveau vers 9.8.0 ain­si que les bib­lio­thèques de sup­port Android néces­saires.

A par­tir de cette ver­sion Gra­dle est pris en charge comme option expéri­men­tale. Cette option est activée par pro­jet dans les paramètres du pro­jet Android avec la case à cocher «Enable Gra­dle instead of Ant [Exper­i­men­tal]».

Réduc­tion de la taille de l’exé Mobile sur iOS et Android

Pour Android, on utilise désor­mais le dra­peau -ICF qui per­met d’économiser env­i­ron 5 Mo non com­pressés

Pour iOS,  des excep­tions pour Objec­tiveC par défaut sont dés­ac­tivées entraî­nant une économie d’environ 6,5 Mo de la taille de l’exécutable. Il est aus­si pos­si­ble de dés­ac­tiv­er le code inline pour iOS builds.

Nou­veau: Mobile Sep­a­rate Translu­cen­cy

Les objets translu­cides mar­qués comme « Mobile Sep­a­rate Translu­cen­cy » seront ren­dus séparé­ment après le Blom et la pro­fondeur de champ. Cette option se trou­ve dans la Translu­cen­cy sec­tion de l’éditeur de matéri­aux.

La translu­cid­ité séparée néces­site que l’option Mobile­HDR soit activée et MSAA dés­ac­tivée, sinon elle sera ren­due comme translu­cid­ité nor­male.

Nou­veau: sRGB sur Android haut de gamme

Les appli­ca­tions Android conçues avec OpenGL ES3.1 ou Vulkan utilis­eront désor­mais un échan­til­lon­nage sRGB natif au lieu de l’imiter –> meilleure réso­lu­tion des couleurs de per­cep­tion des tex­tures sur les appareils.

Nou­veau: Android Aspect Ratio Sup­port ultra-grand écran

Unre­al Engine 4,17 prend en charge des ratios ultra-large, pour sup­port­er des périphériques grand écran tels que le Sam­sung Galaxy S8.

Par défaut, le ratio max­i­mal sup­porté est de 2,1 (largeur/ hau­teur). Le for­mat par défaut peut être mod­i­fié dans la sec­tion Project Set­tings .

Nou­veau: Ajout du sup­port audio Unre­al sur plusieurs nou­velles plate­formes (Ear­ly Access)

Le nou­veau sys­tème audio Unre­al est sup­porté sur Android, avec l’amélioration des per­for­mances et des solu­tions pour le stut­ter­ing. Il y aus­si sup­port pour PlaySta­tion 4, Xbox One, iOS et Mac OS.

Nouveau: Analyse statique avec PVS-Studio

UE4 prend désor­mais en charge l’analyseur sta­tique PVS-Stu­dio (disponible séparé­ment). Pour le per­me­t­tre, ajoutez -Sta­t­i­c­An­a­lyz­er = PVSStu­dio à la ligne de com­mande Unre­al­Build­Tool. C’est assez intéres­sant si vous souhaitez amélior­er votre code, repér­er les séquences inutiles, voir des erreurs directe­ment grâce à cet analy­seur sta­tique.

SOURCEhttps://www.unrealengine.com/en-US/blog/unreal-engine-4–17-released

 

Une réflexion sur « Unreal Engine mise à jour 4.17 »

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.