【问题标题】:Parsing and editing a unity animation clip with RegEx使用 RegEx 解析和编辑统一动画剪辑
【发布时间】:2020-08-12 06:33:09
【问题描述】:

所以我设法创建了一个自定义编辑器窗口,它选择一个动画剪辑并将其所有文本读入一个字符串。现在我需要解析字符串以找出曲线计数和曲线映射,这样我就可以创建一个覆盖这些值的新文件。我感兴趣的字符串部分如下所示:

 m_PPtrCurves:
  - curve:
    - time: 0
      value: {fileID: 21300000, guid: 1fa82f3b0bb4e1f49ab9a9ffd4e891b1, type: 3}
    - time: 0.6
      value: {fileID: 21300000, guid: ae9111d826eb24442b21523b30b748bd, type: 3}
    - time: 0.6666667
      value: {fileID: 21300000, guid: 88840e4f59c4a6040922d9b6eed3dec3, type: 3}
    - time: 1.2333333
      value: {fileID: 21300000, guid: 88840e4f59c4a6040922d9b6eed3dec3, type: 3}
    - time: 2.0001667
      value: {fileID: 21300000, guid: ae9111d826eb24442b21523b30b748bd, type: 3}
    - time: 2.05
      value: {fileID: 21300000, guid: 1fa82f3b0bb4e1f49ab9a9ffd4e891b1, type: 3}
    - time: 3.1166666
      value: {fileID: 21300000, guid: 502fc97a961e4424ea008c0e546c83ef, type: 3}
    - time: 3.45
      value: {fileID: 21300000, guid: 1fa82f3b0bb4e1f49ab9a9ffd4e891b1, type: 3}
    attribute: m_Sprite
    path: 
    classID: 114
    script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}

还有:

 pptrCurveMapping:
    - {fileID: 21300000, guid: 1fa82f3b0bb4e1f49ab9a9ffd4e891b1, type: 3}
    - {fileID: 21300000, guid: ae9111d826eb24442b21523b30b748bd, type: 3}
    - {fileID: 21300000, guid: 88840e4f59c4a6040922d9b6eed3dec3, type: 3}
    - {fileID: 21300000, guid: 88840e4f59c4a6040922d9b6eed3dec3, type: 3}
    - {fileID: 21300000, guid: ae9111d826eb24442b21523b30b748bd, type: 3}
    - {fileID: 21300000, guid: 1fa82f3b0bb4e1f49ab9a9ffd4e891b1, type: 3}
    - {fileID: 21300000, guid: 502fc97a961e4424ea008c0e546c83ef, type: 3}
    - {fileID: 21300000, guid: 1fa82f3b0bb4e1f49ab9a9ffd4e891b1, type: 3}

现在我将完全诚实。在这种情况下,我对 RegEx 或如何构建它来帮助我一无所知。首先,我需要计算曲线以在我的自定义窗口中生成适当数量的项目,然后我需要用新曲线替换每条曲线的 guid 值。

【问题讨论】:

    标签: c# regex unity3d


    【解决方案1】:

    这只是一个 YAML 文件,不要尝试用 Regex 解析它,它会造成无法维护的混乱。

    添加YamlDotNet 之类的内容并通过简单、可读的面向对象接口而不是凌乱的正则表达式行来访问它(注意:我没有使用过 YamlDotNet,我的 YAML 经验是在 python 中)

    (我已经使用http://yaml-online-parser.appspot.com/ 测试了该文件以仔细检查其格式,解析得非常好)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-25
      • 2022-11-10
      • 2019-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      相关资源
      最近更新 更多