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 在行驶过程中忽然偏离既定轨迹,一头撞向路边的隔离带,随后车辆起火,并在救援车拖吊过程中二次起火,最终整辆车被烧到只剩下了…

【ai】Audio2Face

Audio2Face 简介 Audio2Face是英伟达Omniverse平台的一部分,它使用先进的AI技术来生成基于音频输入的逼真面部动画。这个技术主要利用深度学习模型来解析人声,进而驱动一个三维模型的面部表情。下面是Audio2Face工作流程的详细说明: 预备阶段 在使用Audio2Face之前,需要准…

从零手写实现 nginx-13-nginx.conf 配置例子解释 + nginx 配置文件要如何解析?

前言 大家好,我是老马。很高兴遇到你。 我们为 java 开发者实现了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何处理的,可以参考我的另一个项目: 手写从零实现简易版 tomcat minicat 手写 nginx 系列 …

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…

端午节赛龙舟,我们的新队员---AI大模型

赛龙舟的比赛通常在一个湖泊或河流上进行,参赛队伍会驾驭着长形的龙舟,每艘船上有一名鼓手和多名桨手。比赛开始时,鼓手会击鼓来指挥桨手的划桨节奏,而桨手们则要协同合作,以最快的速度将龙舟划向终点。 赛龙舟不仅仅是…

【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 文献速递介绍 诊断成像的数量和复杂性正在以比人类专家可用性更快的速度增加。人工智能在分类一些常见疾病的二…

归并排序-成绩输出-c++

注:摘自hetaobc-L13-4 【任务目标】 按学号从小到大依次输入n个人的成绩,按成绩从大到小输出每个人的学号,成绩相同时学号小的优先输出。 【输入】 输入第一行为一个整数,n,表示人数。(1 ≤ n ≤ 100000…

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

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

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

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

BM算法举例

BM算法概述 Boyer-Moore算法(BM算法)是一种高效的字符串匹配算法。它通过在匹配过程中尽可能多地跳过不必要的字符比较来加速搜索过程。BM算法主要利用两个启发规则:坏字符规则(Bad Character Rule)和好后缀规则(Good Suffix Rule)。 以下是Boyer-Moore算法的Python实现…

【Python机器学习】非负矩阵分解(NMF)

非负矩阵分解(NMF)也是一种无监督算法,其目的在于提取有用的特征。它的工作原理类似于PCA,也可以用于降维。与PCA相同,我们试图将每个数据点写成一些分量的加权求和。但在PCA中,我们想要的是正交分量&#…

Linux——PXE整体流程

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

小黑狗AI:新媒体AI创作的得力助手

在当前内容创作爆炸的时代,如何高效、优质地输出内容备受重视。小黑狗AI凭借强大的AI技术,专注于为新媒体内容创作者提供智能化的辅助工具,旨在成为创作者们最听话、最贴心的AI助手。 专注新媒体AI创作,争做最听话的AI工具:小黑狗AI 功能一览 小黑狗A…

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…