• 注册
  • Mod制作 Mod制作 关注:134 内容:8

    videoplayer组件实现动态皮肤(多图)

  • 查看作者
  • 打赏作者
    • 10
    • Mod制作
    • 略有小成
      VIP2

      此贴为新动态皮肤的实现方法,之前办法有应用局限性没有公开.但现在是时候公布新的方法了.

      为此你需要用到unity 2018,uabe和任意一款编辑16进制的软件

      (2019版本ab包需要使用uabea,但uabea目前不支持导入videoplayer转存,所以你需要先在2018导入转存导出dat再使用uabea导入2019版本ab包)


      主要步骤:

      1:打包带有videoplayer组件的ab包并使用uabe导出videoplayer转存

      2:打包用于替换纹理ab包的视频纹理ab包(视频使用webm格式,因为它可以携带透明通道)

      3:在物品json里Prefab使用的ab包里手动创建videoplayer组件.在GameObject里添加组件的pathid并导回

      4:videoplayer转存填写VideoClip的m_FileID,GameObject的pathid并导入

      5:使用16进制编辑器更改依赖


      详细步骤:

      主要步骤1

      videoplayer组件实现动态皮肤(多图)videoplayer组件实现动态皮肤(多图)

      创建一个带有videoplayer组件的cube并选择需要播放的视频或者url.

      Render Mode Material Override它会把视频映射到当前GameObject里Mesh Renderer里所有材质的_MainTex主纹理或其他比如_EmissionMap自发光纹理(别忘了开Loop)

      同时你可以让组件播放音频,不过音量衰减不能很好的调整.


      主要步骤2

      videoplayer组件实现动态皮肤(多图)

      预览图不会渲染视频,为了使预览图看起来正常,你也得在视频纹理ab包中加入纹理并在材质更新它的pathid

      打包(把视频纹理与cube分开打)

      videoplayer组件实现动态皮肤(多图)

      从cube导出videoplayer转存之后会需要

      主要步骤3

      videoplayer组件实现动态皮肤(多图)videoplayer组件实现动态皮肤(多图)

      列如m4a1,找到Prefab所使用的container ab包,创建videoplayer 组件0x00000148,记住Pathid

      videoplayer组件实现动态皮肤(多图)videoplayer组件实现动态皮肤(多图)

      导出需要添加组件的GameObject转存,只需要路径model.generated就好,记住Pathid

      videoplayer组件实现动态皮肤(多图)videoplayer组件实现动态皮肤(多图)videoplayer组件实现动态皮肤(多图)

      GameObject转存按照格式写到下面,PathID填新添加的videoplayer组件的PathID,别忘了items and size+1,并导回


      主要步骤4

      videoplayer组件实现动态皮肤(多图)videoplayer组件实现动态皮肤(多图)videoplayer组件实现动态皮肤(多图)

      现在可以填写video player组件的转存了,GameObject填model.generated的Pathid

      VideoClip的m_FileID可以查看材质里引用纹理ab包的m_FileID,这里是9

      videoplayer组件实现动态皮肤(多图)videoplayer组件实现动态皮肤(多图)

      填好后把转存导入创建的videoplayer,保存ab包


      主要步骤5

      已经差不多完成了,GameObject会加载videoplayer组件,而videoplayer组件会从视频纹理ab包获取视频.

      现在就是通过更改container ab包依赖.使纹理ab包的CAB,替换为我们的视频纹理ab包CAB

      videoplayer组件实现动态皮肤(多图)videoplayer组件实现动态皮肤(多图)

      先找到纹理ab包的CAB

      videoplayer组件实现动态皮肤(多图)

      获取我们纹理视频ab包的CAB

      videoplayer组件实现动态皮肤(多图)

      在全部替换掉就可以了


      现在你的ab包可以实现动态皮肤了,bundle.json依赖加载引导需要自行编写

      初窥堂奥
      打赏了25金币
    • 拉黑 1星期前 电脑端回复
    • 回复
      渐入佳境
      VIP3
      2021
      打赏了66金币
    • 拉黑 1星期前 手机端回复
    • 回复
      初窥堂奥

      来个小插曲,其实我跟萱苏还有一位JET端的mod作者一起按照kmyuhkyuk大佬给的思路倒腾了一周,最终才算完全实现动态效果,所以为啥大佬现在才发教程 [s-31]

    • kmyuhkyuk [s-70] 因为没试过
      拉黑 1星期前 手机端回复
    • 回复
      初窥堂奥
      打赏了15金币
      回复

      强的,

    • 拉黑 1星期前 手机端回复
    • 回复
      登堂入室

      牛啊

      回复

      请登录之后再进行评论

      登录
      离线版教程
    • 今日 0
    • 内容 546
    • 关注 134
      • 版主
      • 见习版主
    • 坐标交叉的星云
      坐标交叉的星云
      El Psy Congroo喵!
    • 燐
      老咸鱼一条,修改狂人
    • _物是人非
      _物是人非
      超级模块作者
    • 暂没有数据

    • 签到
    • 做任务
    • 发表内容
    • 偏好设置
    • 帖子间隔 侧栏位置: