• 注册
  • 角色模型 角色模型 关注:1971 内容:319

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

  • 查看作者
  • 打赏作者
  • 当前位置: 七日杀中文网 > 角色模型 > 正文
  • 角色模型
  • 大版主
    Lv.6

    这期教程不包括任何环境的配置,默认你对unity有一定了解,自行准备好例如VCC和VRoidTo7DTDConverter的环境。(只需要在原VRoidTo7DTDConverter的环境里添加上VRChat的相关包就行,VCC可以直接添加,版本兼容)

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    这里建议你先至少会看过https://www.7risha.com/77008.html,你会发现下面的步骤基本上和那边是一样的,只不过在最后导出unity3d的时候我们巧妙地绕过VRM检查。为了方便理解,下面的步骤非常详细地一步一步地讲解,看上去很长,但是实际上如果你熟练了,只需要2分钟就能几乎无损在七日杀玩上原生的VRC模型。

    废话部分(可以跳过):

    通常我们拿到一个VRC模型的工程文件(例如.unitypackage),会提供一个fbx,以及制作好VRC动骨的prefab预制体。如果你尝试过按照原先的VRM流程,你会发现在export VRM0.x之后,prefab上面携带的非VRM系列的脚本都会被移除掉,这就导致你还需要额外设置VRM动骨,或者是用zender的转换器把VRC动骨转换烘焙一下,这非常麻烦,而且他的转换脚本疑似丢失了参数会导致碰撞体失效。

     

    而如果你有尝试过通过奇妙的手段绕过工程的转换步骤,直接尝试把VRC模型的prefab给打包,你又会发现在游戏里面,跳舞时人物的姿势很正常,但是走路的时候,人物的两只脚朝天,手臂也非常扭曲,就是一个四脚朝天的形象。这其实并不是模型的问题,而是CustomAvatars在尝试对模型做IK修正时的一个处理导致的,具体说起来有点麻烦,大概就是骨骼朝向的问题。

     

    而在我的alpha分支的alpha6版本,有两个非常重大的改动,使得现在我们可以直接在打包时,使用VRC的模型,这能够极大减轻使用VRC模型时转换的工作量(所以你可以试试如果不用我的alpha6以上的版本,看看所谓的四脚朝天是什么样的,蹲个截图反馈)。

    1.      Alpha6版本引入了VRC的原生动骨dll。这个dll是我把VRC的dll给移除了不适配七日杀的部分,并且修改了启动逻辑,使得它可以在七日杀(基本)正常使用
    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    2.      修正了原先的第三人称的FK、IK逻辑,使得模型骨骼axis,或者默认朝向等不会影响最终的表现,因此不会再出现四脚朝天的逻辑。

     

    转换教程:

    下面部分我们来简单(非常详细)阐述一下拿到一个VRC模型,我们怎么快速地转换到CustomAvatars-Alpha6以上的版本,并且能够直接使用VRC的原生动骨(需要mod文件夹内的dll支持)

     

    1.    拿到VRC模型
      拿到一个VRC模型工程文件,放到项目里面后可能是这样的:

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    将模型的prefab拖到左上角层级里面,然后我们改个名,改成你最终希望的名字。如果名字里面有小数点“.”,那么提前移除,尽可能确保名字不要有一些奇奇怪怪的符号

     【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    2.      导出为VRM,直接生成最终Avatar.Data

    工程会自动为我们自动处理好各种文件夹,以及创立好一个第一人称手臂(如果你想自定义也可以看前面几期教程https://www.7risha.com/78178.html):

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    设置成T-pose,,点击export

    3.      绕过导出检查

    这里原本(原教程)我们是应该删除层级里面的 /BA小涂真纪,然后把 Avatars/BA小涂真纪.Data/Exported 里面的prefab给拖到层级里面去调整。但是我们前面说了,这个prefab会丢失VRM系列以外的脚本,所以我们这里反而删掉Exported下面的VRM化的prefab,重新制作一个包含VRC动骨的prefab

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    重新找到原先VRC模型里面提供的prefab(最一开始的那个,带VRC动骨的),给它拖回层级里面,然后右键Unpack Completely

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    在unpack之后,不要忘了把名字给改成前面你决定的最终名字,此时场景里面同时有俩个物体,一个是VRM化的模型(我给挪到左边了,方便展示,通常不要动他),一个是原本的VRC模型(最好也设成T-pose,利用VRM Exporter里面的Make T-pose调一下骨骼位置就行):

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

     

    4.      调整第一人称的手臂,以及复制VRoid Metadata

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    你对比俩者,可以发现,我们的VRC模型缺少两个部分,第一人称手臂CustomArms物体和VRoid Metadata组件。我们只需要把VRoid Avatar MetadataVRM化的模型给复制到我们VRC模型上面,然后把CustomArms这个给复制到我们的VRC模型上面,实际上就OK了,然后其实已经能够直接打包导出来为unity3d文件了,不过我们最好还是调整一下

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    5.      导出成unity3d前检查(缩放、着色器等)

    我们这里在导出unity3d前,调整一下模型、手臂的缩放,先调一下模型的:

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    记得不要调模型本身(BA小涂真纪),以及模型髋部骨骼(Hips),而是调Armature,调完之后记得对应去VRoidAvatar Metadata调一下视线高度和Voice

    然后调一下手臂的缩放,把CustomArms点亮,然后调整第一人称的手臂的scale

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    调整手臂的时候,同样是调Armature,而不是调手臂本身以及Hips。这里强烈建议把第一人称手臂调更大一点,即使你喜欢把第三人称模型调的很小(比如你喜欢萝莉体型),但是第一人称的手臂缩放也可以无脑调到1.21.31.4,否则你的手臂必定会在第一人称下被拉伸扭曲,观感会很奇怪,所以这里建议至少比Reference的手臂更大一些(可以对着参考Reference一节一节调手臂、手指,大小越接近官方模型=观感越好,此外还可以删掉CustomArms里面多余的Render,可以提高一点帧数),调整完记得隐藏回去(点灭就行)

    6.      导出打包:

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    把刚刚设置好脚本、调整好缩放、调整好第一人称手臂的模型,拖拽到一开始我们删掉的VRM化的prefab的原位置,形成一个新的prefab,并且这里你可以自己替换掉同地方的_thumb.png缩略图,可以让你的模型的预览图片(以及多人联机时的好友头像)看上去更好看一些。然后再在层级里面选择prefab,点击export就可以打包出一个.unity3d文件了。如果这里export是灰色的,请务必确保你的prefab上面有VRoid AvatarMetadata,而不是VRM Metadata(如果有的话,移除这个组件)

     

    然后你进游戏,会发现模型可能完全看不见透明了,或者说模型很亮,这里有个非常简单的方法,就是在导出打包前,调整一下着色器的亮度上限,以及渲染队列:(对于liltoon来说,其他的着色器同理)

    1.      把所有材质的渲染队列提高1000

    2.      亮度上限调到0.3

    一个一个调还是太麻烦了,所以这里提供一个脚本批量自动调整:

    把下面提供这个.cs脚本放到你的项目的Editor文件夹下面就行,会出现这里两个调整的脚本自动化调整选项:

    【CustomAvatars/2分钟教程】导入VRC模型的终极解决方案

    lilToonShaderConverter.rar
    969 bytes,下载次数:33[记录]

    以上就是VRC模型的的转换步骤,实际上工程文件唯一起到的作用就是为你整理好文件夹结构,以及提供一个VRM化的第一人称手臂,如果你嫌上述过程麻烦,你可以自己写一个自动化脚本,把上述的过程也自动化,那么你的VRC模型导入到CustomAvatars-Alpha6以上的版本将只需要不到1分钟。如果在转换中遇到问题可以附带日志、截图、步骤等等在评论区回复。

    在进入游戏后,你可以检查原生VRC动骨是否正确运行,并且检查是否有骨骼错位等现象。在载入模型时可能会出现黄字警告,这是因为你可能没有完全去除VRC模型上面的无关脚本(例如VRC的VRCAvararDescrpition),但是实际上这些没有任何影响:一方面你可以自己手动移除,另一方面我也可以后续在dll里补上相关引用,实际使用是不会有任何性能、体验上的影响的。

    "点赞是美意,打赏是鼓励"

    大版主
    Lv.6

    红温了,怎么把我帖子截断了

    太累了,暂时歇一段时间了

  • Xenoph @4less 中文网小小的上下文token长度被我大大的帖子超爆了(确信)
    拉黑 1星期前 电脑端回复
  • 4less​因为token超过啦(确信)
    拉黑 1星期前 电脑端回复
  • 回复
    Lv.5

    前排留名!

    正好我最近也在试vrchat官网那个avatar包里的physbone能不能用,弹簧骨属实太难用了 [s-10]

    如果能在现有vrm里手动建立一套physbone就好了

  • ccuu67 @Xenoph 那敢情好 [s-75] 弄的那堆大裙子大飘带的模型可以试试
    拉黑 1星期前 电脑端回复
  • Xenoph @ccuu67 都可以的,这种小版本号应该没啥大的变动
    拉黑 1星期前 电脑端回复
  • ccuu67 @Xenoph 他不一定非得要VCC那个2022.3.22的unity吧?我用3.54的倒是也把vrc官网那个包给导进去了
    拉黑 1星期前 电脑端回复
  • 展开更多回复(共4条)
    回复


    脑子:会了吗?
    手:你十窍通了九窍

    回复

    6哇

    回复
    Lv.6
    赠送了礼物[豪宅]
    回复
    Lv.6

    伟大!

    回复

    good good

    回复
    赠送了礼物[火箭]
    回复
    Lv.3

    好好好 赞美大佬!! 终于不用修动骨了😭

    回复
    Lv.6
    赠送了礼物[天使棒]

    一个热爱七日杀生存模组开发和UI设计的mod制作爱好者

    回复

    请登录之后再进行评论

    登录
    • 大版主
    • 小版主
  • Momoka
    Momoka
    你不搬,我不搬,明天Asa就丸蛋
  • Xenoph
    Xenoph
    太累了,暂时歇一段时间了
  • 没有死的勇气
    没有死的勇气
    正式版了嘛?如正!
  • 停一停想一想
    停一停想一想
    品赛博烧鸡,做电子魅魔
  • 暂没有数据

    赞助广告位

  • 点击展示图片即可一键加入QQ群
    赞助广告:100R/月 目前空缺广告位:0

    分享网站

  • 繁体中文
  • 任务
  • 动态
  • 到底部
  • 帖子间隔 侧栏位置: