Clo3D导出服装动画,使用Unity3D展示

1.前言

        Clo3D是一款应用于时装行业的3D服装设计软件,其强大的布料模拟算法可在3D空间中实现设计、制版、试衣和走秀,大幅提升数字作品逼真度和制作效率。为了让服装动画效果展示在Unity3D上模拟效果,需要Clo3D模拟出逼着的衣服动画。总体流程为Clo3D - Mixamo -Blender(如有必要)- Unity3D(或其他3D引擎)。

2.Clo3D导出带骨骼模特

         使用Clo3D软件找到自带的人物模特,将模特拖拽到界面中,如下图所示:

        因为自带的模特默认站立比较容易匹配衣服,当然也可以导入合适的其他带骨骼的人物模特。

        选择文件-->导出-->FBX。导出设置为全部,要不包含骨骼解除合并,其他默认。然后点击确认。如下图:

3.Mixamo混合人物动画

        Mixamo是Adobe公司出品的免费动画库,可商用。注册账号登录。官网:Mixamo

      3.1上传人物模特,并绑定骨骼

        点击UPLOAD CHARACTER将导出的FBX人物模特上传到Mixamo上,上传模型需要等待一段时间。上传完成后要手动绑定骨骼,比较简单,左侧有说明。如下图是已经上传的人物模型:

      3.2选择动画混合

        可以看到左侧很多骨骼动画,通过查找选择自己需要的动画,进行模特的骨骼绑定,选择In Place可以让人物动画在原地播放,不产生位移。

      3.3下载模型动画

        动画混合完成后,可以看到预览效果。然后点击DOWNLOAD按钮下载。

4.Clo3D录制服装动画

      4.1导入模型动画

        回到Clo3D软件,选择文件-->导入-->FBX。导入刚刚从Miaxmo混合动画后下载的FBX人物模型。如果导入会提示如下图:

        这是因为动画混合后,第一帧不是T型姿势或A型姿势。解决办法是,在Mixamo混合动画之前,将已经绑定骨骼的模型下载,作为Pose模型,再下载混合动画后的模型,作为动画模型。然后打开Blender软件,做一个从Pose模型到混合动画模型的过渡,然后重新导出FBX,这样再导入到Clo3D的时候第一帧就是Pose模型的T型姿势或A型姿势了。当然,需要注意的是,哪怕不是这个T型姿势或A型姿势,直接确认后,也是可以录制动画的,只不过衣服动画效果不好,绑定不方便。我这里做测试demo,就不用Blender重新融合了。

      4.2添加自带的服装

        导入成功后,选择一件自带的衣服,拖拽到场景里,自带的衣服已经自动缝合好了。如下图所示:

         在录制动画之前,先看服装是否满足要求。模拟属性例子间距与厚度冲突设置如下图。物理属性面料的拉伸和弯曲都要在60以下。

        然后切换UV面板,查看UV贴图是否在0-1之间。如下图。

        点击上方3D服装-->模拟,可看穿上的效果。

      4.3录制服装动画

        点击右上角,切换动画面板。

        模拟品质选择动画(完成),然后点击录制按钮。可以设置录制的开始帧,比如不想把过渡动画录制进去(如果用Blender做了T姿势的过渡动画)。如下图:

        录制完成后,可以点击播放按钮查看。

5.Clo3D导出ABC文件

      5.1导出烘焙纹理图

        需要注意的是,如果导出的衣服想要有Clo3D里一样的纹理表现,需要导出纹理图。

        切换到UV面板,点击烘焙纹理图,如下图所示:

        设置烘焙纹理图界面,保存即可。如下图所示:

      5.2导出模型动画ABC文件

        选择文件-->导出-->Alembic(OGAWA)。ABC文件(Alembic)是一种用于 3D 渲染和动画的开放文件格式。导出可以选择Include Avatoar是否包含模型,设置只限于播放部分,意思就是只导出从开始帧开始的动画,为了去掉前面的过渡动画(如果用Blender做了T姿势的过渡动画)。如下图:

6.使用Unity3D展示服装动画

      6.1Unity3D安装Alembic插件 

        打开Unity3D,创建工程,选择Window-->Package Manager。Packages选择Unity Registry,然后找到Alembic插件进行安装即可。这样Unity3D就能识别Alembic文件了。如下图:

       6.2Unity3D导入ABC文件

        将Clo3D导出的ABC文件直接拖拽到Unity工程下,导出成功后,找到里面的Animation,也就是动画文件,复制一个动画。复制的目的是对动画进行修改,默认是无法修改的。如下图:

        复制动画后,选中复制的动画,在Unity3D的Inspector,切换为Debug模式,勾选Legacy。如下图:

      6.3创建服装材质

        在Unity3D中创建一个Material材质球,命名为Red。将导出的烘焙纹理图拖拽到Red材质球属性中,具体效果看美术水平了,这里只是做简单的效果。也可以使用Blender软件创建材质。如下图所示:

      6.4添加Animation组件

        将导入的ABC文件模型拖拽到Unity3D场景中,也就是Hierarchy面板下。如下所示:

        然后在上面添加Animation组件,并将复制的动画拖拽过来,Play Automatically勾选。如下图所示:

        选择cloth_shape_0,将Red材质球拖拽过来。如下图所示:

       6.5播放服装动画

        到了这里基本上完成了。点击播放。即可看到服装的动画效果。我这边导出了人物模特模型,但是没有贴图信息太丑了,所以就没有显示。如下图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/25107.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

登Cell Press子刊,武汉理工大学团队基于集成学习提出简化电化学模型,0.17s完成3500s的1C恒流放电

2022 年 7 月,不老男神林志颖突发车祸,作为专业赛车手的他驾驶的特斯拉 Model X 在行驶过程中忽然偏离既定轨迹,一头撞向路边的隔离带,随后车辆起火,并在救援车拖吊过程中二次起火,最终整辆车被烧到只剩下了…

Java心跳检测机制

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 心跳检测的定义 心跳检测是一种监控机制,在Java编程和分布式系统中具有广泛的应用。心跳检测,顾名思义,就像心跳一样,是一种…

【JS】理解闭包及其应用

历史小剧场 明朝灭亡,并非是简单的政治问题,事实上,这是世界经济史上的一个重要案例。 所谓没钱,就是没有白银。----《明朝那些事儿》 什么是闭包? 闭包就是指有权访问另一个函数作用域中变量的函数 闭包变量存储位置&…

Lidar3607.2 雷达点云数据处理软件新增功能介绍

新特性:预处理航带平差新增livox激光器镜面误差改正,新增多源航带平差,提升点云和影像匹配精度优化配准功能流程,ICP功能支持点云与模型配准安置检校新增轨迹自动裁剪轨迹解算时投影坐标增加Z值记录数据管理新增点云色彩亮度和对比度调节新增多段线平滑工…

Python中报错提示:TypeError: Student() takes no arguments

Python中报错提示:TypeError: Student() takes no arguments 在Python编程中,类是创建对象的蓝图。每个类都可能包含一个特殊的方法__init__,我们称之为构造函数,它在创建新实例时被调用。如果你在尝试创建一个类的实例时遇到了Ty…

【SpringCloud学习笔记】Docker(中篇)

Docker 1. 自定义镜像 前面我们都是使用docker pull拉取仓库中现成的镜像,但是如果我们想要将一个Java应用程序构建成镜像然后部署应该怎么做呢?这个时候我们就需要自定义镜像了 **镜像:**本质上就是一堆文件的集合,包含了应用程…

【清华大学】《自然语言处理》(刘知远)课程笔记 ——NLP Basics

自然语言处理基础(Natural Language Processing Basics, NLP Basics) 自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言…

临床应用的深度学习在视网膜疾病的诊断和转诊中的应用| 文献速递-视觉通用模型与疾病诊断

Title 题目 Clinically applicable deep learning for diagnosis and referral in retinal disease 临床应用的深度学习在视网膜疾病的诊断和转诊中的应用 01 文献速递介绍 诊断成像的数量和复杂性正在以比人类专家可用性更快的速度增加。人工智能在分类一些常见疾病的二…

【Node.js快速部署opencv项目】图像分类与目标检测

⭐️我叫忆_恒心,一名喜欢书写博客的研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三连支…

高考之后第一张大流量卡应该怎么选?

高考之后第一张大流量卡应该怎么选? 高考结束后,选择一张合适的大流量卡对于准大学生来说非常重要,因为假期期间流量的使用可能会暴增。需要综合考虑多个因素,以确保选到最适合自己需求、性价比较高且稳定的套餐。以下是一些建议…

Linux——PXE整体流程

1.自己安装一个CentOS 8的服务器 1)手动安装 虚拟硬件配置:2核CPU,4G内存,100G硬盘 2个网卡(一个通外网,一个内部使用) 软件安装:Server GUI 磁盘分区:使用逻辑卷&#…

Django API开发实战:前后端分离、Restful风格与DRF序列化器详解

系列文章目录 Django入门全攻略:从零搭建你的第一个Web项目Django ORM入门指南:从概念到实践,掌握模型创建、迁移与视图操作Django ORM实战:模型字段与元选项配置,以及链式过滤与QF查询详解Django ORM深度游&#xff…

中心极限定理的MATLAB例

独立同分布的中心极限定理: 设 X 1 , X 2 , … , X n X_1, X_2, \ldots, X_n X1​,X2​,…,Xn​ 是独立同分布的随机变量序列,且 E ( X i ) μ E(X_i) \mu E(Xi​)μ, D ( X i ) σ 2 > 0 D(X_i) \sigma^2 > 0 D(Xi​)σ2>0&a…

《C++ Primer Plus》第十三章复习题和编程练习

目录 一、复习题**二、编程练习 一、复习题** 1. 派生类从基类那里继承了什么? 答:在类的继承和派生中,C中的派生类能够继承基类的所有数据成员和大部分成员函数。但是基类中不同访问控制权限的成员在派生中的访问权限也不相同。公有成员直…

陆面生态水文模拟与多源遥感数据同化技术

原文链接:陆面生态水文模拟与多源遥感数据同化技术 了解陆表过程的主要研究内容以及陆面模型在生态水文研究中的地位和作用;熟悉模 型的发展历程,常见模型及各自特点;理解Noah-MP模型的原理,掌握Noah-MP 模型在单 站和区域的模拟、模拟结果的…

如何将AndroidStudio和IDEA的包名改为分层级目录

新版UIAndroidStudio 1、点击项目目录右上角如图所示的三个点点。 2、然后依次取消Hide empty middle package ,Flatten package的勾选 3、注意:一定要先取消hide的勾选,不然目录不会完全分级(做错了可以反过来重新设置&#x…

物资材料管理系统建设方案(Word)—实际项目方案

二、 项目概述 2.1 项目背景 2.2 现状分析 2.2.1 业务现状 2.2.2 系统现状 三、 总体需求 3.1 系统范围 3.2 系统功能 3.3 用户分析 3.4 假设与依赖关系 四、 功能需求 4.4.11.7 非功能性需求 五、 非功能性需求 5.1 用户界面需求 5.2 软硬件环境需求 5.3 产品质量需求 5.4 接口…

物联网8大协议介绍及对比

一.物联网主流协议介绍 1.MQTT 协议 MQTT(Message Queuing Telemetry Transport)即消息队列遥测传输。 MQTT 协议最初是在 1999 年由 IBM 公司开发的,用于将石油管道上的传感器与卫星相连接。2014 年正式成为 OASIS 开放标准。 MQTT 使用…

【面试八股总结】死锁:产生条件、预防死锁、处理死锁、避免死锁

一、什么是死锁? 死锁是指两个(或多个)线程互相等待对方数据的过程,死锁的产生导致程序卡死,不解锁程序将永远⽆法进⾏下 去 二、死锁产生条件 死锁只有同时满足以下四个条件才会发生:互斥条件&#xff1b…

ABC 357 G Stair-like Grid

link 其实是我之前写的一篇博客的推广 大意: 一个阶梯型,第 i i i行有 ⌈ i / 2 ⌉ ∗ 2 \left \lceil i/2 \right \rceil*2 ⌈i/2⌉∗2个方块,总共有n行。在其中给定 m m m个点无法经过,求从左上角到右下角的方案数。其中每次移…