unity实现mmd功能(跳舞)

2023-11-09


Unity支持从两种不同类型的文件导入网格和动画:

  • 导出的3D文件格式,如.fbx或.obj。
  • 专有的3D或DCC(数字内容创作)应用程序文件,例如来自AutocdeskoB3ds Maxk@或Blender的.max和.blend文件格式。只能在创建专有文件的软件中编辑这些文件。专有文件通常无法在未经转换和导入的情况下直接由其他软件编辑。

导出的3D格式
Unity可读取.fbx、.dae(Collada)、.3ds、.dxf和.obj文件。

将pmx模型转化为fbx模型

需要工具:

  1. 用于Blender中处理模型的插件(Cats Blender Plugin),适合用于处理pmx、vrm模型。(https://github.com/absolute-quantum/cats-blender-plugin)
  2. 用于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和骨骼进行改变。

  1. 会将你的模型骨骼,重命名为适配Unity骨骼映射的英文名,并删除多余无用0权重骨骼。
  2. 会改变你的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。

新建一个动画状态机控制播放动画,将一整段动画拖入即可,然后将动画机赋值给生成出来的模型作为预制

场景中添加音乐作为舞蹈音乐

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity实现mmd功能(跳舞) 的相关文章

  • 团结| mesh.colors 不会为我的自定义网格对象着色

    我在 Unity 中构建了一个自定义金字塔 如下所示 Mesh mesh GetComponent
  • 平滑圆锥法线

    我正在尝试计算圆锥体的平滑法线 在寻找代码示例和解释时 我不断地遇到面部法线的方向 我在下面发布了几张我正在做的事情的照片 第一个 基本上只是标准化顶点位置 给了我相当平滑的阴影 但边缘 缺失 底面也不坚固 第二个有边缘 但阴影是平坦的 面
  • Unity万向节死锁解决方案(2023/12/4)

    1 万向节死锁无法解决 这是因为它的特性就是如此 就像玻璃杯就是玻璃 这不可否认 别钻牛角尖昂 2 大多数情况下欧拉角足够用 例如 CF 摄像机不可能绕z轴旋转 x轴旋转也不会超过九十度 因为那样人物的腰子会被扭断 塔防游戏 保卫萝卜 吃鸡
  • mixamo根动画导入UE5问题:滑铲

    最近想做一个跑酷游戏 从mixamo下载滑铲动作后 出了很多动画的问题 花了两周时间 终于是把所有的问题基本上都解决了 常见问题 1 动画序列 人物不移动 2 动画序列 人物移动朝向错误 3 蒙太奇 人物移动后会被拉回 4 蒙太奇 动画移动
  • 在使用 CGAL 进行四面体网格划分期间保留面片编号

    Input 我有几个网格 off一起包含一个卷的格式 例如 采取patch 01 off patch 20 off and patch 30 offCGAL 4 11 中提供的examples Mesh 3 data patches 所需输
  • 污染玫瑰图网格

    我正在尝试创建一个污染玫瑰图 如链接中所述绘制 Windrose 制作浓度设置为颜色的污染玫瑰 回复中的示例有效 但是当我使用我的数据时 它给出了一个奇怪的图 有什么建议我哪里出错了吗 谢谢 import matplotlib pyplot
  • 在javafx中将纹理应用于网格

    我在使用 JavaFX 和 FXyz 0 1 1 将纹理应用到网格时遇到问题 I found 这个问题即使有详细的答案也无法弄清楚 我从头开始 准确地复制答案中的代码 场景是黑色的 没有可见的二十面体 我使用的是 Java 8 提供的图像是
  • 【Unity】运行时创建曲线(贝塞尔的运用)

    Unity 运行时创建线 贝塞尔的运用 1 实现的目标 在运行状态下创建一条可以使用贝塞尔方法实时编辑的网格曲线 2 原理介绍 2 1 曲线的创建 unity建立网格曲线可以参考 Unity程序化网格体 的实现方法 主要分为顶点 三角面 U
  • SceneKit:关于像 Tron 光循环一样再现发光光迹的建议

    目标是在 SceneKit 中重现类似于下图的光迹 路径不需要那么详细 但我们的想法是实现类似的视觉效果 我们尝试使用不透明度约为 0 5 的薄立方体 我们将大约 200 个灯串在一起 并将它们连接到一个节点上 作为光迹 那根本没有表现 另
  • MATLAB 中的网格生成

    有没有子程序 在MATLAB http en wikipedia org wiki MATLAB 它接受一个点列表 然后返回一个好的网格 我可以用它来向我的同事展示 比如这样 实际上 我需要的只是一个简单的 2D 网格生成器 它接收一系列
  • 三.js。应用 EdgesHelper 后更改网格位置

    我尝试在应用 EdgesHelper 后旋转或更改网格的位置 但它不起作用 网格保持在同一位置 没有 EdgesHelper 它工作正常 我究竟做错了什么 var mesh new THREE Mesh geometry material
  • QML 将纹理应用于网格

    我正在尝试将图像纹理应用到 QML Qt 5 6 2 中的网格 我从示例 Shadow Map QML 开始 我想对 GroundPlane 进行纹理处理 材质和效果 qml 类应用于该 GroundPlane 网格 但我看不到如何应用图像
  • Three.js 加载已三角化的网格是否比使用四边形的网格性能更高?

    我读过 Three js 对所有网格面进行三角剖分 这是正确的吗 然后我意识到我使用的大多数 gltf 模型都有四面体 在 Blender 中对面进行三角测量非常容易 所以我很好奇对面进行预先三角测量是否会导致网格加载更快 提前致谢 如果您
  • 游戏开发之常见操作梳理——武器装备商店系统(NGUI版)

    游戏开发中经常出现武器商店 接下来为你们带来武器装备商店系统的具体解决办法 后续出UGUI Json版本 敬请期待 武器道具的具体逻辑 using System Collections using System Collections Ge
  • 游戏开发常见操作梳理之角色选择一

    进入游戏后 我们经常会进入角色选择的界面 通常是左右两个按钮可以更改角色供玩家选择 对于这种界面我们通常使用数据持久化将角色信息存储起来 接下来的笔记中 我将使用自带的数据持久化系统对其进行操作 实现角色的选择页面 后续会更新xml系列的文
  • 我想用Python从点云生成网格

    我有来自人体不同部位的点云 比如眼睛 我想做一个网格 我尝试使用 Mayavi 和 Delaunay 但没有得到好的网格 云的点完全混乱 我的点云位于 npz 文件中 使用 Mayavi 然后我想将模型保存在 obj 或 stl 文件中 但
  • 网格三角剖分和简化 C++ 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 C 库来三角测量和简化 3D 网格 我的 3D 网格可能很大 大约 300 万个顶点
  • 在 Python 中创建二维非矩形形状的三角形网格

    假设我有一组点定义二维平面中非矩形形状的周长 我需要一个函数来创建三角形网格划分 在其中可以修改三角形单元的数量并返回每个单元的 x y 坐标 谢谢 你可能应该看看 dmsh https github com nschloe dmsh py
  • CGAL:从网格中读取顶点和三角形

    我只是花了几个小时在 Visual Studio C 中使用 CGAL 来尝试了解网格的工作原理 我想要得到的是对顶点和三角形列表的访问 顶点以 double 3 形式 三角形以 int 3 形式 这是我正在编写的脚本 http doc c
  • 在网格挤出过程中计算 UV 坐标

    我目前正在为平面形状实现网格挤出算法 让我们假设为矩形 当我拉伸这个矩形时 我为 3d 形状创建了四个新边 产生 8 个新三角形 和一个新底部 当我复制所有顶点以使最终的立方体有 24 个顶点时 这种方法效果很好 但我现在想避免这些额外的顶

随机推荐

  • C#中的函数式编程:递归与纯函数(二) 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面...

    C 中的函数式编程 递归与纯函数 二 在序言中 我们提到函数式编程的两大特征 无副作用 函数是第一公民 现在 我们先来深入第一个特征 无副作用 无副作用是通过引用透明 Referential transparency 来定义的 如果一个表达
  • 专家PID的控制算法-MATLAB实现

    专家PID的控制算法 MATLAB实现 PID控制 实际应用中多是PI控制和PD控制 就是根据系统的误差 利用比例 积分和微分计算出控制量进行控制的 PID专家控制的实质 是基于受控对象和控制规律的各种知识 利用专家经验设计一些规则并结合的
  • Python爬虫实战案例——第五例

    文章中所有内容仅供学习交流使用 不用于其他任何目的 严禁将文中内容用于任何商业与非法用途 由此产生的一切后果与作者无关 若有侵权 请联系删除 目标 采集三国杀官网的精美壁纸 地址 aHR0cHM6Ly93d3cuc2FuZ3Vvc2hhLm
  • 【ClickHouse内核】资源管理

    目录 概述 资源使用追踪机制 MemoryTracker ProfileEvents QueryProfiler 举个例子 资源隔离机制 内存隔离 CPU隔离 IO隔离 资源使用配额 Quota 机制 结论 概述 资源管理对于数据库来说是非
  • Parameter 0 of constructor in XXX required a single bean, but 3 were found:

    原因 因为在构造函数中 需要一个单一的 OrderStatus Bean 但Spring在容器中找到了三个这样的Bean 解决方式 在随机一个组件中加入一个注解 Primary Component Primary Slf4j public
  • 18650锂电池参数、充放电时间计算详解

    我们以NCR18650B举例 其参数为 额定容量 3200mAh 容量范围3250mAh 3350mAh 额定电压 3 6V 充电参数 恒流 恒压 充电电流为1625mA 充电到4 2V 需要4小时 质量 48 5g 充电温度 放电温度 存
  • 傅里叶变换公式及其推导【超详细!】

    题主本硕机械专业 自学转互联网 算法岗成功 获得阿里 字节 美团 华为等 15 offer 后续会在公众号 苏学算法 分享各类学习笔记 面试经验 感兴趣的可以关注一波 一 核心公式 时域 gt gt gt 频域 X
  • idea 类注释模板

    类注释模板如下 if PACKAGE NAME PACKAGE NAME package PACKAGE NAME end parse File Header java ClassName NAME Author name Date DAT
  • K8S 部署 SpringBoot 项目(一篇够用)

    现在比较多的互联网公司都在尝试将微服务迁到云上 这样的能够通过一些成熟的云容器管理平台更为方便地管理微服务集群 从而提高微服务的稳定性 同时也能较好地提升团队开发效率 但是迁云存在一定的技术难点 今天这篇文章主要介绍如何从0开始搭建一套基于
  • c语言程序设计

    一 c语言主要特点 1 语法设计不 太严格 软件程序自由度大 2 对变量的类型使用比较灵活 如整型和字符型数据可以通用 3 c语言具有高级语言的功能和低级语言的很多功能 可以用来编写系统软件 4 编译系统简洁 易移植等特点 例如 inclu
  • 360云盘会不会停止服务器,360云盘能否继续使用啊?

    2017 10 10 03 56 14 除非你已购买了企业云盘只要交了费就可以使用了 可用原云盘帐号登录 把原云盘内的数据一键导入企业云盘 全部 2017 10 10 03 56 14 2017 10 10 03 56 14 完善个人资料
  • Redis单机最大并发量

    redis单机最大并发量 布隆过滤器 多级缓存 客户端缓存 应用层缓存 Expires和Cache Control的区别 Nginx缓存管理 服务层缓存 进程内缓存 进程外缓存 缓存数据一致性问题的解决 引入多级缓存设计的时刻 Redis的
  • sentinelsat包介绍

    这次主要介绍sentinelsat包 包括查询条件和相关的API等 主要记录自己学习过程 首先我们需要知道欧空局ESA的数据 因为考虑数据存储等问题 会将sentinel数据从在线存档中删除 对于长期存档的数据 会出现offline情况 在
  • 编程常用英语词汇

    按字母索引 A 开头 B 开头 C 开头 D 开头 E 开头 F 开头 G 开头 H 开头 I 开头 J 开头 K 开头 L 开头 M 开头 N 开头 O 开头 P 开头 Q 开头 R 开头 S 开头 T 开头 U 开头 V 开头 W 开头
  • PHP preg_replace() 正则替换所有符合条件的字符串

    PHP preg replace 正则替换 与Javascript 正则替换不同 PHP preg replace 默认就是替换所有符号匹配条件的元素 需要我们用程序处理的数据并不总是预先以数据库思维设计的 或者说是无法用数据库的结构去存储
  • Flutter 修改默认生成的 minSdkVersion

    Flutter 修改默认生成的 minSdkVersion 问题 flutter pub get 会自动生成 android 目录 但是如果要修改 build gradle 文件里面的内容 需要每次都要手动改一下 很麻烦 解决办法 修改 f
  • 大数据毕设项目 opencv 图像识别 指纹识别 - python

    文章目录 0 前言 1 课题背景 2 效果展示 3 具体实现 3 1 图像对比过滤 3 2 图像二值化 3 3 图像侵蚀细化 3 4 图像增强 3 5 特征点检测 4 OpenCV 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升
  • 【动手学习pytorch笔记】33.Attention实现

    Attention实现 import math import torch from torch import nn from d2l import torch as d2l 带掩码的softmax 有些query是不应该看到后面的key的
  • glslViewer 介绍 (001)

    GitHub patriciogonzalezvivo glslViewer Console based GLSL Sandbox for 2D 3D shaders 起个头先 把官网的windows安装过程 step by step 化
  • unity实现mmd功能(跳舞)

    将pmx模型转化为fbx模型 将fbx模型导入 在对应的Inspector面板上的四个勾选打勾并Apply应用一下 在接下来弹出的界面中将vmd动画拖入到对应的Object栏中并点击生成相应动画的模型 vmd动画的制作 新建一个动画状态机控