20 | Designing A Digital Fashion Garment – The Final Project

For my final project, I decided to draft a pattern for pants in CLO3D. I am following a tutorial for the basic shape and will modify the garment according to my design preferences.

Preparing the Avatar

To begin the process, I decided to modify one of the default avatars from the CLO library to my own measurements. This was relatively easy and it’s a quick method to get a fairly accurate representation of your body in the digital space. However, the problem with this method is that body proportions vary greatly from person to person and the distribution of certain measurements creates a very different base shape of the body. Even though CLO allows you to input a lot of specific measurements, such as knee, leg and calf circumference, it does still calculate the spaces between the input custom measurements automatically, resulting in certain idiosyncratic body shapes to be lost in the process. For example, the difference between my high and low hip measurement is quite substantial and creates a dip at the hip area but there is no way (that I could find) to represent the shape between those two measurements inside the avatar editor. So to get a very accurate representation of your own body, you would have to make a custom model from scratch and load it into the program. For this project, I decided to go with the approximately correct model achieved by modifying the default avatar.

Drafting the Pattern

After the Avatar was prepared, I started developing the pants pattern according to this tutorial. 

First, I had to calculate some measurements as listed below.

Pants measurements

Avatar:
Hip: 97 cm  (31.2in)
Half hip: 48,5 cm (19in)
Waist: 65 cm (25.6in)
Outseam: 95cm (37.4in)
Inseam: 75cm (29.5in)
Knees: 18in
Ankles: 13.75in

Measurement Percentages (of half hip in inches):
21% 3.99in
55% 10.45in
47% 8.93in
10% 1.9in
20% 3.8in

Math:
Front Waist: 25.6 / 4 + .375 = 6.775
Back Waist: 25.6 / 4 – .375 = 6.025
Front Knee: 18 / 2 +.75 = 9.75
Front Ankle: 13.75 / 2 – .375 = 6.5
Back Ankle: 13.75 / 2 + .375 = 7.25 

The pattern drafting process was very similar to the analog process on paper and gave me lots of flashbacks to pattern drafting class. Especially when following an instruction with different measurements, there can be some confusing moments in the process and my lack of practice over the last years definitely showed while I was developing the pattern. 

Following the tutorial was a very helpful way of getting familiar with all the tools in the 2D Pattern drafting window. Some of them I found to be less intuitive than I originally thought while going though them in the overview tutorial series. For example, the curving tools don’t respond in the way that I would expect and the way I know these types of tools from other programs, so they were challenging to use in the drafting process. 

At the end, I did manage to construct the pattern and I could move on to arranging the pieces on the avatar and sew and simulate the garment.

Fit Issues, Modifications and Fabric Choices 

I tried to correct this issue by re-measuring the inseam of my avatar, going back to the pattern in the 2D window and comparing the measurement to the inseam on the pattern. By gradually editing the curvature and approximating it to the inseam measurements, I managed to somewhat resolve the issue, although the result was still not perfect. 

After sewing, I noticed some significant bunching  issues around the crotch area, a typical issue in pant patterns.

After I was mostly happy with the base pattern, I started modifying it by changing the leg shape, adding a waistband and a zipper. I also experimented with the fabric options from the CLO library and settled on a black woven cotton fabric for the final pant model. 

Sewing Issues and Draping

After I made my modifications, I simulated the sewing again and ran into some issues, especially resulting from new pattern pieces on the waistband and zipper fly that where supposed to be sewn over top of each other. As you can see in the screen capture below, the program was confused as to how to arrange the overlapping seam lines and unfortunately, I was not yet able to find a solution for this issue. Another problem I had was with the developing of the waistband, which was not included in the pattern pieces from my original pattern so I had to develop it myself and as mentioned before, my lack of practice showed once again. The waistband could be improved, especially in the curvature on the side seams.

After the sewing, I draped the garment on the avatar, which was fun but also confusing sometimes, because the mesh of the avatar sometimes interacts strangely with the mesh of the garment model.

When I was happy with the draping, I took the garment model into the final processing step in CLO.

Animation, Render and Import into Blender

As a final step in CLO I took the model into the animation workspace. This workspace is quite easy to use and intuitive for anyone who has used a similar 3D program before.

I chose a preset walk cycle from the CLO library, which worked very well and smooth. For the final render, I went with the invisible avatar render. I exported the model, including the walk cycle animation as an alembic (.abc) file. I then loaded the model into Blender, where I had some issues with the fabric of the model not translating well from CLO. Because I wasn’t able to find the cause of the issue, I decided to use a similar cotton fabric material from Blenderkit for the pants model. Finally, I created a little scene, animated some camera movement and rendered the model with Cycles.

Final Product

Final Thoughts

I really enjoyed the process of getting familiar with CLO3D. During the initial phase of learning the basic functions of the program, I had the impression that it would be quite easy to work out the final project. However, while working on my final piece, I realized which functions of the program are still not as clear to me as I thought and which features I need more practice with. Additionally, I learned that there are other methods of developing pattern in CLO, as I have seen some tutorials where users cut out and drape on the 3D model in a more free-form approach. This is something I would like to try out in future projects, because I realized while developing the pattern in the „traditional“ way, that my knowledge on pattern development is quite rusty and I need to either brush up on it or find other methods for reaching a good end product. Another aspect I would like to work more on in the future is the fabric export and modification options because I had some issues with this in my final project.

Overall, I will definitely keep learning more about CLO and hopefully get better and figure out solutions to probelms I was not able to fix this time around.

Episode #9 from the series: New things I learned this semester – Blender Animation Rendering

Rendering an animation with Blender requires careful attention to detail to achieve high-quality results efficiently. Ensuring the computer meets the necessary hardware requirements, including adequate CPU, GPU, and RAM, is the first crucial step. Closing unnecessary programs helps free up system resources for Blender’s intensive tasks. It was not the first time that I rendered an animation in blender but surely one of the memorable ones.

Scene preparation is vital, involving optimization to reduce render times. Simplifying geometry, reducing texture sizes, and using instances instead of duplicates save memory and processing power. Proper lighting setup avoids excessive noise and enhances the animation’s visual appeal. Using appropriate shaders and textures, and avoiding unnecessarily high-resolution textures, is also important.

Render settings must be configured carefully. Selecting the correct resolution, such as 1920×1080 for full HD, and an appropriate frame rate, like 24 frames per second, ensures the animation meets project requirements. Adjusting the number of samples balances image quality and render times, while Blender’s denoising tools help reduce noise with fewer samples.

Choosing the right render engine is another crucial decision. Cycles, known for photorealistic rendering, can be slower, while Eevee, suitable for real-time previews, is faster. Fine-tuning the chosen engine’s settings enhances performance and quality. For this projects I chose the render engine Cycles because I wanted a realistic look to my scene.

Animation setup involves checking all keyframes and ensuring smooth transitions. Baking physics simulations, such as cloth or fluid, before rendering prevents errors. Managing renders efficiently by rendering in smaller batches or using network rendering can save significant time. Rendering to an image sequence allows re-rendering specific frames if issues arise, avoiding the need to start over. I had some issues with setting the camera right – at first I wanted my camera to track my object. When I figured that out, I didn’t like the look of it. My solution was to animate the camera as well.

Organizing work is essential. Regularly saving the project and using version control to track changes prevent loss of progress. Keeping backups of important files and renders provides security against unexpected issues. I had the issue that I had to many tabs open while working in den render view of blender. ZACK BOOM everything was closed and I was sad.

I’m not quite happy with how my tennis ball turned out. The particles spread into the white Ring, the color is a bit of and the general experience was a 3/10. I learned in the past years that sometimes you just have to close a chapter and be happy with how it turned out regardless of the expected result. It’s not perfect and I’m not very satisfied but I hated the project in the end so that was the best I could do. Why I hated the project? While working on the project a film was released named „Challengers“. So now working on this project seemed like I was inspired by that movie – Which I was clearly not. I wanted my project to stand alone – more or less original thought – but with the movie coming out it looked like I was jumping on a hypetrain and there is nothing I hate more than this. Nevertheless I pushed through, but did not gave it my all.

Blender 10 | Finales Ergebnis & Fazit

Mein Fazit zu dieser Serie: Toll, um sich mit einem Programm/einem Skill auseinanderzusetzen. Ich habe definitiv viel über Blender gelernt. Ursprünglich hat mich ja das Thema Modelling und Sculpting in Blender interessiert und da wollte ich besser werden. Im Laufe des Prozess habe ich gemerkt, dass Rigging und Animation, insbesondere Kamera mir sehr Spaß macht. Da möchte ich mich definitiv noch weiter beschäftigen. Für den Sculpting Part muss ich feststellen, dass ich mir mit Zeichentablet und ZBrush trotzdem noch leichter tue, gerade bei Detailarbeiten, allerdings kommt man in Blender auch schnell zu Ergebnissen! 

Was ich mir unbedingt noch anschauen muss, ist das animieren im Raum, eventuell auch nach Pfad, da ich das in dieser Animation absolut nicht so hinbekommen habe, wie ursprünglich vorgestellt. 

All in all, richtig cooles Projekt, was ich in Zukunft auch weiterführen möchte. 

Final

Blender 09 | Render

Für diese Animation verwende ich Cycles zum Rendern, weil ich die Transmission meines Charakters raufgesetzt habe und Cycles damit besser umgehen kann. Allerdings dauert dafür das Rendern um einiges länger. Gerändert habe ich mit einer Max. Sample Rate von 256 frames und einem Threshold von 0.01. Bei den Render Einstellungen habe ich mich auch an den Guide gehalten, den wir im Unterricht durchgesprochen haben zum Thema eevee vs cycle. In dem Testender unten, kann man auch die DoF sehr gut erkennen.

Zuvor habe ich einen kleinen Renderversuch mit eevee gestartet, um zu sehen, wie sich das Material auf die Figur im Render verhält und es war nicht sehr optimal. Hierbei war der Charakter nicht mehr leicht Transparent sondern wieder ein solid.

Blender 08 | Kamera

Für die Kameras habe ich drei verschiedene angelegt, damit ich beim Loop wieder hin und her schalten kann. dieses Mal ist auch DoF eingeschaltet bei allen drei Einstellungen, damit der Hintergrund etwas unschärfer wird. Für diese Einstellung habe ich beim Focus Object meine Figur bei jeder Kamera ausgewählt.

Um die Kameras animieren habe ich erneut Keyframes gesetzt auf die Transform Handels (I) je nachdem was ich haben wollte. Auf jede Cam habe ich noch eine Shaky Cam gelegt und hier die Handheld Option ausgewählt, allerdings mit sehr wenig Impact, damit es nicht zu viel ist.

Blender 07 | Material & Scene

Für den Charakter habe ich einen Farbverlauf von blau zu rot gemacht, damit die Flammen Ästhetik angedeutet wird. Für die Beschaffenheit der Sternflammen wollte ich eine Glas-Optik haben. Für den Gradient der Figur habe ich die Base Color modifiziert. Dafür kamen eine Color Ramp, Gradient Texture, Mapping und Texture Coordinate zum Einsatz. Mit der Color Ramp habe ich die Farben eingestellt und mit dem Mapping die Location des Verlaufes. Die Augen des Charakters habe ich schwarz gelassen. Damit meine Figur diese Glas ähnliche Optik hat, habe ich noch die Roughness auf 0 gesetzt und Transmission auf 0,5.

Für die Szene, hab ich mir etwas einfaches überlegt, da es hauptsächlich um den Charakter geht. Trotzdem wollte ich eine kleine Wohnzimmerszene bauen und habe diese mit Hilfe des Blenderkits zusammengebaut.Dazu habe ich ein HDRI von Polyheaven (blue sky) hergenommen und eine simple Scene gebaut. Fokus sind auch die drei verschiedenen Lichtpunkte die jeweils eine andere Farbe haben, um der Szenerie noch ein wenig Magie zu verleihen. Dazu habe ich Area Lights verwendet, da diese rundum eine schöne Atmosphere erzeugen. 

Blender 06 | Fly-Cycle Part 02

Für den zweiten Part des Fly-Cycles habe ich zuerst unter Curve einen Path hinzugefügt, den um 90 Grad gedreht und im Raum einen Cycle gezeichnet. Darauf hin habe ich den Character mittels Parent to “Path Constraint” auf den Rig gelegt. Danach habe ich die Einstellungen angepasst, damit der Character den Pfad auf der richtigen Axe folgt. Nachdem ich das gemacht habe, hat sich zwar der Character nach dem Pfad bewegt, aber völlig falsch und das Rig hat die Animationen von vorhin nicht mehr gespeichert. Ein weiterer Minus Punkt waren die Augen, die nicht mehr am Rig befestigt waren und sich gesondert bewegt haben.

Danach bin ich wieder zurück gegangen zur Back Up Version und habe auf dem Dope Sheet versucht einen Cycle selbst mit Position und Rotation hinzubekommen. Während der Start okey ist und das Ende auch nett aussieht, ist der Mittelteil etwas ausbaufähig. Bei dieser Version sind aber die Augen und die vorherigen Bewegungen gespeichert, nachdem alles gesetzte Keyframes sind. 

Blender 05 | Fly-Cycle Part 01

Im ersten Part des Fly-Cycles habe ich mir das Movement meines Characters überlegt wie es am Stand aussehen soll. Dazu habe ich versucht, mit Anticipation den Start des Fluges den Mittelteil und den Endpart anzudeuten. Im Mittelteil steht der Character einfach in der Luft und am Ende sollte er wieder in der gleichen Pose sein wie am Start, damit es ein Cycle ist.

Im rechten oberen Bild ist mein Fail zu erkennen: Ein Rig von Mixamo darunter legen, was kleine Bewegungen macht, damit er lebendiger aussieht. Das hat mein Mesh komplett zerstört.

Mit Hilfe des dope sheets habe ich im Pose Mode Keyframes auf die Positionen und Rotationen der Arme, Füße, Hüfte und des Kopfes gesetzt. Sobald die Keyframes alle gesetzt waren und ich glücklich damit war, bin ich in den Tab Nonelinear Animation gegangen und habe eine neue rigAction gesetzt. Damit sich die Animation verlangsamt und ich mehr Zeit für das Fliegen im Raum habe. Einzustellen ist das im rechten Fenster unter Strip (Shortcut N, falls das Fenster nicht erscheint) im Strip Menü gibt es den Abschnitt Action Clip, der auf das ausgewählte rigActon angewendet werden kann. Dabei habe ich den Playback Scale auf 8 gesetzt damit sich die Animation langsamer bewegt (ums 8-fache). Würde man den Repeat auch erhöhen, würde sich die Animation wiederholen. Bei diesem Schritt ist es wichtig, die einzelnen Keyframes nicht mehr modifizieren zu müssen, weil man nicht mehr über das Dopesheet zurück kommt.  Dafür müsste man eine neue rigAction anlegen und nicht im Strip Tap modifizieren, dann kann man die einzelnen Keyframes wieder bearbeiten.

Nachdem diese Schritte angewandt wurden, hat man einen Fly-Cycle am Stand:

Blender 04 | Rigging

Für das Rigging haben wir im Unterricht schon das Tool ARP (Auto-Rig Pro) kennengelernt. Mit diesem Tool habe ich auch meinen Character gehriggt. Dafür habe ich den Stern in eine natürliche Pose gebracht und auf eine normale passende Größe. Danach habe ich die Transformations zurückgesetzt, so dass dies die Auto Pose ist. Im nächsten Schritt habe ich eine Armeture erstellt und dafür im Tab ARP: Smart die Control Points für Neck, Chin, Shoulders, Root (Hips) und Ancles gesetzt. Bevor ich auf Go gedrückt habe, habe ich mich noch vergewissert, dass meine Figur im Rig keine Fingern hat, da diese nicht benötigt werden. Nach diesem Schritt habe ich im ARP Rig Tab Match to Rig ausgewählt. Zurück im Object Mode meine Figur ausgewählt + mein Rig, im Skin Tab dann gebindet. 

Nachdem ich keine MoCap Data habe und meine Figur selbst animiere, wird im nächsten Schritt der Charakter bewegt und ein “Fly-Cycle” am Stand gemacht. 

Blender 03 | Modelling & Sculpting

Das Modelling in Blender war bei mir ein etwas längerer Prozess mit vielen Neuanfängen, Tutorials und Hilfe. Erst nachdem 5 Versuch habe ich ein Modell hinbekommen, das ansatzweise so aussah , wie ich es mir vorstellte. Dieses Mesh hatte allerdings weniger mit meiner Ursprünglichen Idee zu tun und so entstand die Idee der Sternflamme, das sich am Lumalee anlehnt, aber etwas anders aussieht. Fürs Modell selbst habe ich verschiedene Methoden ausprobiert. Zuerst einen Stern modelliert mit mehreren Modifyer versehen, um danach mit dem Sculpting zu beginnen. Am Ende war die beste Methode nicht mit einem Stern anzufangen sondern mit einem Würfel, bei dem ich dann die Seiten extruded habe und vor allem mit dem Subdivision Modifyer gearbeitet habe. 

Nach diesem Step bin ich zu den Sculpting Einstellungen gegangen und habe hauptsächlich mit den Clay Stripes und dem Grab Brushes gearbeitet. gearbeitet. Am besten konnte ich arbeiten, indem ich mir mein Mesh immer wieder von allen Perspektiven angesehen habe und vor allem die Side Views (x,y axis) halfen mir dabei, die Figur gleichmäßig zu sculpten. 

Am Ende habe ich dann noch zwei Augen hinzugefügt und diese mit an das Mesh angehängt:
Ich habe das Mesh mit den zu übertragenden Daten ausgewählt und dann das Zielmesh mit der Shift-Taste ausgewählt. Im Weights Mode unter „Gewichte“ habe ich die Option „Gewichte übertragen“ ausgewählt. Danach habe ich die Source Layers auf „By Name“ und die Destination Layers auf „All Layers“ geändert. Letzter Schritt: Dazu habe ich den Armature Modifier auf die Augen kopiert.