MMD模型的导入,跳舞与模型解算

模型下载

https://www.aplaybox.com/

↑模之屋        下载MMD4模型与动作

模型导入,设置

导入模型文件(文件夹),vmd为动作文件暂不导入

“刻晴旗袍”为我们的包,此时包未被识别

下载并导入“MMD4Mecanim.unitypackage”,

↓************************************************************************************************************↓

这是一个用于在 Unity 中导入和处理 MMD(MikuMikuDance)​ 模型及动作的专用插件包。

MMD 软件制作的模型通常是 .pmx(或旧版的 .pmd) 格式,动作是 .vmd格式。这两种格式 Unity 引擎本身是不认识的,无法直接拖进去使用。

———————————————————————————————————————————

Yes.这是一个非常常见的 Unity 弹窗,通常出现在你升级了 Unity 编辑器版本,或者导入了一个比较老的插件时,问你要不要帮它把这些老代码一键替换成新代码。

↑************************************************************************************************************↑

此时包未被识别,保存项目后关闭再打开项目

这是重新打开后被识别的包↓************************************************************************************************************↓

(在模型完成后再点这个包会使模型回归初始状态)

↑************************************************************************************************************↑

“服务条款”全同意√,Agree

导入动作(此时动作文件不会被识别,无法直接用),在VMD:选择动作文件。①

Process

提取材质,完成提取后会在下方显示(图为提取完成后)

将预制体放入场景中

模型材质渲染错误,选中模型材质选择新渲染模式(渲染模式在Shader右边)

*unlit——Texture:无光照渲染模式,该材质不会接收或计算任何场景中的光照信息

动作

 在①导入并根据模型适配完动作后为本模型可使用的动作。(动作需与模型在同级文件夹)

把动作给模型后,运行即可看见模型在做动作。

骨骼

提取并绑定骨骼,Rig

动画类型-人形,应用(可能会重置模型渲染,这不是错误或者问题,重新渲染就好)

 

or

生成了对应骨骼,配置

此界面是为了调整骨骼,

调整后Done。(此次无需调整)

↓************************************************************************************************************↓

这是Unity 发明的一套“标准人体骨骼”。这个 Avatar 文件的作用,就是把模型里那些奇形怪状、命名各异的骨骼(比如 MMD 里的 Bone001、Bone002),一一对应到这套标准骨骼上。

一旦模型有了这个 Avatar,它不仅可以使用自己专属的动画,还能直接借用任何其他人的动作。比如想让刻晴做出“马斯克跳舞”或者“迈克尔杰克逊”的动作,只要那个人物也是 Humanoid(人形)模式,同一个动画文件就能直接套用在刻晴身上,Unity 会自动帮她把动作“翻译”过来。

↑************************************************************************************************************↑

点击场景中的模型,找到Animator组件,将Avatar绑定刚才的骨骼

↓************************************************************************************************************↓

Avatar(动画)

Controller (控制器):(在拖拽动作给模型时会自动生成并绑定)

        这是角色的“大脑”或“剧本”。它是一个 .controller文件(通常是可视化的状态机)。

        作用:它内部画了很多格子(状态),比如“待机”、“跑步”、“跳跃”、“跳舞”。你告诉                                 Unity:“当玩家按 W 键时,切换到‘跑步’状态;当松开时,切回‘待机’状态。”就是这个                     东西在起作用。

       如何使用:通常会用 Unity 自带的 Animator 窗口画好流程图,然后把做好的 Controller 文件                             拖到这里。

Avatar:骨骼

Apply Root Motion(应用根运动):决定“动画制作者控制位移,还是代码控制位移”的开关

                                                        勾选- 动画控制                不勾选-由C#代码控制   

Animate Physics(动画物理):物理模拟开关

                                                 决定动画帧更新是否受物理引擎(重力、碰撞)的影响。

                                                 对于普通的人形角色(如刻晴),保持不勾选。勾选通常用于那种                                                   需要严格与物理世界交互的物体,比如悬吊的布娃娃、尾巴等。

Update Mode (更新模式):决定动画在什么时候更新。

标准 (Normal):Animator 的动画更新与 Update()方法同步进行,如果游戏时间变慢(例如在游戏中使用 Time.timeScale = 0.5来实现子弹时间效果),动画也会随之减速播放;如果游戏暂停(Time.timeScale = 0),动画也会停止。跟随游戏帧率变化。如果电脑卡顿导致帧率下降

已修复( Animate Physics):Animator 的动画逻辑不会在每一帧的 Update中计算,而是强制在物理引擎的 FixedUpdate循环中更新。无视帧率变化。无论游戏运行得快还是慢,动画每一帧的位移和旋转量都是固定的,保证了动画节奏的绝对稳定。

未缩放的时间 (Unscaled Time):“不受时间缩放影响”。无论游戏是否暂停,或者时间流速被减慢到多少(哪怕 Time.timeScale = 0),动画都会以 100% 的恒定速度正常播放

                                           

Culling Mode (剔除模式):决定当角色不在屏幕视野内(被遮挡或转身背对镜头)时,动画怎么处理。

       总是动画化 (Always Animate):哪怕玩家看不到她,刻晴背过身去了,她的跳舞动作依然在                                                              全速播放,消耗性能。

       剔除更新变换 (Cull Update Transforms):当角色不在视野内时,停止计算复杂的骨骼变形,                                                                            只保留基本状态。(省性能,推荐)

       完全剔除 (Based On Renderers):根据 Renderer 组件的可见性来决定。

↑************************************************************************************************************↑

模型解算

*调整模型物理骨骼,碰撞,实现模型头发飘逸,不穿模等功能。

*有的模型在导入unity时会有部分解算,但是是不完全的,仍然需要插件手动解算。

导入此插件

*

*插件名称:Magica Cloth 2

*核心作用:这是一个非常强大的 布料与软体物理模拟插件。

*解决的问题:Unity 自带的布料系统(Cloth)经常会出现“穿模”(裙子穿透大腿)、“抖动”或者“性*能极差”的问题。Magica Cloth 2 利用 DOTS 技术,能以极高的效率模拟出真实的物理效果,同时*几乎不卡顿。

*适用对象:角色的裙子褶皱、飘动的丝带、披风的摆动、长发的飘动、甚至尾巴的摇晃。

打开包管理器

安装这三个数据包

名称作用
Burst (编译加速器)

把普通 C# 代码,翻译成极其高效的机器码,极大提升性能(榨干 CPU)

Collections

(高性能数据结构库)

普通的 C# 列表(List)在多线程下容易出问题。Collections 里的数据结构(如 NativeArray)是线程安全的,专门用来配合多线程使用。

Animation Rigging

(高级骨骼约束工具)

Unity 官方的高级动画绑定工具包。允许你在游戏运行时,对角色的骨骼进行高级控制,模型解算的必须工具。

*安装完Animation Rigging可能会导致模型渲染错误,这不是bug,重新渲染就好

*如果此时模型渲染不让改渲染模式,找出具体不让渲染的部分,取消其父级关系,即可重新设置渲染模式

点击模型-右键-Animator-Bone Renderer Setup

*显示模型物理骨骼

开始解算

点击骨骼能找到Hierachy对应物体

头发

这里选择此根节点

在Hierachy的对应物体右键-Create Other-Magica Cloth2-Magica Cloth

点开刚创建的

选择Bone Cloth

↓************************************************************************************************************↓

Cloth Type
Mesh Cloth (网格布料)

       原理:它是直接基于模型的顶点进行计算的。插件会把你的模型网格拆分成无数个小粒子,然后模拟这些粒子之间的物理连接(像弹簧一样)。

       特点效果最真实、最细腻,可以实现非常复杂的褶皱和动态变形。

       缺点性能消耗最大。如果模型面数很高(比如几千个面),模拟起来会很卡。

       适用场景:高精度要求的单个角色(如主角),或者像婚纱、厚重毛衣这种需要丰富细节的                             衣物。

Bone Cloth (骨骼布料) —— MMD 模型推荐

       原理:它是基于模型的骨骼进行计算的。它不是计算衣服的顶点,而是把衣服当成一串骨骼                      链来处理。

       特点性能极好,且不易穿模。因为它是跟着骨骼走的,所以衣服绝对不会脱离骨骼独立乱飞

       适用场景:非常适合 MMD 模型和游戏角色。比如你想让刻晴的长发、裙摆、或者披风随着                             动作摆动,用这个模式最合适。它能完美跟随原动作,同时增加自然的物理摆动。

Bone Spring (骨骼弹簧)

       原理:模拟刚性连接的。可以把它想象成给骨骼之间装了“硬弹簧”。

       特点:它不适合做大面积的软布料,而是适合做那种有弹性的、硬质的连接物。

       适用场景物理骨骼(Physics Bones)。比如角色的尾巴、耳朵、或者双马尾,当你晃动                             角色时,尾巴不会瞬间跟上,而是像弹簧一样有个延迟的摆动过程。

↑************************************************************************************************************↑

Root Rotation(重力):现实重力在这里为0.98

Rotational Interpolati(旋转插值):

  接近0-迅速、生硬地完成旋转动作,容易产生抖动和抽搐感,响应极快

  接近1-物体旋转时会带有明显的“惯性”,动作会有一个缓冲的过程,看起来非常柔和、自然。响                 应会有轻微的延迟

锁定Inspector

将要解算的骨骼并拖拽到Root Bones   (只需要最前端骨骼的,后续连接的骨骼会自动解算)

(运行下的截图)可以发现此时头发具有了物理的飘逸效果,(但会穿模)

身体,肩膀等

*解决穿模问题

找到身体

右键-Create Other-Magica Cloth2-Magica Capsule Collider

调整Magica 布料胶囊碰撞体到与模型相符

此时还未被识别,头发的不了模型仍然会穿过身体

回到头发,将Magica 布料胶囊添加到Collider Collision-Collider List

此时头发将不会再穿过身体,身体解算完成

其余不想发生穿模的部位同理

额外(其他布料的解算)

↓************************************************************************************************************↓

Connection Mode

线(Line):*头发

        把每一条骨骼链当作完全独立的“绳子”来算。左边的头发动不会影响右边的头发。它们各自为战。

Automatic Mesh (自动网格):*浓密一体式长发 / 海带发 / 软体飘带

        插件会忽略骨骼原本的父子关系,单纯看它们在空间里的位置,自动把它们凑成一张网。

Sequential Loop Mesh (顺序闭环网格):*裙子

        按照你列表里的顺序,把骨骼链首尾相连缝成一张网,并且头尾相接围成一个圈

Sequential Non Loop Mesh (顺序非闭环网格):*上衣/披风/开叉裙

        同样按顺序缝合,但头尾不相连,是一块开放的布。

↑************************************************************************************************************↑

什么是MMD

MMD 不是一种文件格式,而是一个软件的缩写

缩写/扩展名全称本质
MMDMikuMikuDance软件名(3D动画制作工具)
.pmx​Polygon Model extendedMMD的模型文件格式(新版/现行标准)
.pmd​Polygon Model DataMMD的旧版模型格式
.vmd​Vocaloid Motion DataMMD的动作/舞蹈文件
.mmd​没有这种东西!

↓************************************************************************************************************↓

如何隐藏物理骨骼

选中模型

取消其Bone Renderer组件

物理骨骼隐藏成功

↑************************************************************************************************************↑

END

内容概要:本文系统梳理了多个科研领域的前沿研究技术实现,重点涵盖FDTD方法中的完美匹配层(PML)研究,以及Matlab/Simulink在电磁、电力、控制、通信、信号处理、图像处理、路径规划、能源系统优化等领域的仿真法实现。文中列举了大量基于Matlab和Python的科研案例,如风电功率预测、负荷预测、无人机三维路径规划、电池系统故障诊断、雷达模拟、通信编码、微电网优化调度等,并强调结合智能优化法(如粒子群、遗传法、深度学习等)提升系统性能。同时,提供了丰富的代码资源仿真模型,涵盖永磁同步电机控制、逆变器设计、多智能体任务分配、虚拟电厂调度等复杂系统,助力科研人员快速开展复现实验创新研究。; 适合人群:具备一定编程基础,熟悉Matlab/Python工具,从事电气工程、自动化、通信、人工智能、新能源、控制科学等相关领域研究的研发人员及研究生。; 使用场景及目标:① 学习并实现FDTD仿真中的PML边界条件以有效抑制数值反射;② 掌握Matlab/Simulink在多物理场建模、控制系统设计优化法中的综合应用;③ 借助提供的代码资源完成科研复现、课程设计、竞赛项目或工程原型开发; 阅读建议:此资源以科研实战为导向,不仅提供理论方法,更强调代码实现仿真验证。建议读者结合自身研究方向,按目录顺序查阅相关模块,下载配套代码进行调试二次开发,以达到学以致用、融会贯通的目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值