• Editor
  • float 값의 소수점 표현

Related Discussions
...

Spine 에디터에서 float 값의 소수점 표현 문제는 과거에도 여러 차례 논의된 바 있습니다. 예를 들어, 4.0 버전에서는 더 많은 소수점 자리를 표시할 수 있도록 개선되었지만, 큰 숫자의 경우 텍스트 상자에 맞추기 위해 소수점 자리가 줄어드는 문제가 있었습니다. 또한, JSON 데이터는 소수점 자리를 다르게 반올림하여 저장하는 반면, 바이너리 데이터는 더 정확하게 저장됩니다.

현재 4.2.33 버전에서 소수점 아래 여러 자리를 정확하게 표현하지 못하는 문제가 다시 발생하고 있다면, 이는 이전에 해결된 문제와 유사할 수 있습니다. 예를 들어, 4.0.20 버전에서는 소수점과 정밀도 문제를 해결하기 위해 많은 변경이 이루어졌습니다.

따라서, 최신 버전으로 업데이트하거나, JSON 대신 바이너리로 데이터를 내보내는 방법을 고려해 보실 수 있습니다. 또한, 에디터에서 소수점 자리를 더 많이 표시할 수 있도록 설정을 조정하는 방법도 있습니다.

자세한 내용은 다음 링크에서 확인할 수 있습니다:

event 키에서 float 값을 전달할 때 에디터 상에서 소수점 첫자리까지만 표현되며 반올림 되는것이 문제입니다. export 시에는 정확히 전달됨을 확인했습니다.

    Heavydust The current floating point rounding is intentional. You might want to check out Nate's response in the following thread, which Spinebot linked to:
    https://esotericsoftware.com/forum/d/16197-rounded-off-value-in-v4017/9

    What problems do you actually have with the editor only displaying decimal values to one digit? Our current behavior is based on the assumption that there should be few cases where a user needs a value with more than one digit, so if you can tell us specifically what you are having trouble with, we will look into it and consider changes if we determine that it is a reasonable case.

      Misaki 스케일이나 각도 등의 수치에서는 반올림이 맞을 수 있지만 이벤트 키로 전달하는 값은 그렇지 않다고 생각합니다. 구현시 필요한 세세한 시간이나 수치 등을 전달해야 하기 때문입니다. 소수점 아래에서 두세자리 정도만 더 표현되어도 좋을것 같네요.

      일단 테스트 해보니 0.55 처럼 소수점 아래 두번째 자리까지의 값을 입력한 경우 에디터에서 0.6으로 반올림 처리되어 나오지만 export 시 0.55 라는 수치 그대로 전달되므로 바로 문제가 생기지는 않습니다.
      소수점 아래 네번째, 다섯번째 자리까지도 export시 잘 전달 되었습니다.

      하지만 나중에 에디터 상에서 어떤 값을 전달했었는지 다시 확인하려 할 때 반올림 상태로 표현되기 때문에 문제가 생깁니다. 이전에 정확히 어떤 값을 사용했었는지 알수가 없습니다. 에디터에는 0.6으로 표현되어도 실제 데이터는 0.55인 상태가 발생합니다.

        I agree, I don't think we made this change for event float values purposefully. We'll change it to allow up to 5 decimal places, eg 1.23456.

        7 jours plus tard

        Heavydust We have just released Spine 4.2.34 with a fix for this issue. Currently, floating-point values can be specified up to 5 decimal places.

        Thank you for your valuable feedback!