Simulation de fluides dans C4D gratuitement
Cinema 4D et la simulation de fluide sont deux choses qui ne vont pas ensemble, en tout cas pour le moment, j’espère que Maxon va lire ce post.
Bref sur Cinema4D, si vous voulez simuler des liquides, vous avez des options payantes tel que Realflow ( à partir de 1'000€ ), TurbulenceFD ( 400€ ) et Thinking particules ( 45€/mois ). Au niveau des options gratuites évidentes, il nous reste les Metaballs dans C4D mais le résultat est très limité.
Blender de son coté possède un module de simulation de fluide plutôt complet et il existe une passerelle qui permet d'exporter une simulation en .obj ( dispo ici : http://paengpaeng.com/2008/09/blender-fluids-in-cinema-4d-the-next-step/ ) que nous allons détailler étape par étape.
Ce que vous allez apprendre ;
- Utiliser Blender pour la simulation de fluide ( eau, miel...etc )
- Importer la simulation dans Cinema4D pour le rendu
Etape 1 : Modélisation de la scène
Vous êtes bien sûr libre de faire la scène que vous voulez. Je vous propose ici de faire une scène relativement simple mais qui mettra un peu à l'épreuve votre machine lors du calcul de la simulation de fluide.
Etape 2 : Exportation pour Blender
Pour exporter le tout dans Blender, rien de plus simple. Il suffit de vérifier une chose
- vous n'avez pas de "modifiers" actifs ( vous avez tout converti en objet éditable )
Pour ma part, je fais 2 groupes :
- 1 pour la scène C4D avec les "modifiers" en place ( c'est toujours pratique de pouvoir changer des choses sans avoir à tout refaire )
- 1 pour les éléments qui vont être exportés ( ceux qui vont interagir avec le liquide )
Je crée un nouveau fichier C4D et je copie/colle ma scène sans "modifiers" actifs, que du polygone. Je fais attention à ne prendre que les objets qui vont interagir avec le liquide de manière à ne pas avoir un export trop lourd.
Etape 3 : Simulation
Blender possède un système de simulation de fluide très puissant aux multiples possibilités. Je vais volontairement rester simple mais libre à vous de vous amuser et de tester différents Setup.
Définir un domaine
C'est l'espace qui va définir où le fluide doit être. En général un cube fait bien l'affaire.
Définir des objets Inflow
Ce sont les objets qui vont faire rentrer du liquide. Ici aussi des primitives de bases ( cubes, sphères ) fonctionnent très bien.
Définir des objets correspondant aux fluides déjà présents
Ce sont des objets qui représentent un liquide. Ici encore les primitives de bases sont très utiles car elles permettent de remplir rapidement des espaces sans avoir besoin de les faire remplir par la simulation. Pensez à une piscine : vous n'allez pas "gaspiller" du temps de calcul pour la remplir alors qu'en plaçant un cube de la taille correspondante au fluide elle est deja remplie.
Définir si besoin des objets Outflow
Ce seront les objets qui feront "disparaître" le fluide tel que des évacuations. Au contact de cet objet le fluide disparaîtra.
Définir un Preset
Dans Blender, il existe plusieurs presets déjà paramétrés ( eau, miel, huile ). Ici je ferais une simulation d'eau mais libre à vous de comparer les différentes simulations.
Définir une résolution de simulation
Plus vous voulez une simulation fine, plus le temps de calcul sera long. A vous de jongler entre les deux en fonction de vos besoins. Ici j'ai appliqué une résolution de 300 mais celà a pris une nuit entière à calculer.
Une fois tout paramétré comme vous le souhaitez, lancer la simulation et aller boire un café / faire un tour
Vous devriez avoir un résultat comme celui ci :
Etape 4 : Exportation de la simulation / Importation dans Cinema4D
Voilà, la simulation est finie de calculer. Il vous faut maintenant l'exporter dans C4D.
Pour exporter rien de plus simple.
Sélectionner votre domaine ( et uniquement lui ). Il "contient" la simulation de fluide sous forme de mesh.
Exporter au format .obj selon les paramètres suivant :
Cette opération peut prendre un certain temps en fonction de la durée de votre animation, la qualité de la simulation...etc. Vous allez vous retrouver avec plein de fichiers .obj donc consacrez un dossier rien qu'à ça au sein de votre projet ( un fichier obj par frame ).
Voilà, la partie Blender est terminée.
Revenons dans C4D.
Fusionner votre scène de base avec la scene C4D disponible sur paengpaeng.
Importer votre séquence objet en cliquant sur le "fluid importer" avec les paramètres suivants :
Filename : le premier fichier de votre séquence.
Counter Length : la quantité de chiffre dans la numérotation de votre séquence ( ici 6 ).
Animation Offset : la première image de votre animation, ici 1. Je ne commence pas de l'image 0.
Voilà, vous n'avez plus qu'à créer votre lighting ( ici un soleil ) et vos shaders d'eau ou de terrain et à lancer le calcul.
Vous devriez avoir un résultat proche de celui-ci :
La vidéo explicative arrive d'ici quelques jours
Liens pratique