一直想让自己以前设计的oc能变成3d并且让她作为RPG的主角动起来,并且以此为契机熟悉3d建模与游戏开发领域,于是有了标题的这个想法。

这里记录一下新人第一次从Vroid捏OC,导入blender转fbx,以及导入Unity通过修改官方的Third Person Controller来让角色动起来这个过程中所踩的坑,也顺便整理一下这一路的开发思路。这里许多地方都是参考了各路大佬的教程来进行的,写到的时候也会贴上链接,在这里再次感谢这些大佬~

使用软件:Vroid v1.19.0,Blender2.93(3以上的版本安装CATS插件可能会出错),unity2022.1

• Vroid捏oc,绘制贴图

首先需要对自己想要捏的形象有个大概的设定,在Vroid可以很方便选择与设定相近的素体并进行贴图纹理绘制,或者直接用现成的贴图,是一个十分好上手的软件,同时vrm的材质渲染比较偏三渲二画风这也是我选择该软件的主要原因。这里主要参考视频BV19L4y157aS,这里主要记录下踩过的坑:

  1. 脸部的头发阴影不要绘制太大,否则闭眼动作的时候可能会出现穿帮。可以拉动闭眼表情查看并进行调节;

  1. 如果想绘制发饰或者其他部位的饰品又没有想要的素体,一个偷懒的方法是在新建的纹理上直接进行绘制(可以导出纹理图层到ps或者sai等绘画软件进行精修),不过这样不能对饰品做体积,只能说有利有弊吧。

  1. 绘制好头发点击编辑头发骨骼会自动生成头发骨骼,进入编辑界面可以对不想要绑定骨骼的头发从头发组里删除。这里前发建议骨骼数设为1,不然后面可能会出现乱飘的现象。

• 导出vrm文件并在blender进行fbx格式转换

捏好模型之后右上方导出vrm文件即可。为了能顺利导入Unity,这里的做法是先用blender转成fbx格式并合成材质球。教程指路:BV1up4y1S71w。需要安装的插件视频里也有贴。这里主要的踩坑点有:

1. 导入vrm文件后没有生成对应的材质球。这里不要用插件的导入按钮进行导入,直接从blender菜单进行导入并勾选第一个选项即可。

2. 点击Save Atlas to..的时候,没有跳出保存路径选择,并且也没有合并材质而是把其他材质都删了只留了一个下来。

教程的留言里也有很多人碰到这个问题。这里我的做法是将blender的系统语言调成英文,同时vrm文件路径尽量不要出现中文,再来尝试,合并材质就没问题了。如果还是不行就删掉刚刚的blender文件再新建项目再来重试。

合并好之后点击ExportModel导出fbx文件就好了。

• 将fbx文件导入Unity并修改Shader

把模型导入Unity并将合成好的材质球拖入人物,可以看到模型会出现各种黑边,是因为材质球的透明区域被映成了黑色。这里我安装UniVRM(https://github.com/vrm-c/UniVRM)之后,选择VRM/MToon作为Shader,并在Rendering Type处选择Cutout来保留透明网格,同时可以将Outline(模型的边缘线)调大来尽量还原三渲二的材质。

• 导入Third Person Controller尝试按键操作角色

成功导入Unity只是完成的第一步,接下来如何让角色在我们的操作下动起来才会让事情变得有趣。这里我选择使用官方的第三人称控制器来操作角色。

资源链接:https://assetstore.unity.com/packages/essentials/starter-assets-third-person-character-controller-196526#reviews

导入资源之后将资源文件Scene/Playground场景下的小人与跟随相机复制到你的场景下。然后将你的角色的骨骼与皮肤文件(Armture、Body)搬到小人的文件下并删除掉小人本身的骨骼与皮肤:

然后将控制器与你的角色的Avatar赋予人物即可。

这个时候点击运行用键盘操作一下角色应该就能动起来了。虽然动作可能会十分奇怪,这是因为动画绑定的骨骼与模型的骨骼不匹配,修改教程指路:BV1fg411w7HT。如果对动作本身不满意,这里提到的网站(https://www.mixamo.com/)里也有许多动作素材可以下载,导入后修改Rig的动画类型为Humanoid

然后在Controller的状态机里将原动作替换掉,并按照视频的方法调整下骨骼即可。如替换跑步动作:

• 让角色头发随动

让角色动起来之后发现头发并不会随着飘动起来而是保持着原来的形状移动着,这时需要给头发添加一个动态骨骼。Unity插件链接:

https://pan.baidu.com/s/11Pth4d1oynVl5gXyngs29w 提取码:fang

导入插件后找到角色的头发所在的父级目录,在上面添加Dynamic Bone组件即可自动生成动态骨骼,调整Damping、Elasticity等参数让其飘动更加自然(我的参数如下图)。在Colliders栏可以添加骨骼碰撞体尽量防止头发穿模。Exclusions栏可以添加父级目录下不想添加动态骨骼的物件(如在Head文件下的眼睛、碎发等)

• 给新动作添加走路音效

由于新替换的动作没有添加触发音效事件,如替换掉走路的动作后,走起路来原本挂载在ThirdPerson Controller脚本的音效就不会触发。进到脚本我们可以看到官方自带的有两种音效触发的方法,OnFootstep是走路或跑步触发音效事件,OnLand是人物落地触发音效事件。这里我修改了走路的动作,因此要给新动作添加回OnFootstep事件。

具体的添加方式为:

在动作文件的Animation/Events设置中的时间轴出选中两次脚落地的时刻,添加事件即可。

完成这些操作之后,制作的oc形象终于能比较顺心地动起来啦,虽然还有很多细节还需要调整,但还是想记录这么一个文档让自己爽一下。后面就可以操作你的角色进行你的RPG游戏啦,谢谢你能看到这里~

从制作OC形象到导入Unity并让角色动起来相关推荐

  1. Unity C4D、Maya等制作的白色模型导入Unity后变灰或产生过渡灰、光泽等

    需要在 .fbx 的导入设置中,重新设置法线的计算方式: 前后对比:

  2. unity静止人物素材制作动作,导入unity行走、跑步动画,并用Animator Controller加脚本进行控制

    初学Unity的关于制作人物动作.导入unity动画.控制人物移动的简单小结 因为网上的关于人物动画制作.导入.控制运动的文章都不太全面,所以自己制作了一个小结来总结一下,这是我当前做出来的效果图,穿 ...

  3. 3dsMax制作弯曲动画导入Unity后动画丢失

    问题描述 上图是在3ds中预览的效果,可以看见对上面的平面进行了一个bend变形操作.在输出为下图的FBX后,发现其他动画还保留,唯独bend动画丢失. 那么应该如何保留所有动画呢? 几种思路,一种是 ...

  4. 将动画角色导入Unity 3D

    寻找免费动画 如果你已经创建了自己的动画,那真是太棒了 - 我们将讨论很快将它们导入Unity.如果您已创建角色或想购买股票角色,那么让我们谈谈我们在哪里可以找到一些角色. Mixamo是一个很好的选 ...

  5. 通过Mixamo生成人物动画并导入Unity实现资源可用的方法

    通过Mixamo生成人物动画并导入Unity实现资源可用的方法: 文章要点: 如何通过Mixamo生成人物动画 在Mixamo中生成的模型及动画导入Unity的设置(保持原有材质) 在Unity中利用 ...

  6. 如何将spine的素材导入unity

    CertainLan 如何将spine的素材导入unity 最近做项目,想将少前里的小人素材导入到unity里,于是乎便去捣鼓了一下,随便记录一下方便以后查看. 第一步:将素材导入spine(如果你已 ...

  7. 【Unity】XPS模型导入Unity(支持VRChat)

    所需要的资源 (百度云:链接:https://pan.baidu.com/s/1kyCs_HLUJ5j02ENbHgvzCQ 提取码:1234 ) 可以使用该方法,将xps模型制作成VRChat的模型 ...

  8. Substance Painter材质导入unity渲染通道配置更改

    substance painter是工作在线性空间下的, unity 3d如果是工作在线性空间下的话要注意 substance painter导出的贴图Albedo要勾选sRGB选项,Mask贴图不需 ...

  9. 基于傅老师unity游戏教学的学习笔记(EX)将PMX格式的MMD模型导入unity并使用

    为了学习unity,开始游戏制作大业,我选择在bilibili上寻找unity游戏教学视频并边做边学,以此系列博客作为笔记. (EX)将PMX格式的MMD模型导入unity并使用 想做3D游戏,优秀的 ...

最新文章

  1. 整理第十六届全国大学智能车竞赛比赛数据
  2. Python:实现xlsx文件与csv文件之间相互转换
  3. SpringBoot v2.2.6版本遇到的坑------Thymeleaf的sec:authorize标签无效
  4. 阿里云MVP闪亮云栖大会,技术干货持续更新中
  5. c语言预处理指令之 ##
  6. windows MySQL 5+ 服务手动安装
  7. 过滤你不想看见的网页里的东西
  8. C#实现DataTable按天分组并计数
  9. Spring-ClassPathBeanDefinitionScanner
  10. t3网络计算机浏览卡死,凭证一点打印 系统就卡死了 重启后还是这样
  11. 【服务器】【私有云】宝塔安装KodExplorer
  12. Python JavaScript 的数组去重
  13. python opencv 获取图片清晰度
  14. 什么是运行时应用程序自我保护(RASP)Runtime Application Self-Protection
  15. swf播放器air android 版,网极SWF播放器(com.webgenie.swf.play) - 1.6.3 - 应用 - 酷安
  16. word快速切换多个文件窗口
  17. C# Winform Socket即时通讯
  18. 《老子》古本学习札记
  19. 第十三届蓝桥杯《EDA设计与开发》赛后总结
  20. MEM/MBA英语基础(01) 10类词性说明

热门文章

  1. php 微信登陆unionid,微信扫码登陆/微信公交号 登录PHP 自适应 UnionID统一用户
  2. autonics编码器说明书_Autonics奥托尼克斯绝对值编码器​ENP系列
  3. 类的定义(定义一个图书类(Book)为例)
  4. 文献阅读-ICRA2020-血管内介入治疗中考虑光流引导弯曲的 端到端实时导管分割
  5. 开卖半年营收有望过亿,扫地机器人品牌「由利」获梅花创投数千万投资
  6. 学习机赛道加速:请“卷”产品,不要“卷”营销
  7. 微信好友头像全家福详细教程 python版
  8. sqlserver数据库不离线清空ldf日志
  9. 一个简单的星座运势查询APP
  10. 5行等腰三角形php,PHP输出一个等腰三角形的方法