unity学习笔记-3dmax人型动画导入unity需要注意的事项

3dmax人型动画导入unity需要注意的事项

如题,如果动画师给到程序的时候出现了
在这里插入图片描述
这个问题
应该如何解决

方法一

让动画师重新导出,不过这个听动画师说设计到重新绑定的问题,所以如果用这个方法的话,记得提前请动画师吃个饭啥的,免得被打(听说重新绑定没什么大问题,主要是刷权重很耗时间)

方法二

自己在导入到场景的时候,如图
在这里插入图片描述
找到有问题的mesh(不要找到骨骼信息的那里了),然后你点击他的时候,会发现在他原本应该在的地方没有看到mesh
虽然播放动画的时候没有什么太大的影响,但是当你摄像机拉近的时候会发现这个mesh突然不见了,这就是因为mesh对应的根骨骼在fbx导入到unity的时候出现了问题,导致unity在按照正常的人型骨骼对信息进行加载的时候无法识别,他就会默认是骨骼信息的根骨骼,也就是bip001在这里插入图片描述

那么最简单粗暴的方法就是找到对应mesh位置不对的gameobject,然后找到他原本应该对应的bip,拖到gameobject的rootbone选项里就可以了
这个应该在项目文件里在这里插入图片描述
点击这个configure也可以修改,不过从这里修改的话就不用每次都要在导入到场景的时候对gameobject进行修改,一劳永逸吧,这个就看习惯问题了

导入非人型动画的一些问题

项目需要,对非人型的模型进行一些动画,在动画师做好之后,导入到unity的时候出现了一些材质变成了透明的现象,目前还不知道是程序不能识别的问题还是动画师导出还是制作的过程中做了一些操作导致的,还在研究中,记录一下

2021.6.29更新

解决上面问题

在咸鱼平台咨询了一位大佬,由于我不懂3dmax,所以他的方法就是帮我写了一个shader,将法线反转
我导入贴上了贴图,发现确实不透明了
再一次感受到了大佬的厉害,以及知识付费的强大
大佬写的shader目前还看不太懂,看看后面有没有机会研究一下~
顺便提一下,建模和动画师给我科普了一下normal就是法线

2021.7.1
更新
最最简单粗暴的方法
由于我使用了urp管线的环境,如果使用系统原生的shader代码,无法识别
昨天研究了一下,大概是因为两者使用的库和语法不太相同
默认初始的shader使用的是cg的语法格式
但是urp管线的shader使用的是hsll的语法格式,两者使用的库也不尽相同,所以这个方法还无法解决项目中遇到透明的问题
今天和咸鱼上的大佬沟通了一下,他用的方法是删掉项目工程的library、logs和temp文件
在他那里是可以正常显示了,但是我删掉之后发现还是出现了紫色
查看了一下发现删掉这些文件的时候,把urp的设置都清除了,项目里的urp的脚本也都不见了
这样的话项目就是恢复到初始的状态,也就是默认的shader环境
这样还是没有解决问题
后面平台的大佬又帮我写了个脚本,能显示出材质了,但是还是没有解决透明的问题
他说还需要设置render face,把front改为back
然后我们一起发现了,这个设置,不需要重新写shader都是可以的
是的,urp的材质球打开来的时候就有这个选项
所以是不需要重新写shader的
哈哈哈哈,自己宛若zz一样
记录一下

2021.7.23更新
这里再更新一下后面发生的问题
由于项目需求,已经辞掉了有且仅有的一位建模师,动画师现在担负还担负起了建模的工作(别问,问就是老板大气!)
然后在对接的时候发现了一个小细节
那就是模型在给的时候里面有一个地方是不对称的,而建模师没有说,也没有提醒我们,虽然在表面上是没有任何问题的,但是动画师在修改了对称之后给我的fbx(带表情动画)后,我导入到u3d里,惊奇的发现法线翻转的问题没有了!
我惊了,同时也发现了一个细思极恐的事情(建模师有问题)
感觉被坑了有木有。。。
个人感觉是动画在绑定骨骼蒙皮的时候没有报错,但是由于这个不对称导致了导出之后才出现了发现翻转的问题
所以在咸鱼上的大佬一开始说的没错啊(透明了就是模型的问题)
还是自己不够强啊,加上也不懂3d建模的原理啥的,被坑了也只能忍下去了~
加油吧,还是忍不住吐槽一下,希望以后大家工作的时候能对自己负责,也对项目和对接的人负责吧。也希望自己不要有这样的问题出现

2021.7.29更新

3dmax人型带表情的动画导入

有关对接的问题好像永远讲不完hhh
这次遇到的问题是动画师给到我的是带骨骼的人型动画,但是其中包括了表情,而且由于项目要求表情的制作不太顺利
anyway
导入后遇到的第一个问题就是骨骼动画和表情动画分开了,也就是只播放了骨骼动画,但表情动画不见了
就在我已经和动画师争论的时候
想起之前他第一次给我的时候骨骼和动画都是可以的
于是我仔细的对比了一下,发现最终原因是导入之后对动画的处理不同
虽然人型动画一般使用的都是humanid但是由于我们表情的加入,程序无法对其进行详细的处理,导致程序只识别了骨骼的动画,但是表情上的动画就没有了,在这个设置下的表情就无法正常播放了
如何解决
那就是直接使用generic格式对动画进行识别
是的,这一步就可以了~
第二个问题就是有的动画在我这播放出来是变形的,但是在3d软件里播放又是正常的,最难顶的是他还不报错。但是这个问题还没有解决,搞定的话会再更新的

3dmax格式的一些注意事项

这个应该是策划和动画师需要注意的(我个人认为的)
由于程序(我)比较笨,如果想要实现一个简单的换装系统同步他们的动画,我的思路就是保证骨骼信息相同的情况下去直接变换动画
这个思路应该是没问题的,在网上看到的教程基本也是这么实现的,像男女他们也是分开来不同的模型和骨骼信息的,都没有放在同一个里面去替换的。
我认为是程序只能识别相同骨骼的人物为一个整体,当你切换了需要另一套骨骼信息作为基础的动画的时候,播放出来的效果就会惨不忍睹(实测)
比如动作一需要的骨骼信息里是有20根骨骼的,切换动画2的时候,他需要的是24根骨骼,想想都知道这样的动画播放的时候是一定有问题的
但是项目已经开弓了,我的解决方案就只有实时切换整个模型和动画这个笨办法了
如果有大佬看到这个帖子有其他更好的建议,请务必指点一下小弟!先谢过各位大佬了Orz

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淳杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值