GithubHelp home page GithubHelp logo

Comments (11)

Yusarina avatar Yusarina commented on June 17, 2024

Ok when you say aminations do you mean aminations in Blender or Unity are broken?

Adding this system could make translations take even longer, in fact I not sure how I would add this into the current translation system, however I am planning on cleaning the translation system up which I hope will improve the speed of translations, so I may try and add this in when I do that.

At the moment in time I will put this on a maybe unto I take a proper look at the translation system in cats. I got to be honest, it's one of the few systems in cats that I not touched yet as it's a kinda of a bigger task.

from cats-blender-plugin-unofficial-.

hanetzer avatar hanetzer commented on June 17, 2024

as in, .anim files one uses in unity. they're text yaml; attached is one of them (very simple). One minor nit is the attribute which shows the blend shape name is encoded using unicode escapes like blendShape.\u53E3_\u4E0B

Given a csv/similar and a small amount of python or even bash one could easily do some sed-like operations on all the animation files and be done with it quick fast and in a hurry.

%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_Name: "0Emote\u307B\u306B\u3083"
  serializedVersion: 6
  m_Legacy: 0
  m_Compressed: 0
  m_UseHighQualityCurve: 1
  m_RotationCurves: []
  m_CompressedRotationCurves: []
  m_EulerCurves: []
  m_PositionCurves: []
  m_ScaleCurves: []
  m_FloatCurves:
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 100
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u7167\u308C"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 54.6
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u7A4F\u3084\u304B_\u76EE"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 100
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u306B\u3063\u3053\u308A"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 100
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u3048"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 100
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u306A\u3054\u307F"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 100
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u03C9"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 61.3
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u53E3_\u4E0B"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 100
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u4E0B"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 0
        inSlope: Infinity
        outSlope: Infinity
        tangentMode: 103
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: useBlinkBlendshapes
    path: 
    classID: 114
    script: {fileID: 11500000, guid: e197bf28ecd22dd4ea1528dbc81dfe70, type: 3}
  m_PPtrCurves: []
  m_SampleRate: 60
  m_WrapMode: 0
  m_Bounds:
    m_Center: {x: 0, y: 0, z: 0}
    m_Extent: {x: 0, y: 0, z: 0}
  m_ClipBindingConstant:
    genericBindings:
    - serializedVersion: 2
      path: 0
      attribute: 3525843105
      script: {fileID: 11500000, guid: e197bf28ecd22dd4ea1528dbc81dfe70, type: 3}
      typeID: 114
      customType: 0
      isPPtrCurve: 0
    - serializedVersion: 2
      path: 2270107833
      attribute: 1428606972
      script: {fileID: 0}
      typeID: 137
      customType: 20
      isPPtrCurve: 0
    - serializedVersion: 2
      path: 2270107833
      attribute: 592780099
      script: {fileID: 0}
      typeID: 137
      customType: 20
      isPPtrCurve: 0
    - serializedVersion: 2
      path: 2270107833
      attribute: 1438629341
      script: {fileID: 0}
      typeID: 137
      customType: 20
      isPPtrCurve: 0
    - serializedVersion: 2
      path: 2270107833
      attribute: 2501776883
      script: {fileID: 0}
      typeID: 137
      customType: 20
      isPPtrCurve: 0
    - serializedVersion: 2
      path: 2270107833
      attribute: 1701728247
      script: {fileID: 0}
      typeID: 137
      customType: 20
      isPPtrCurve: 0
    - serializedVersion: 2
      path: 2270107833
      attribute: 2581586682
      script: {fileID: 0}
      typeID: 137
      customType: 20
      isPPtrCurve: 0
    - serializedVersion: 2
      path: 2270107833
      attribute: 2137394197
      script: {fileID: 0}
      typeID: 137
      customType: 20
      isPPtrCurve: 0
    - serializedVersion: 2
      path: 2270107833
      attribute: 131915638
      script: {fileID: 0}
      typeID: 137
      customType: 20
      isPPtrCurve: 0
    pptrCurveMapping: []
  m_AnimationClipSettings:
    serializedVersion: 2
    m_AdditiveReferencePoseClip: {fileID: 0}
    m_AdditiveReferencePoseTime: 0
    m_StartTime: 0
    m_StopTime: 0
    m_OrientationOffsetY: 0
    m_Level: 0
    m_CycleOffset: 0
    m_HasAdditiveReferencePose: 0
    m_LoopTime: 0
    m_LoopBlend: 0
    m_LoopBlendOrientation: 0
    m_LoopBlendPositionY: 0
    m_LoopBlendPositionXZ: 0
    m_KeepOriginalOrientation: 0
    m_KeepOriginalPositionY: 1
    m_KeepOriginalPositionXZ: 0
    m_HeightFromFeet: 0
    m_Mirror: 0
  m_EditorCurves:
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 100
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u7167\u308C"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 54.6
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u7A4F\u3084\u304B_\u76EE"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 100
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u306B\u3063\u3053\u308A"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 100
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u3048"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 100
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u306A\u3054\u307F"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 100
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u03C9"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 61.3
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u53E3_\u4E0B"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 100
        inSlope: 0
        outSlope: 0
        tangentMode: 136
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: "blendShape.\u4E0B"
    path: Body
    classID: 137
    script: {fileID: 0}
  - curve:
      serializedVersion: 2
      m_Curve:
      - serializedVersion: 3
        time: 0
        value: 0
        inSlope: Infinity
        outSlope: Infinity
        tangentMode: 103
        weightedMode: 0
        inWeight: 0
        outWeight: 0
      m_PreInfinity: 2
      m_PostInfinity: 2
      m_RotationOrder: 4
    attribute: useBlinkBlendshapes
    path: 
    classID: 114
    script: {fileID: 11500000, guid: e197bf28ecd22dd4ea1528dbc81dfe70, type: 3}
  m_EulerEditorCurves: []
  m_HasGenericRootTransform: 0
  m_HasMotionFloatCurves: 0
  m_Events: []

from cats-blender-plugin-unofficial-.

Yusarina avatar Yusarina commented on June 17, 2024

Ok I get ya.

Let me look at the current code properly and I get back to you here.

from cats-blender-plugin-unofficial-.

Yusarina avatar Yusarina commented on June 17, 2024

Hey there!

Just to let you know that exporting a csv with what you want is possible with the current translate system, I have a working proptotype which i kinda just bolted on however I want to do this correctly so this is what going to happen.

1: There will be a new setting in settings and updates which will be called "Export CSV file of translations fior shapekys"
2: This will be off by default to prevent this from generating for everyone.
3: If enabled it will export a CSV file of translations to your Documents/cats/shapekeys.csv

I hope to have this on the 3.6 dev branch in the next hour or so.

from cats-blender-plugin-unofficial-.

Yusarina avatar Yusarina commented on June 17, 2024

Update is now live in version 3.6 dev, feel free to test it out.

A 4.0 dev branch update is soon to follow.

Please note this won't be pushed to stable/ release for abit though and will only be in the dev branches for the time being.

from cats-blender-plugin-unofficial-.

Yusarina avatar Yusarina commented on June 17, 2024

Update is now live on 3.6, 4.0 and 4.1 dev branch. Let me know what you think!

To re-cap

1: There is a new setting in settings & updates which will be called "Export Shape Keys Translations CSV"
2: This will be off by default to prevent this from generating for everyone, so turn it on for it to work.
3: If enabled it will export a CSV file of translations for shape keys to your Documents/cats/shapekeys.csv

from cats-blender-plugin-unofficial-.

hanetzer avatar hanetzer commented on June 17, 2024

Very nice; however, it'd maybe be nice to have the file be named per blend, so like, AvatarName.blend->AvatarName.csv, to prevent accidental clobbering.

from cats-blender-plugin-unofficial-.

Yusarina avatar Yusarina commented on June 17, 2024

Should be doable, I add it tomorrow.

from cats-blender-plugin-unofficial-.

Yusarina avatar Yusarina commented on June 17, 2024

The above has been done.

When exporting translations to csv for shapekeys it will save as the current blend file name, if there isn't a save file it will error out asking the user to save the blend file. If the option is disabled translations will work regardless of the file being saved or not.

from cats-blender-plugin-unofficial-.

hanetzer avatar hanetzer commented on June 17, 2024

Quite good :)

from cats-blender-plugin-unofficial-.

Yusarina avatar Yusarina commented on June 17, 2024

This has now been released into version 3.6.6.3 for Blender 3.6 and version 4.0.4.2 for Blender 4.0.

Closed this request, if there anything else to do with this request feel free to re-open.

Thanks!

from cats-blender-plugin-unofficial-.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.