unity实现mmd功能(跳舞)
- 将pmx模型转化为fbx模型
- 将fbx模型导入,在对应的Inspector面板上的四个勾选打勾并Apply应用一下
- 在接下来弹出的界面中将vmd动画拖入到对应的Object栏中并点击生成相应动画的模型
- vmd动画的制作
- 新建一个动画状态机控制播放动画,将一整段动画拖入即可,然后将动画机赋值给生成出来的模型作为预制
- 场景中添加音乐作为舞蹈音乐
Unity支持从两种不同类型的文件导入网格和动画:
- 导出的3D文件格式,如.fbx或.obj。
- 专有的3D或DCC(数字内容创作)应用程序文件,例如来自AutocdeskoB3ds Maxk@或Blender的.max和.blend文件格式。只能在创建专有文件的软件中编辑这些文件。专有文件通常无法在未经转换和导入的情况下直接由其他软件编辑。
导出的3D格式
Unity可读取.fbx、.dae(Collada)、.3ds、.dxf和.obj文件。
将pmx模型转化为fbx模型
需要工具:
- 用于Blender中处理模型的插件(Cats Blender Plugin),适合用于处理pmx、vrm模型。(https://github.com/absolute-quantum/cats-blender-plugin)
- 用于Unity,将fbx模型打包成vrm模型的的脚本(UniVRM)。(https://github.com/vrm-c/UniVRM/releases/tag/v0.68.2)
Cats插件,自身内置支持mmd(.pmx,.pmd)、fbx(.fbx)格式的模型导入。
XnaLara(.xps)、Source(.md)、VRM(.vrm)需要额外下载对应插件。
在blender中安装Cats插件并在右侧工具栏中利用它导入.pmx模型
默认显示是白色模型,可在右侧工具栏中在Misc(杂项)中添加mmd_tools赋予的着色渲染(GLSL、Shadeless)。
(如果着色不正常,例含带粉色,可以把MMD Display中的Toon Texture取消勾选)
点击Cats里的Fix model(mmd模型默认设置,非mmd模型在属性设置中取消勾选“Fix MMD Twist Bones”),它会自动化处理你的模型,并对模型本身的mesh和骨骼进行改变。
- 会将你的模型骨骼,重命名为适配Unity骨骼映射的英文名,并删除多余无用0权重骨骼。
- 会改变你的mesh网格,将使用同一张贴图的部分合并在一起,然后再将所有mesh网格合并重命名为Body。(这个功能对小白来说并没有什么影响,但对熟悉模型的人来说可能是个缺点。解决方法:Fix Model前,在属性设置中取消勾选“Combine Same Materials”)
(在自动化处理时,处理速度取决于模型的复杂程度,比如,模型的骨骼数量,面数,形态键(blendshape)等)
处理结束后, 检查骨骼的权重是否正常。
(不检查也行,一般Fix model前正常,Fix model后也不会有什么问题)
点击Start Pose Mode,开启姿态模式,然后检查骨骼权重,依次是四肢、上半身、腰部、手指。
当你发现模型没啥问题以后,点击Export Model,直接导出就好了。
将fbx模型导入,在对应的Inspector面板上的四个勾选打勾并Apply应用一下
在接下来弹出的界面中将vmd动画拖入到对应的Object栏中并点击生成相应动画的模型
vmd动画的制作
- 利用小K网(https://xk.yunboai.com/)
(仅转到vmd只需bip)
- 手K帧
自己手K帧的精度更高更自然,也可以采取动捕+手修,不过动捕出来的满屏关键帧还不如直接重做orz。
新建一个动画状态机控制播放动画,将一整段动画拖入即可,然后将动画机赋值给生成出来的模型作为预制
场景中添加音乐作为舞蹈音乐
unity实现mmd功能(跳舞)相关推荐
- 手把手教你用Unity做出MMD,不用一行代码让你的动漫人物动起来!
相信对Unity和MMD有过了解的小伙伴们应该看到过这张图片,这是日本Unity官方团队用Unity做的一个MMD类型的项目,看完的小伙伴们一定会对这个项目感到惊讶,怎么做才能够让Unity娘动起来? ...
- unity实现吸附功能的效果
unity实现吸附功能的效果随笔 物体移动到墙体一定距离会被吸附到墙体上面 这个一定的距离根据代码 Vector3 scale = boxCol.transform.localScale+ new V ...
- Unity录屏功能插件NatCorder使用简记
Unity录屏功能插件NatCorder使用简记 简单介绍 插件下载 使用简介 代码 参考链接 简单介绍 NatCorder 是一个轻量级且易于使用的全功能视频录制 API,适用于 iOS.Andro ...
- unity2d游戏开发系列教程:二、新建工程并熟悉Unity编辑器常用功能
目录 unity2d游戏开发系列教程:一.环境安装 第一步.打开项目 耐心等待一小会 工程界面 第二步.创建第一个场景(第一关)进行试玩 点击图中标号1的运行按钮,即可简单试玩感受,操作如下 移动A, ...
- 关于Unity的回放功能
关于Unity的回放功能 最近公司的仿真项目需要用到回放的功能,但是在unity中的回放功能,无论是插件(EZRecordManager)还是其他人的代码,感觉都不太好,网上有两个博客讲的回放,在这里 ...
- 年末重磅 | 12月Unity 2D新功能发布会现已开放报名!
12月17日,Unity将在北京首次举办Unity 2D技术新功能发布会!届时,来自新加坡的Unity 2D核心研发团队将首次来华,为国内开发者分享Unity最新的2D开发功能以及未来2D功能的研发规 ...
- Unity 异常记录日志功能
当unity工程打包后,程序的Bug出现后,可能出现无法还原错误或者无法捕获错误的情况.也因此,自己做了一个简单的功能,实现了一个错误日志记录功能,打包后在根目录生成log文件.在可能出现异常的位置使 ...
- VR开发之使用VRTK实现拾取和手柄扣下扳机触发事件(Unity灭火器灭火功能的实现)
目录 unity毕设之消防演练灭火功能的实现 **导入灭火器模型和喷射效果粒子系统** **为被拾取的物体添加组件[VRTK_Interactable Object]组件:** **为左右控制器添加可 ...
- Unity之引导功能遮罩事件穿透
Unity之新手引导shader遮罩事件穿透 效果图 设计思路 1.新手引导我们期待开发内容不影响正常的功能模块,意思就是分层,新手引导在正常功能之上 2.新手引导层级用一层深色bg显示遮住正常功能层 ...
- Unity自定义快捷键功能,支持动态改键(附工程文件)
简单的按键输入检测就是在Update里通过对 if(Input.GetKeyDown(KeyCode.A)){ //todo } 这样来判断,但是项目的需求中往往没有这么简单,都是需要支持用户自己修改 ...
最新文章
- Swoft 2 Beta 发布,基于 Swoole 的云原生协程框架
- 线性表ArrayList和LinkedList源码详解。
- 对象的克隆——原型模式
- C实现二叉树的先序遍历,中序遍历,后序遍历
- sublime中编译的sass如何改变css输出风格?【这里有答案】
- java decimal_java DecimalFormat常用方法详解
- axios_的默认配置_使用演示---axios工作笔记008
- linux lite 3.6 64bit,Linux Lite 3.6 正式发布:基于 Ubuntu 16.04.3 LTS 打造
- 小程序web开发框架-weweb介绍 1
- 点击编辑,进入编辑页面并把值渲染到页面上
- python 下标 遍历列表_Python中遍历列表中元素的操作
- 如何通过Spring Boot实施Alexa技能
- Android开发中,如何从系统固件里提取可用的APK
- Cadence学习之路:什么是PCB工艺的正片与负片
- 在Octane中提升渲染速度的技巧(第2部分)
- python实现对遥感影像经纬度获取并实现海陆分离
- 辽宁移动_E900V21E_S905L3_线刷固件包
- ipad 顶部时间电池栏 浏览器无法隐藏
- npm 及 webpack打包工具
- 写论文经常用到的网站、工具、技巧汇总【持续更新】
热门文章
- OSI参考模型各层的功能详解
- 合宙 air720 模块通过串口助手连接到阿里云 IOT
- uniapp 点击动画_uni-app animation动画
- 看图写英语作文关于计算机,终于懂了看图写英语作文模板
- 学习Java可以干什么?
- 联想台式机计算机接口,我的电脑显卡是什么样的接口?
- php+redis+保存多个值,php向redis list一次性lPush多个值
- 苹果又开了一个“坏头”
- android福州经纬度,android....中国各城市的经纬度,
- Unity 资源包导入报错 “Substance engine failed to load“