freesewing / freesewing

Freesewing's monorepo holding all our NPM packages, including our core library
https://freesewing.org
MIT License
404 stars 292 forks source link

Discuss: Use 3D modelling tools to test/show different patterns and options #360

Closed joostdecock closed 3 years ago

joostdecock commented 4 years ago

This is an idea that's been explored on that chat, after initially being suggested via email by one of our users.

The idea is to use 3D modelling tools to test-drive patterns and their different options on virtual avatars. It could also be useful for documenting all the different pattern options.

I did some initial fooling around with clo3d which yielded this result:

try1

While that is promising for a first couple of hours of work, it does come with some problems:

Apart from the money, it's obvious that this is a particularly poor match for an open source project like freesewing.

An alternative that is perhaps less polished but certainly easier to digest is the garment tool plugin for Blender. I haven't played around with it yet.

The main question mark here is automation. If we do the initial work of importing a pattern and draping it on an avatar, can we then also simulate all the pattern variations in an automated way? If that is possible, we could foresee doing some initial work, and then having a script that would generate renders for all different pattern options. That would be nice. If the answer is no, and we'd have to manually do everything, than this probably is not worth the trouble.

kieranklaassen commented 4 years ago

This would be soooo cool!! 👯‍♂️

enyachoke commented 4 years ago

@joostdecock could something like http://www.makehumancommunity.org/ do the job?

joostdecock commented 4 years ago

There's 3 things that need to come together:

The last step is the most tricky one, especially because I'd like to automate it as much as possible so. Blender could work, but the whole 'sewing 2d patterns together' seems non-trivial in blender. There's garment tool but the developer has so far not bothered to answer any of my questions. Not to mention it's also closed-source and to be paid for.

Clo3d is less obvious (because it's proprietary) but they have responded to all my questions, and it does seem like it should be possible to automate things if we can import patterns as DXF-ASTM. So I'm writing a plugin that does that (it's a really shitty file format, so this might take a while).

Obviously, a Blender something would be what I prefer. But since we'd just be generating images, this is not part of our project, merely of our toolchain.

I could probably learn blender (and developing for blender) and try to make this work. But arguably, that's far outside the scope of freesewing, and it might be simpler to just pay for clo3d and generate these images. It would be like if I generated images for the website with Photoshop because that fits better my build pipeline than Gimp. Sure, my heart is with Gimp, but at the end of the day I just want to get my work done.

So, as things are now, I'm working on DXF-ASTM export, and if that works I will see if I can automate clo3d. But feel free to try other ways to make this happen, because I don't how, I just like the idea :)

joostdecock commented 4 years ago

I have written (an initial) DXF-ASTM export plugin: https://github.com/freesewing/freesewing/tree/develop/packages/plugin-export-dxf

Next step is to make sure it works with all patterns.

enyachoke commented 4 years ago

I found this https://github.com/whyoh/blender_clothing_tools it is not much but I think it can provide a starting point. Am trying to see if I can get it work but am completely new to blender so learning as I go. So far I have been able load the back and front of breanna into blender, convert them into a mesh and ensure the back shoulder and front shoulder have the same number of vertices(The were the only seams whose vertices did not match). I used the default https://mb-lab-community.github.io/MB-Lab.github.io/ afro female character and drafted for size 34 the fit seem close enough I did not need to scale anything. I will try to see if I can sew them together.

Screenshot 2020-04-27 at 00 59 05
GabrielDigregorio commented 3 years ago

Dear,

I am very interested in this feature, and I think that this feature can make the difference and push the website and the community in the forefront of the scene.

A lot of my friends have some difficulties to design and draw patterns because of the impossibility to see the final result on a mannequin. This limit the trust they have on the automatically generated patterns.

Sewing is a hobby for most of us and we do not have so much time to go through a "trial and error" process. So, this feature is very promising !

What are the news around this feature? Any advancement since April 2020?

Best regards,

Gabriel

joostdecock commented 3 years ago

We covered this in our most recent newsletter edition: https://freesewing.org/newsletter/2021q2/#using-3d-renders-to-showcase-patterns-or-options

TLDR: Could really use some help on this.

GabrielDigregorio commented 3 years ago

Thank you for your answer !

I am not an expert at all in this kind of stuff. I just wanted to give my support and interest on this feature. Do you know this guy ? https://gitlab.com/thomaskole/blender-seams-to-sewing-pattern

https://www.youtube.com/watch?v=EZr__pTxsKk

Best, Gabriel

joostdecock commented 3 years ago

I did know him. But I am going to contact him now :)

PaTTernHack commented 3 years ago

Hello, I'm new around here but this topic caught my interest. I use CLO3D and I've been a professional patternmaker for over 25 years. I could do some renders if that will help. The software is not expensive at $50 per month when compared to other apparel 3D software. I have a license and use it daily - it's been an invaluable tool, for me at least. CLO does have some new automated features. For example, if you have a series of sizes you can create matching avatars and the program will automatically show each size of the garment on its respective avatar. There are also modular features to easily change out elements such as collars, sleeves or any other bits you create. As far as sizing goes, ASTM is appearing to not be that accurate when compared to current body data research from big companies like Amazon and Alvanon. In 2017 Amazon purchased Body Labs for a minimum of $50 million - sizing has become a really big deal. I will include a link to the various Alvanon size charts (free to view) and the current Amazon charts for their in-house clothing brands. I'm not a fan of either charts - they are still very linear to hit the averages from one extreme to another.... but maybe I have unrealistic expectations. Oh, Alvanon also has the ASTM charts to view for free as well.

Alvanon Charts

Amazon Charts Ladies

Amazon Charts Men

PaTTernHack commented 3 years ago

Adding: with CLO you do not have to export to DXF-AAMA/ASTM. You can import patterns via Ai or PDF. I do have conversion software though if needed.

joostdecock commented 3 years ago

Thank you for those links @PaTTernHack :+1:

The issues with CLO3D aren't so much technical. If nothing else, I wrote a DXF export plugin, and was able to import FreeSewing patterns.
The problem is more philosophical. I have reached out to CLO and tried to start to conversation about our use-case. They pretty much from the bat involved legal, and the whole experience was a poor fit for the kind of project we are.

I am aware that, until this day, it probably remains the fastest path towards something in 3D. However, I would much rather spend more time and effort on something that benefits the open source community, even if we may very well fall short of our ambitions. It just doesn't sit right with me to tie our lot to a commercial entity that doesn't share our values.

So, given all that, the way forwards leads to Blender and trying to somehow make it happen there. This involves:

PaTTernHack commented 3 years ago

@joostdecock Thank you for your reply. Just so I understand, are you looking for 3D rendering that happens in real-time on the website that shows the user their avatar and the garment automatically sewn on it? Or, are you just looking for some renders of the patterns on avatars to showcase the details of the style options? If the latter, as a freelancer, it does not violate the CLO terms of use for me to do work for other companies. My next option would be to explore TG3D, they are similar to CLO but a smaller underdog but seem to be rapidly expanding. If I am able to better understand what your end-goal is with 3D in the short term and long term, perhaps I can can help in some way if you like. I don't know anything about coding, but I am a pro at patterns! :) Have a great day!

joostdecock commented 3 years ago

There might be a day we can offer real-time rendering on the website, but for now I'd already be very excited if we can just show the patterns rendered on a range of models.

If you're willing to model our patterns on some avatars, I'd like to see that happen. It would certainly be a big step in the right direction.

In the long run I'd prefer to be able to automate this so we are not depending on manual labor, but also because that scales. Our patterns typically have many options, and it would be an enormous time-sink to try and render them all. Unless we can somehow automate that.

If you'd like to discuss this, we have a contributor call that starts one hour from now: https://github.com/freesewing/freesewing/issues/960 Feel free to join :smiley: It's just a friendly chat

PaTTernHack commented 3 years ago

@joostdecock if you would like to get me your body measurements for yourself and a female along with a pattern file for each, I can play with the avatars and virtual samples. I saw that you released a new pants!

joostdecock commented 3 years ago

Sorry for the delay, work is very busy at the moment.

Here's my measurements:

      "ankle":null,
      "biceps":335,
      "bustFront":null,
      "bustSpan":null,
      "chest":1080,
      "crossSeam":940,
      "crossSeamFront":405,
      "crotchDepth":null,
      "head":590,
      "highBust":null,
      "highBustFront":null,
      "hips":990,
      "hpsToBust":null,
      "hpsToWaistBack":550,
      "hpsToWaistFront":null,
      "inseam":910,
      "knee":400,
      "neck":400,
      "seat":1080,
      "seatBack":540,
      "shoulderSlope":16,
      "shoulderToElbow":410,
      "shoulderToShoulder":465,
      "shoulderToWrist":680,
      "underbust":null,
      "upperLeg":630,
      "waist":925,
      "waistBack":440,
      "waistToFloor":1310,
      "waistToHips":145,
      "waistToKnee":690,
      "waistToSeat":280,
      "waistToUnderbust":null,
      "waistToUpperLeg":380,
      "wrist":190

Here's some patterns for these measurements:

joostdecock commented 3 years ago

I will try to measure a female tonight.

joostdecock commented 3 years ago

Stale. Closing