Hitoshi

  • 26 de Mai de 2022
  • Entrou em 14 de Dez de 2017
  • ご連絡ありがとうございます
    日本語で安心して意思疎通ができるのでとても心強いです

    現在もMacBookProでエクスポートできていて、MacMiniへの移行の期限も決まっていないので問題ありません
    修正されることを期待してお待ちしております
    今後ともよろしくお願いいたします

  • こんにちは

    私たちのプロジェクトではSpine3.8とUnityを使用してiOS,Androidのアプリを運営しています

    新しいアニメーションを作成した時のフローは以下です
    1.デザイナーがSVNへSpineファイルをコミット
    2.ビルドマシンでUnity用のデータをエクスポート
    3.ビルドマシンでアセットバンドルを作成してCDNサーバーにアップロード

    これまでビルドマシンとしてMacBookProを使用してきましたが、MacMiniへ更新しようと考えています
    MacMiniは専用の棚に配置され、ディスプレイを接続することはできません

    ビルドマシンのMacMiniへリモートで接続した状態では動作していますが、リモート接続を切った状態で簡単なshellを使用してエクスポートを実行させるとエラーが発生します

    実はMacBookProでビルドしていた時もノートパソコンを閉じている状態では同様のエラーが発生していたため、常に開いた状態で使用していました

    Spineのバージョン指定をlatestにするとこのエラーが発生しないことは確認しています
    ですが、すでに数千以上のアセットをリリースしているため、4.0にバージョンを更新すると全てのデータについて再エクスポート、動作チェック、ユーザーの再ダウンロードが必要になってしまいます

    お手数をお掛けしますがバージョン3.8での修正をよろしくお願いします

  • Erikari. Thank you for your reply.

    Yes. I want to do that.
    But, it is stored absolute path after import json even if it stored relative path.
    I use json to adjust animation duration, add events and change skeleton scale.

  • Hi.
    I have many animations created by CLI import json command.

    These animations showed image folder path like "../../SharedTextures/" in my Spine editor.
    But. they showed absolute path when opened in other PC.

    After I edited image path manually and saved, it stored relative path correctly.
    I want to do this from command line.

  • Hi.I use shared atlases with many skeletons.
    I wrote shells to export atlases and skeletons separately, and put them in different directories.

    When new skeleton was imported, atlas warning dialog appeared every time.
    I want to suppress this.

    I always select "Import without atlases" and resolve assets references later.

    Thanks.

  • Hi. I found a bug.

    1. Create cloned skin by SkinUtilities.GetClonedSkin() cloneAttachments : true
    2. Get attachments by clonedSkin.GetAttachments().

    Returned attachments are not cloned. They are source skin's attachments.

    SkinUtilities.CopyTo reused source skin's key. it contains source attachment.

    destinationAttachments[e.Key] = e.Value.GetCopy(cloneMeshesAsLinked);

    Skin.GetAttachments returns attachments from key.

    Thanks.

  • Hi.
    AnimationReferenceAsset doesn't update animation reference, when SkeletonDataAsset was updated.
    It has old animation reference until I close the editor.

  • Hi. I got errors to call CreateAnimationReferenceAssets on Unity 2018.2.0f.
    I thought DirectorySeparatorChar would be wrong.
    But, I got same errors on Mac .

    Failed to create folder
    UnityEditor.AssetDatabase:CreateFolder(String, String)
    Spine.Unity.Editor.SkeletonDataAssetInspector:CreateAnimationReferenceAssets() (at Assets/Spine/spine-unity/Editor/SkeletonDataAssetInspector.cs:235)
    Spine.Unity.Editor.SkeletonDataAssetInspector:OnInspectorGUI() (at Assets/Spine/spine-unity/Editor/SkeletonDataAssetInspector.cs:203)
    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
    Parent directory must exist before creating asset at Assets/PathToAsset/ReferenceAssets/test.asset
    UnityEditor.AssetDatabase:CreateAsset(Object, String)
    Spine.Unity.Editor.SkeletonDataAssetInspector:CreateAnimationReferenceAssets() (at Assets/Spine/spine-unity/Editor/SkeletonDataAssetInspector.cs:247)
    Spine.Unity.Editor.SkeletonDataAssetInspector:OnInspectorGUI() (at Assets/Spine/spine-unity/Editor/SkeletonDataAssetInspector.cs:203)
    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
    UnityException: Creating asset at path Assets\PathToAsset/ReferenceAssets/test.asset failed.
    Spine.Unity.Editor.SkeletonDataAssetInspector.CreateAnimationReferenceAssets () (at Assets/Spine/spine-unity/Editor/SkeletonDataAssetInspector.cs:247)
    Spine.Unity.Editor.SkeletonDataAssetInspector.OnInspectorGUI () (at Assets/Spine/spine-unity/Editor/SkeletonDataAssetInspector.cs:203)
    UnityEditor.InspectorWindow.DrawEditor (UnityEditor.Editor[] editors, System.Int32 editorIndex, System.Boolean rebuildOptimizedGUIBlock, System.Boolean& showImportedObjectBarNext, UnityEngine.Rect& importedObjectBarRect) (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1374)
    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

    The problem was solved, I edited SkeletonDataAssetInspector .cs, line 235 .

    before:
    AssetDatabase.CreateFolder(parentFolder, AssetFolderName);
    after:
    AssetDatabase.CreateFolder(System.IO.Path.GetDirectoryName(parentFolder), AssetFolderName);

  • Thank you for your further advice!
    I implemented the technique and our game performance was considerably improved!!
    I am grateful for your support! 🙂

  • Sounds great! I'll try it.
    Thank you! 🙂

  • Thank you for your advices!
    I develop mobile app with unity 2018.1 and latest spine-unity 3.6 runtime.
    I'm sorry, I am prohibited to share our products. I took a screen shot.

    I made a test on iPodTouch 6th generation.

    I put 100 skeletons in scene. (at 3448 fps)
    I made a clone and edited json to change curve to linear. (at 3852 fps)
    I removed 3 unnecessary timeline from original json.(at 3753 fps)
    I changed curve to linear. (at 4155 fps)

    And I profiled this test.
    CurveTimeline.GetCurvePercent took 1.5%4% of CPU Time.

    I think it's not actually the bottle neck, but I was able to improve the performance a little.
    Thank you!