BinaryCats

  • 10 set 2017
  • Si è iscritto 12 ott 2014
  • Nate ha scritto

    This big guy's walk animation is more of a slide

    Animating root motion is hard. which means getting the right root motion speed for characters is even harder. especially when these things can change on a drop of a hat. Our Zombies do use root motion, however they have a multiplier on that, so we can get them walking around at the right speeds. The plan was to go back and "bake" the multiplier into the animation, which would leave to a smooth 1:1 walk - whether we will have time to do this now is doubtful. This multiplier leads to zombies sliding around slightly, its barely noticeable on smaller guys... ill be sure to pass this comment onto the team though, hopefully we can get something sorted- even if it is just for the big guys


    We won several press awards from e3


     Loading Image


    WE HAVE ANNOUNCED A RELEASE DATE

    September 12 on PlayStation 4, Xbox One, PC and VR Platforms! Available to pre-order: £10.99/€13.49/$14.99

    If you preorder on steam or PlayStation (psn+) you get 10% off

    Steam: http://bit.ly/2vEcm9w
    PSN: http://bit.ly/2ue5BXf

  • yeah I know, but I don't have access to the source, and searching for partial things from memory on GitHub is a pain

  • 🙂 thanks for revealing your tricks

  • Hello,

    When you drag in a skeletonData Asset from the project window (unity), into the scene it makes a context menu asking you to select one of the two options.

    How you do that? ive been looking through the GitHub but cant find anything 🙁

  • well its not very clear when exporting. not everyone has time to read over the whole website to export a character. Maybe you should actually do something usful like display a warning message, rather than let any tom dick or harry click a tickbox?.......

  • On the left, we have a exported spinecharacter with strip whitespace X and Y, and on the right without any stripping.

     Loading Image

    if you chose whitespace stripping it distorts your meshes massively.

  • Hello,

    Is there a way you can define a mixing to value for all animations to one animation

    i.e.
     Loading Image

    I want to set the above fields to * Idle_Injured 0.2

    so all animations will blend to idle_injured with a mix time of 0.2.

    is this possible?

  • happy I could help 🙂

  •  Loading Image

  • We are currently doing this:

    Atlas[] atlasArray = m_SkeletonDataAssets[ix].GetAtlasArray();
    attachmentLoader = new AtlasAttachmentLoader(atlasArray);
    

    Your snippet does:

    AttachmentLoader attachmentLoader = new AtlasAttachmentLoader(skeletonDataAsset.atlasArray);
    

    And (with out version of the source at least) the skeletonDataAsset.atlasArray would just return an empty array:

    public AtlasAsset[] atlasAssets = new AtlasAsset[0];

    And it is specifically the GetAtlasArray() function which is currently causing us problems (as this goes off and starts parsing the atlas text file which ends up being very expensive, doing slow string parsing on quite a large set of files).

  • hey,

    We want to do the same thing. Was there any update to this topic?

  • yo,

    If you want to import json or binary data, when you select "import data" from the options menu, the open file window will popup. this window will list .json.txt files, but it will not list .skel.byte

    #stupidunity

  •  Loading Image
    where
    text = json,
    stripped = removed redundant skins (30 ish)

  • here is our performance increase, for our worse case spine file

     Loading Image
    where
    text = json,
    stripped = removed redundant skins (30 ish)

  • After some tests, you are correct.

    We are pooling our game objects, and it is still an issue.

    We reduced one skeleton from 500ms to 100ms, by removing uslless skins (yay). But we need this to be better, Does spine-unity fully support the binary format?


    29 Jun 2017, 11:27


    it would seem not. The bone array does not get filled out so index out of range happens here:
    BoneData boneData = skeletonData.bones.Items[ReadVarint(input, true)];

    the problem seems to be withnReadVarint returning 0 when loading the bones

    //bone
    for (int i = 0, n = ReadVarint(input, true); i < n; i++) {
       String name = ReadString(input);
       BoneData parent = i == 0 ? null : skeletonData.bones.Items[ReadVarint(input, true)];
       BoneData data = new BoneData(i, name, parent);
       data.rotation = ReadFloat(input);      
    data.x = ReadFloat(input) * scale; data.y = ReadFloat(input) * scale; data.scaleX = ReadFloat(input); data.scaleY = ReadFloat(input); data.shearX = ReadFloat(input); data.shearY = ReadFloat(input); data.length = ReadFloat(input) * scale; data.transformMode = TransformModeValues[ReadVarint(input, true)]; if (nonessential) ReadInt(input); // Skip bone color. skeletonData.bones.Add(data); }

    the bone array is never filled out.


    29 Jun 2017, 11:38


    the .skel file does load in the skeletonviewer


    29 Jun 2017, 12:20


    oh, you have to append the file with .bytes not .txt