teihyun924

Spine_MultipleCanvas_Error_221121.JPG

Spine_MultipleCanvas_Error_Inspector_221121.JPG


▶ Problem situation
1. Trying to create a fade-in effect using multiple canvases (using SkeletonGraphic)
2. The original intention was to create the effect of water droplets spreading through water.
3. When the animation is executed, only some textures are displayed and an error log is recorded.
4. When I take Debug.Log() in SekeletonGraphic.cs, it shows that "var submeshMaterial == null" for some materials.
NullReferenceException: Object reference not set to an instance of an object
Spine.Unity.SkeletonGraphic.UpdateMaterialsMultipleCanvasRenderers (Spine.Unity.SkeletonRendererInstruction currentInstructions) (at Assets/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs:778)
Spine.Unity.SkeletonGraphic.UpdateMeshToInstructions () (at Assets/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs:690)
Spine.Unity.SkeletonGraphic.Rebuild (UnityEngine.UI.CanvasUpdate update) (at Assets/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs:286)
UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/CanvasUpdateRegistry.cs:215)
UnityEngine.Canvas:SendWillRenderCanvases()


▶ Version information
Spine Version : 4.1.15 PRO, Launcher: 4.1.10
Unity Version : 2020.3.33f1 (DX11)


1. This is the first time I've dealt with spine animation, so I don't think I could convey enough information. Please let me know if there is any information you need.
2. If there was a case similar to this, it is good to link the thread. If this does not work, I will contact you again.

-----


제목 : Multiple CanvasRenderers에서 submeshMaterial을 찾을 수 없습니다.

▶ 문제 상황
1. Multiple Canvas를 사용하여 페이드인 효과를 내려고 한다
2. 본래 의도는 여러 물방울이 물에 퍼지는 듯한 효과를 내려 했다.
3. 애니메이션을 실행하니 일부 텍스쳐만 표시되고 에러 로그가 찍힌다.
4. SekeletonGraphic.cs에서 Debug.Log()를 찍어보니 일부 Material에 대하여 var submeshMaterial == null 상태라고 뜬다.

▶ 버전 정보
Spine :
Client : Unity 2020.3.33f1 (DX11)

---

1. 스파인 애니메이션을 이번에 처음 다뤄서 정보를 충분히 전달하지 못했을 것 같다. 필요한 정보 있으면 말해 달라.
2. 이와 비슷한 사례가 있었다면 해당 쓰레드의 링크 걸어줘도 좋다. 해결이 안된다면 다시 문의하겠다.
You do not have the required permissions to view the files attached to this post.
teihyun924
  • Posts: 2

Harald

불편을 끼쳐드려 죄송합니다. 어떤 버전의 spine-unity 런타임('Assets/Spine/version.txt'에도 나열된 unitypackage의 이름)을 사용하고 있습니까?
Sorry to hear you're having troubles! Which version of the spine-unity runtime (name of the unitypackage, also listed in Assets/Spine/version.txt) are you using?
User avatar
Harald

Harri
  • Posts: 4459

teihyun924

I am using spine-unity-4.2-2022-10-10-beta.unitypackage!
Let me know if you need any other information. thank you:)

-----

spine-unity-4.2-2022-10-10-beta.unitypackage 를 사용하고 있습니다!
다른 정보가 필요하다면 알려주세요. 감사합니다:)
teihyun924
  • Posts: 2

Harald

정보 주셔서 감사합니다!
여전히 이 문제가 나타나는 최소한의 Unity 프로젝트를 보내주시겠습니까? zip 패키지로 contact@esotericsoftware.com으로 보낼 수 있습니다(컨텍스트를 알 수 있도록 이 포럼 스레드 URL을 간략하게 언급). 그러면 무엇이 잘못되었는지 살펴볼 수 있습니다.
-----
Thanks for the info!
Could you please send us a minimal Unity project that still shows this issue? You can send it as a zip package to contact@esotericsoftware.com (briefly mentioning this forum thread URL so that we know the context). Then we can have a look at what's going wrong.

=====

재생산 프로젝트를 보내주셔서 감사합니다. 4.1 및 4.2 베타 분기에서 문제를 수정했습니다. 새로운 spine-unity unitypackage는 평소와 같이 여기에서 다운로드할 수 있습니다.
spine-unity Download

spine-unity 런타임을 업그레이드한 후 문제가 있는 SkeletonDataAsset 파일이 포함된 폴더를 다시 가져오면 '_Multiply' 머티리얼이 추가로 생성됩니다.

새 버전으로도 문제가 해결되는지 알려주십시오. 신고해 주셔서 다시 한 번 감사드립니다!

나중에 참조할 수 있도록 이 문제는 다음 문제 티켓에서 추적되었습니다.
https://github.com/EsotericSoftware/spine-runtimes/issues/2201
----
Thanks for sending the reproduction project. We just fixed the issue on both 4.1 and 4.2-beta branches. New spine-unity unitypackages are available for download here as usual:
spine-unity Download

After upgrading the spine-unity runtime, please reimport the folder that contains your problematic SkeletonDataAsset file, then additional _Multiply materials will be generated.

Please let us know if the new version resolves the issue for you as well. Thanks again for reporting!

For later reference: this issue has been tracked under the following issue ticket:
https://github.com/EsotericSoftware/spine-runtimes/issues/2201

---

=====
누군가가 같은 문제에 직면하는 경우 원래 문제를 설명하려면 다음을 수행하십시오.
문제는 하나의 이미지가 여러 아틀라스 페이지 텍스처에 걸쳐 있는 시퀀스 첨부 파일이 사용된다는 점이었습니다. 일부 재료가 생성되지 않아 누락되었습니다.

따라서 '다중 CanvasRenderers'를 활성화하고 시퀀스 첨부를 사용하는 동안 SkeletonGraphic을 사용하여 런타임에 null 참조 예외가 발생하는 경우 최신 spine-unity 4.1 또는 4.2-베타 런타임을 설치하십시오. spine-unity 런타임을 업그레이드한 후 문제가 있는 SkeletonDataAsset 파일이 포함된 폴더를 다시 가져오면 이전에 누락된 혼합 모드 재료가 생성됩니다. 이렇게 하면 문제가 해결될 것입니다.
-----
To explain the original problem, in case anyone faces the same issue:
The problem was that sequence attachments are used, where the single images were spanning multiple atlas page textures, which was not correctly imported in earlier spine-unity versions before the bugfix. Some materials were not generated and therefore missing.

So if anyone encounters a null reference exception at runtime with SkeletonGraphic while having Multiple CanvasRenderers enabled and using sequence attachments, please install the latest spine-unity 4.1 or 4.2-beta runtimes. After upgrading the spine-unity runtime, reimport the folder that contains your problematic SkeletonDataAsset file, then previously missing blend mode materials will be generated. This should likely resolve the issue.
User avatar
Harald

Harri
  • Posts: 4459


Return to 한국어 Spine 사용자