fabric酷炫图片处理

fabric酷炫图片处理,第1张

颜色的偏差调整

调整色彩亮度和对比

负片、灰阶、杂讯等效果

去除背景

内建其它网美爱用滤镜 (?)

图片滤镜效果

Fabric 拥有强大的滤镜 api,且还能够支援 WebGL 来使用 GPU 资源

甚至还能够建立自己的滤镜效果呢!

fabric.Image.filters (Array)

最简单的使用方法就是修改 fabric.Image 中的 filters 属性,这是一个阵列,这个阵列里面存放 Fabric 的 filter 物件实例,所以说这些效果还是能叠加的,只要我们把滤镜效果都装进这个阵列里头!

这边就简单的创建几种滤镜来玩看看效果吧!

灰阶效果

复制

我们就很轻松地帮照片加上灰阶效果罗!

负片效果

复制

纯黑白

复制

复古

复制

混和风格 纯黑白 + 复古

复制

模糊

需要传入物件提供 blur 数值

复制

去背

去背需要提供色彩以及范围

复制

可不只这些呦

Fabric 其实还提供了更多更有趣的内建滤镜让大家去使用,如果还有兴趣可以到

fabricjs filter demo - http://fabricjs.com/image-filters

fabric doc filters - http://fabricjs.com/docs/fabric.Image.filters.html

去玩更多滤镜效果呦

最后分享这边踩到的一些雷

cross-origin data

这边原本是想偷懒直接用 fabric.Image.FromURL 去直接使用 URL 建立一张图片的

复制

这边可以看到因为我们直接用 URL 去做载入图片,这边 fabric 底层应该是没有建立 标签来储存图片,所以有同源的限制,这边解法是用另一种图片载入的方法

请参考 MDN - 同源政策 https://developer.mozilla.org/zh-TW/docs/Web/Security/Same-origin_policy

影像滤镜出来不完整

原因是一开始使用解析度过大图像 (3024*4032) ... 超大

[图片上传失败...(image-89dd01-1593932948377)]

[图片上传失败...(image-4486aa-1593932948378)]

这边是 Fabricjs 为了防止用户因使用过大的图片而造成无法处理所做的限制

可以透过 *** 作 fabric.textureSize 去 *** 控被限制的大小

作为衣服素材的收集,最好不过是在线的商店了!比如国内的淘宝国外的ebay等,你能够找到各种角度的高精度素材参考!

比起默认的MD Avatar,我更喜欢使用自定义的Avatar,在这个案例中,我使用了在3dscanstore.com购买的扫描身体模型,当然我对这个模型进行了很多修改。

大部分时间我并不会去做特定的打板图样,很多时间我凭我的一双慧眼!

这里介绍一个简单得到基础板式的方法,就是对Avatar模型上相应穿着的区域进行UV拆分。在这个案例中,我制作短裤所以我剪切了大腿到腰部的UV。这一步可能不是必要的,但是对于这个教学我是这么来做的。

指定你想要的模型,然后会d出选项菜单(图一),我使用英寸为单位,点击ok,你的Avatar就被导入到场景文件中(图二)。

有的时候我导入的模型可能会大于原始模型(130%或者150%),最后导出MD之后再缩放回原尺寸。好处是可以得到更精细的折边效果。不过我发现缩放 *** 作很蛋疼,所以我只是很少这么做。

Avatar编辑器用来控制Avatar颜色、高光,可以指定贴图,并且可以调整skin offset(皮肤偏移)(图二)

这一步最重要的是调整skin offset(表面间距),这一个参数是设置织物和身体之间的距离,默认值是3mm,可以在particle distance值15-20的情况下有良好表现,在调整折边效果的阶段,我喜欢把这个值降低到1mm左右,并且设置particle distance为8-10。如果只降低了skin offset而没有降低particle distance,会更容易造成衣服穿插,会更蛋疼。

图一、控制位置

图二、控制长度和周长

显示与隐藏边界体积:

Disply>avatar>show bounding vloumes

显示与隐藏吸附点:

Shift+f

很多人会忽略这个步骤,而选择直接调整布料来贴合模型。虽然调整BV和AP的过程很蛋疼,但是在长期项目中会节省大量时间。如果我需要重复使用avatar,那么我就会在开始的时候做好BV和AP然后进行保存。

在2D视图中创建一个方形布料,打开2D贴图显示(图一)。

在fabric标签栏下,点击添加新fabric,然后点击四个方形的图标,指定你保存的UV图片(图二)。

你的布料会显示成这个样子(图三)。

中心的控制器可以调整位置,有上角控制缩放和旋转(图二)

调整到适当大小。

用曲线点来细化(图二)

最后分离(图三)

然后可以自行删除UV贴图参考

右键一块板式,选择Clone as Symmetric Pattern(图一)

MD5.5或以前版本,右键>copy - 右键>symmetric paste

按住shift对齐移动(图二)

重复 *** 作(图三)

我喜欢尽可能多对称。相应的对称板式缝合会自动生成相应的相关缝合线,右键菜单可以移除对称。

使用吸附点来摆放布料(图一)

然后进行缝合(图二)

然后用particle distance 10-15来得到最初的模拟结果。这里主要观察折边效果,为其他细节打基础(图三)

有了基础板式,我就可以调整贴合了,还可以按照参考添加内部线、布料、缝合线或者裁切。

我大多数流程中会制作一个良好贴合的基础的布料结构,但最终不会导出,这样我就可以更好的制作第二级第三级结构

接下来我会给基础布料添加厚度,增加体积感。

选择所有基础布料,右键选择Layer clone(over)(图一)

复制布料,并在3D视图中放置在外面,然后缝合相应的内部和外部线(图二)

图一:未复制的

图二:复制过的

我将外层稍微放大了一些,大概3-5%,用来细化二级细节(图三)

图四:一个小提示,点击变形器中间的圆点来缩放会更好

这里有一张gif图展示差异:

制作腿部填充效果,我首先用内部线绘制形状(图一)

然后在新建的内部线上右键>clone as pattern来创建新布料

创建一个新fabric,指定给新布料并调整一些参数(图二)

最后将这块布料缝合回内部线,然后对称 *** 作(图三)背面同理

然后对填充布料进行layer clone,在属性编辑器添加pressure参数,大概5-10。

沿着内部和外部线绘制新布料,放大2-5%。设置layer order(层顺序)为1,缝合

跟制作软填充的前期步骤差不多,在当中冻结一块布料,然后缝合。

要确保最终在其上面的fabric层顺序设置为1。

一:

1.创建内部圆

2.在中心添加dart

3.分离dart边缘并且吸附到圆上

4.右键dart:order>send to back, 选择内部线放大。

5.右键内部线:clone as pattern。

6.复制dart到新布料

二:

在上述第四步,复制粘贴,右键会出现对话框,可设置复制间隔和数量,用来沿直线复制

现在你有了小孔但是模拟不出边缘拉扯效果。

1.冻结小孔

2.移动

3.以层1模拟小孔

这里有一张gif图说明:这个技巧同样可以模拟夹克上的褶皱。

有时候你会发现一块布料怎么调整,折边效果都不好。这时候你可以尝试剪裁斜纹。

真实布料靠编织方向来产生褶皱,如牛仔布,布料是45°编织,使得弯曲更容易产生。同样你也可以在MD里旋转布料45°来模拟这个效果。

另外一个冻结的用途就是在不用钉子的情况下保持形体

创建一个基础布料,沿着底部缝合,将顶部边缘钉住,然后创建内部形状,提取为布料,缝合回内部,模拟一次得到良好的曲线,冻结,Layer clone,删除缝线和钉子。

在关键部分我添加了一些圆边。

1.选择冻结的腰带布料,layer clone上下两层,这样在3D视图中得到了正确放置的两个新布料(内部和外部)

(1)取消冻结新的布料,删掉除高亮外的所有缝合线

(2)横向放大新的布料,添加d性属性,这里我给了50mm

(3)缝合a-b c-d和两边的d

(5)3D视图中看起来应该是这样的

在绿色部分添加d性属性(1)

注意我将segment length设置为原长度相同的数值(2)

最终的腰带(3)可以移回主体位置,将主体重新激活,模拟一次,确保结果正确。

你的d性长度应该总是保持与你想要收缩到的长度一致。

现在处理第三级细节,使用weft和warp调整以及内部线的d性线来制作。

通常我使用95-100%的ratio和30-40的strenght。

最大用105的weft或者warp。

Weft 和warp用来调整真个织物的横向和纵向的线,wrap是垂直的线,weft是水平线,Warp的值超过100就会产生更多的垂直的褶皱,weft值超过100就会产生类似松紧带的褶皱。两个都增加会让织物变得宽松。

最终我把整个的粒子数值调位5左右,这大概就是最后导出的模型精度。I decided to simulate the lacing effect on the fabric behind it by cutting in some internal lines, adding elastication and playing with the fold angle in the property editor, there were set to 40 strength and 260 fold angle (1) To give the impression that the lacing is deforming the leading edge of the cloth I created more proxy pattern pieces, positioned them where the laces would be, adjusted their addl’ thickness collision to 15 to make them appear much thicker in the simulation than they are and froze them. (2) I simmed and moved them closer to the garment a few times till I got the required deformation in the patterns.

作为最后导出的模型,我把模型的粒子精度设置为2,3左右,一般我就算这么细,爱咋咋地。红色部分的板块不会被导出,只是做为在MD中运算中使用。我在导出是把模型设置为quadrangulate.然后就可以导出这个模型到其他软件中进行拓扑或者继续添加细节了!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7864640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存