Houdini (logiciel)
Houdini est un logiciel d'animation 3D développé par la société SideFX basée à Toronto. SideFX a adapté Houdini depuis la suite d'outils logiciels PRISMS de génération procédurale. Son attention exclusive à cette technologie le distingue des autres logiciels 3D.
Développé par | SideFX |
---|---|
PremiĂšre version | |
DerniĂšre version | () |
Ăcrit en | C++ |
SystĂšme d'exploitation | Microsoft Windows |
Environnement | Windows, Mac OS X, Linux |
Formats lus | Houdini Apprentice Project (d), Houdini Binary LUT (linear) (d), Houdini Binary LUT (log) (d) et Houdini LUT (d) |
Formats Ă©crits | Houdini Apprentice Project (d), Houdini Binary LUT (linear) (d), Houdini Binary LUT (log) (d) et Houdini LUT (d) |
Type | animation 3D |
Licence | Commercial |
Site web | sidefx.com |
Houdini est trĂšs utilisĂ© pour la crĂ©ation dâeffets visuels dans les films et les jeux vidĂ©o. Il est utilisĂ© par les principales sociĂ©tĂ©s dâeffets spĂ©ciaux, telles que Toei Animation, Studio Ghibli, Production I.G, OLM, et Polygon Pictures.
Houdini est Ă©galement utilisĂ© par les entreprises d'animations, notamment sur les films Princesse MononokĂ©, Le Voyage de Chihiro et Le ChĂąteau ambulant de Studio Ghibli, Ghost in the Shell 2: Innocence de Production I.G, et Hottarake no Shima: Haruka to MahĆ no Kagami de Polygon Pictures.
SideFX propose également une version partiellement limitée appelée Houdini Apprentice, qui est gratuite pour une utilisation non commerciale.
Historique des versions
Version | Date de sortie | Principales nouveautĂ©s | DurĂ©e inter-version | SystĂšmes dâexploitation | Prix (en US$) | Observations |
---|---|---|---|---|---|---|
Houdini 1.0 | IRIX | $ 9 500 | Houdini 1.0 au SIGGRAPH 1996 | |||
Houdini 2.0 | IRIX | |||||
Houdini 2.5 | DĂ©but du portage Windows NT | IRIX, Windows NT | ||||
Houdini 3.0 | IRIX, Windows NT | |||||
Houdini 4.0 | DĂ©but du portage Linux | IRIX, Windows NT, Linux | $ 17 000 | |||
Houdini 5.0 | IRIX, Windows NT, Linux | $ 16 000 | ||||
Houdini 5.5 | IRIX, Windows NT, Linux | $ 16 000 | ||||
Houdini 6.0 | IRIX, Windows NT, Linux | |||||
Houdini 6.5 | (CIRCA) | IRIX, Windows NT, Linux | ||||
Houdini 7.0 | port IRIX abandonné | Windows NT, Linux | Silicon Graphics IRIX abandonné | |||
Houdini 8.0 | Windows NT, Linux | $ 17 000 | ||||
Houdini 9.0 | Windows NT, Linux | |||||
Houdini 9.1 | 2008 | Windows NT, Linux | ||||
Houdini 9.5 | 2008 | Nouvel UI, début du support MacOS | Windows NT, Linux, MacOS | |||
Houdini 10.0 | 331 jours | |||||
Houdini 11.0 | 467 jours | $ 6 695 | ||||
Houdini 12.0 | 583 jours | |||||
Houdini 12.1 | 159 jours | |||||
Houdini 12.5 | 219 jours | |||||
Houdini 13.0 | 231 jours | |||||
Houdini 14.0 | 441 jours | |||||
Houdini 15.0 | 273 jours | |||||
Houdini 15.5 | 217 jours | |||||
Houdini 16.0 | [1] | 278 jours | $ 6 995 | |||
Houdini 16.5 | [2] | 259 jours | $ 6 995 | |||
Houdini 17.0 | [3] | Vellum | 337 jours | |||
Houdini 17.5 | [4] | PDG (Graphique de dépendance procédurale) | 154 jours | |||
Houdini 18.0 | 27 novembre 2019[5] | USD, LOPS, Karma (GPU Render) | 253 jours | |||
Houdini 18.5 | KineFX | 331 jours | ||||
Houdini 19 | 18 octobre 2021 | Karma, CFX | 366 | $ 6,995 |
Caractéristiques
Houdini couvre tous les principaux domaines de la production 3D, notamment :
- Modélisation - Toutes les entités de géométrie standard, y compris les polygones, NURBS/courbes de Bézier/Patches & Trims (hiérarchique), metaballs.
- Animation - Animation par clés et manipulation de canal brut (CHOP), prise en charge de la capture de mouvement.
- Particules
- Dynamique - Dynamique des corps rigides, dynamique des fluides, dynamique des fils, simulation de tissu, simulation de foule.
- Ăclairage - CrĂ©ation de shaders par systĂšme nodal, Ă©clairage et rĂ©-Ă©clairage de shaders basĂ©s sur le systĂšme nodal par rendu IPR
- Rendu - Houdini est livrĂ© avec son puissant moteur de rendu Mantra, mais la licence Houdini Indie (version d'Houdini pour les dĂ©veloppeurs indĂ©pendants) prend en charge dâautres moteurs de rendu tiers, tels que : Renderman, Octane, Arnold, Redshift, V-Ray, Maxwell.
- Volumétrie - Avec ses outils natifs CloudFx et PyroFx, Houdini peut créer des simulations de nuages, de fumée et de flammes.
- Compositing - Compositeur complet de passes de rendu.
- Développement de plugins - BibliothÚques de développement pour l'extensibilité de l'utilisateur.
Houdini est un environnement ouvert et prend en charge diverses API de script. Python est de plus en plus le langage de script de choix du logiciel, et est destinĂ© Ă remplacer son langage de script original, semblable Ă CShell, Hscript. Cependant, tous les principaux langages de script prenant en charge la communication par socket peuvent sâinterfacer avec Houdini.
Opérateurs
La nature procĂ©durale de Houdini se retrouve chez ses opĂ©rateurs. Les actifs numĂ©riques sont gĂ©nĂ©ralement construits en reliant des sĂ©quences d'opĂ©rateurs (ou OPs). Ce procĂ©duralisme prĂ©sente plusieurs avantages : il permet aux utilisateurs de construire des objets gĂ©omĂ©triques ou organiques trĂšs dĂ©taillĂ©s en relativement peu d'Ă©tapes par rapport Ă dâautres logiciels, il permet et encourage le dĂ©veloppement non linĂ©aire, et de nouveaux opĂ©rateurs peuvent ĂȘtre crĂ©Ă©s en termes d'opĂ©rateurs existants, une alternative flexible au script non procĂ©dural souvent utilisĂ© dans d'autres logiciels pour la personnalisation. Houdini utilise ce paradigme procĂ©dural tout au long : pour les textures, les shaders, de particules, de « donnĂ©es de canal » (donnĂ©es utilisĂ©es pour piloter l'animation), de rendu et de compositing.
La structure d'opérateur de Houdini est divisée en plusieurs groupes principaux :
- OBJ - nĆuds qui transmettent des informations de transformation (ils contiennent gĂ©nĂ©ralement des procĂ©dures d'exploitation normalisĂ©es).
- SOP - Opérateurs de surface - pour la modélisation procédurale.
- POPs - Opérateurs de particules - utilisés pour manipuler les particules.
- CHOPs - OpĂ©rateurs de canaux- pour lâanimation procĂ©durale et la manipulation audio.
- COPs - Opérateurs composites - utilisés pour effectuer une composition sur des séquences.
- DOPs - Opérateurs dynamiques - pour des simulations dynamiques pour les interactions de fluides, de tissus, de corps rigides, etc.
- SHOPs - OpĂ©rateurs de shaders - pour reprĂ©senter une douzaine de types dâombrage diffĂ©rents pour plusieurs moteurs de rendu diffĂ©rents.
- ROPs - Opérateurs de rendu - pour la construction de réseaux représentant différents passes de rendu et dépendances de rendu.
- VOP - Opérateurs VEX - pour la construction de systÚme nodal de l'un des types ci-dessus en utilisant une architecture SIMD hautement optimisée.
- TOP - Opérateurs de tùches[6]
Les opérateurs sont connectés entre eux dans des réseaux. Les données circulent, manipulées par chaque opérateur. Ces données pourraient représenter de la géométrie 3D, des images binaires, des particules, des dynamics, des algorithmes de shaders, de l'animation, de l'audio, ou une combinaison de ceux-ci. Cette architecture nodale (en) est similaire à celle utilisée par d'autres logiciels non nodaux tels que Shake (en) ou Nuke.
Les rĂ©seaux complexes peuvent ĂȘtre regroupĂ©s dans un seul nĆud mĂ©ta-opĂ©rateur qui se comporte comme une dĂ©finition de classe et peut ĂȘtre instanciĂ© dans d'autres rĂ©seaux, Ă l'instar de tout nĆud compilĂ©. De cette façon, les utilisateurs peuvent crĂ©er leurs propres outils sophistiquĂ©s sans avoir besoin de connaissances en programmation. Ainsi, Houdini peut ĂȘtre considĂ©rĂ© comme une boĂźte Ă outils de programmation visuelle hautement interactive qui rend la programmation plus accessible aux artistes.
L'ensemble d'outils de Houdini est principalement mis en Ćuvre en tant qu'opĂ©rateurs. Cela conduit Ă un apprentissage plus rapide que d'autres logiciels comparables. C'est une chose de savoir ce que font tous les nĆuds - mais la clĂ© dans Houdini consiste Ă comprendre comment reprĂ©senter un rĂ©sultat crĂ©atif souhaitĂ© sous la forme d'un rĂ©seau de nĆuds. Les utilisateurs qui rĂ©ussissent sont gĂ©nĂ©ralement familiarisĂ©s avec un vaste rĂ©pertoire de rĂ©seaux (algorithmes) qui permettent d'atteindre des rĂ©sultats crĂ©atifs standard. La surcharge liĂ©e Ă l'acquisition de ce rĂ©pertoire d'algorithmes est compensĂ©e par la flexibilitĂ© artistique et algorithmique offerte par l'accĂšs Ă des blocs de construction de niveau infĂ©rieur permettant de configurer des routines de crĂ©ation d'Ă©lĂ©ments. Dans les grandes productions, le dĂ©veloppement d'un rĂ©seau procĂ©dural pour rĂ©soudre un problĂšme de crĂ©ation d'Ă©lĂ©ment spĂ©cifique rend l'automatisation triviale. De nombreux studios qui utilisent Houdini pour les effets spĂ©ciaux Ă grande Ă©chelle et les projets d'animation dĂ©veloppent des bibliothĂšques de procĂ©dures pouvant ĂȘtre utilisĂ©es pour automatiser la gĂ©nĂ©ration de nombreux Ă©lĂ©ments de la production sans pratiquement aucune interaction entre artistes.
Houdini se distingue également par sa gamme d'opérateurs d'entrées-sorties pour les animateurs, dont les ports MIDI, la prise en charge du format RAW ou les connexions TCP, les services audio (comme les détections de phonÚmes et de hauteurs intégrées), la position du curseur de la souris, etc. Il convient de noter la capacité de Houdini à travailler avec l'audio, y compris en synthÚse sonore et musicale et outils de traitement du son 3D spatial. Ces opérateurs existent dans le contexte appelé CHOPs pour lequel SideFX a remporté un Prix de l'Académie des réalisations techniques en 2002.
VEX (Vector Expression) est l'un des langages internes de Houdini, ressemblant au RenderMan Shading Language (en). En utilisant VEX, un utilisateur peut dĂ©velopper des SOP, des POP, des shaders, etc, personnalisĂ©s. La mise en Ćuvre actuelle de VEX utilise un traitement de style SIMD.
Rendu
Houdini est fourni avec un moteur de rendu natif, Mantra, qui avait beaucoup de similitudes avec RenderMan dans sa premiĂšre version. Le rendu en micropolygone est pris en charge, ce qui permet des opĂ©rations de dĂ©placement de haute qualitĂ© ainsi que les modes de balayage par ligne et les lancers de rayons traditionnels. Les shaders sont scriptables et composĂ©s dans leur langage VEX, ou en utilisant des VOP; leur interface basĂ©e sur les nĆuds pour la programmation de VEX. Mantra (comme Houdini lui-mĂȘme) prend Ă©galement en charge les nuages de points, dont l'application peut ressembler Ă celle d'une carte virtuelle dans Renderman. Cela permet de produire des interactions lumineuses plus complexes, telles que la diffusion sous la surface et l'occlusion ambiante, avec un temps de calcul rĂ©duit. Mantra peut effectuer des rendus volumiques extrĂȘmement rapides, ainsi que du PBR (rendu physique rĂ©aliste), une technique qui tente de modĂ©liser plus prĂ©cisĂ©ment les interactions physiques de la lumiĂšre et des matĂ©riaux.
Notes et références
- (en) Cet article est partiellement ou en totalitĂ© issu de lâarticle de WikipĂ©dia en anglais intitulĂ© « Houdini (software) » (voir la liste des auteurs).
- (en) « SideFX Releases Houdini 16 | SideFX », sur www.sidefx.com (consulté le )
- (en) « SideFX releases Houdini 16.5 | SideFX », sur www.sidefx.com (consulté le )
- (en) « H17 Launch Presentation | SideFX », sur www.sidefx.com (consulté le )
- (en) « Houdini 17.5 Released | SideFX », sur www.sidefx.com (consulté le )
- (en) « Houdini 18 Released | SideFX », sur www.sidefx.com (consulté le )
- https://vimeo.com/322225534
Liens externes
- SideFX Software, Makers of Houdini
- Orbolt Asset store (official)
- Derivative Inc., spin-off of Side Effects Software and maker of TouchDesigner.
- odforce â a Houdini artist community site
- 3Daet, A project-based Houdini site built by its users. Seems not to be active anymore.
- - CG WIKI / Joy of Vex, great resource for VEX, one of the programming languages used in Houdini.
- Houdini community page on Facebook
- PRISMS description and screenshots
- 30 minute interview with Kim Davidson about the history of Houdini