- The Unreal Engine uses version 4.22.3
- Spin Runtime uses 3.7 Beta. Because of the addition of UMG widgets.
I have built and tested a simple sample after integration,
but after allocating memory, the allocation might fail.
<Test case>
- Play spine with umg
- Play spine from 3D Actor
- Play by adding a spine to the level sequence
- Skin change.
<call stack>
UE4Editor-Core.dll!rml::internal::ExtMemoryPool::initTLS(void) 알 수 없음
UE4Editor-Core.dll!scalable_realloc() 알 수 없음
UE4Editor-Core.dll!FMallocTBB::Realloc(void * Ptr, unsigned __int64 NewSize, unsigned int Alignment) 줄 134 C++
UE4Editor-Core.dll!FMemory::Realloc(void * Original, unsigned __int64 Count, unsigned int Alignment) 줄 52 C++
[인라인 프레임] UE4Editor-Engine.dll!TAlignedHeapAllocator<0>::ForAnyElementType::ResizeAllocation(int) 줄 273 C++
UE4Editor-Engine.dll!TArray<TStaticMeshVertexUVsDatum<FVector2DHalf>,TAlignedHeapAllocator<0> >::ResizeTo(int NewMax) 줄 2475 C++
[인라인 프레임] UE4Editor-Engine.dll!TArray<TStaticMeshVertexUVsDatum<FVector2DHalf>,TAlignedHeapAllocator<0> >::Reserve(int) 줄 2069 C++
UE4Editor-Engine.dll!TStaticMeshVertexData<TStaticMeshVertexUVsDatum<FVector2DHalf> >::ResizeBuffer(unsigned int NumVertices, EResizeBufferFlags BufferFlags) 줄 40 C++
UE4Editor-Engine.dll!FStaticMeshVertexBuffer::Init(unsigned int InNumVertices, unsigned int InNumTexCoords, bool bNeedsCPUAccess) 줄 52 C++
UE4Editor-Engine.dll!FStaticMeshVertexBuffers::InitFromDynamicVertex(FLocalVertexFactory * VertexFactory, TArray<FDynamicMeshVertex,FDefaultAllocator> & Vertices, unsigned int NumTexCoords, unsigned int LightMapIndex) 줄 561 C++
UE4Editor-ProceduralMeshComponent.dll!FProceduralMeshSceneProxy::FProceduralMeshSceneProxy(UProceduralMeshComponent * Component) 줄 147 C++
UE4Editor-ProceduralMeshComponent.dll!UProceduralMeshComponent::CreateSceneProxy() 줄 721 C++
UE4Editor-Renderer.dll!FScene::AddPrimitive(UPrimitiveComponent * Primitive) 줄 1146 C++
UE4Editor-Engine.dll!UPrimitiveComponent::CreateRenderState_Concurrent() 줄 534 C++
UE4Editor-Engine.dll!UActorComponent::RecreateRenderState_Concurrent() 줄 1340 C++
UE4Editor-Engine.dll!UActorComponent:😃oDeferredRenderUpdates_Concurrent() 줄 1410 C++
UE4Editor-Engine.dll!UWorld::SendAllEndOfFrameUpdates::__l2::<람다>() 줄 1032 C++
[인라인 프레임] UE4Editor-Engine.dll!UE4Function_Private::TFunctionRefBase<UE4Function_Private::FFunctionRefStoragePolicy,void __cdecl(void)>::operator()() 줄 614 C++
UE4Editor-Engine.dll!ParallelForWithPreWork(int Num, TFunctionRef<void __cdecl(int)> Body, TFunctionRef<void cdecl(void)> CurrentThreadWorkToDoBeforeHelping, bool bForceSingleThread) 줄 221 C++
UE4Editor-Engine.dll!UWorld::SendAllEndOfFrameUpdates() 줄 1047 C++
UE4Editor-Engine.dll!UReflectionCaptureComponent::UpdateReflectionCaptureContents(UWorld * WorldToUpdate, const wchar_t * CaptureReason, bool bVerifyOnlyCapturing) 줄 1045 C++
UE4Editor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) 줄 1628 C++
UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) 줄 403 C++
UE4Editor-Win64-DebugGame.exe!FEngineLoop::Tick() 줄 3967 C++
[인라인 프레임] UE4Editor-Win64-DebugGame.exe!EngineTick() 줄 62 C++
UE4Editor-Win64-DebugGame.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) 줄 168 C++
UE4Editor-Win64-DebugGame.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) 줄 261 C++
<watch>
- this 0x0000021b8cd50b80 (Name=0x000002190d06ded4 "SpineSkeletonRenderer") UProceduralMeshComponent * {UE4Editor-SpinePlugin-Win64-DebugGame.dll!USpineSkeletonRendererComponent}
- [USpineSkeletonRendererComponent] (Name=0x000002190d06ded4 "SpineSkeletonRenderer") UE4Editor-SpinePlugin-Win64-DebugGame.dll!USpineSkeletonRendererComponent
- UProceduralMeshComponent (Name=0x000002190d06ded4 "SpineSkeletonRenderer") UE4Editor-SpinePlugin-Win64-DebugGame.dll!UProceduralMeshComponent
- NormalBlendMaterial 0x0000021978a20100 (Name=0x0000021960e0227c "SpineUnlitNormalMaterial") UE4Editor-SpinePlugin-Win64-DebugGame.dll!UMaterialInterface * {UE4Editor-Engine.dll!UMaterial}
- AdditiveBlendMaterial 0x000002197cfda080 (Name=0x0000021960e0221c "SpineUnlitAdditiveMaterial") UE4Editor-SpinePlugin-Win64-DebugGame.dll!UMaterialInterface * {UE4Editor-Engine.dll!UMaterial}
- MultiplyBlendMaterial 0x000002197cfd8100 (Name=0x0000021960e0224c "SpineUnlitMultiplyMaterial") UE4Editor-SpinePlugin-Win64-DebugGame.dll!UMaterialInterface * {UE4Editor-Engine.dll!UMaterial}
- ScreenBlendMaterial 0x000002197cfc2080 (Name=0x0000021960e022ac "SpineUnlitScreenMaterial") UE4Editor-SpinePlugin-Win64-DebugGame.dll!UMaterialInterface * {UE4Editor-Engine.dll!UMaterial}
- atlasNormalBlendMaterials Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TArray<UMaterialInstanceDynamic *,FDefaultAllocator>
- pageToNormalBlendMaterial Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TMap<spine::AtlasPage *,UMaterialInstanceDynamic *,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<spine::AtlasPage *,UMaterialInstanceDynamic *,0> >
- atlasAdditiveBlendMaterials Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TArray<UMaterialInstanceDynamic *,FDefaultAllocator>
- pageToAdditiveBlendMaterial Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TMap<spine::AtlasPage *,UMaterialInstanceDynamic *,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<spine::AtlasPage *,UMaterialInstanceDynamic *,0> >
- atlasMultiplyBlendMaterials Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TArray<UMaterialInstanceDynamic *,FDefaultAllocator>
- pageToMultiplyBlendMaterial Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TMap<spine::AtlasPage *,UMaterialInstanceDynamic *,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<spine::AtlasPage *,UMaterialInstanceDynamic *,0> >
- atlasScreenBlendMaterials Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TArray<UMaterialInstanceDynamic *,FDefaultAllocator>
- pageToScreenBlendMaterial Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TMap<spine::AtlasPage *,UMaterialInstanceDynamic *,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<spine::AtlasPage *,UMaterialInstanceDynamic *,0> >
DepthOffset 0.100000001 float
- TextureParameterName 0x000002197264e21c "SpriteTexture" UE4Editor-SpinePlugin-Win64-DebugGame.dll!FName
- Color {R=1.00000000 G=1.00000000 B=1.00000000 ...} UE4Editor-SpinePlugin-Win64-DebugGame.dll!FLinearColor
bCreateCollision false bool
- worldVertices {_size=0 _capacity=2048 _buffer=0x0000021a1a5a14c0 {-17.0780182} } UE4Editor-SpinePlugin-Win64-DebugGame.dll!spine::Vector<float>
- clipper {triangulator={convexPolygons={_size=0 _capacity=0 _buffer=0x0000000000000000 {???} } _convexPolygonsIndices=...} ...} UE4Editor-SpinePlugin-Win64-DebugGame.dll!spine::SkeletonClipping
- UMeshComponent (Name=0x000002190d06ded4 "SpineSkeletonRenderer") UMeshComponent
- UPrimitiveComponent (Name=0x000002190d06ded4 "SpineSkeletonRenderer") UPrimitiveComponent
- OverrideMaterials Num=1 TArray<UMaterialInterface *,FDefaultAllocator>
- MaterialParameterCache {Pairs=Empty } TSortedMap<FName,UMeshComponent::FMaterialParameterCache,FDefaultAllocator,TLess<FName> >
bEnableMaterialParameterCaching false bool
bCachedMaterialParameterIndicesAreDirty true bool
- IInterface_CollisionDataProvider {...} IInterface_CollisionDataProvider
bUseComplexAsSimpleCollision true bool
bUseAsyncCooking false bool
- ProcMeshBodySetup 0x0000021923759000 (Name=0x0000021938125074 "BodySetup"_0) UBodySetup * {UE4Editor-Engine.dll!UBodySetup}
- ProcMeshSections Num=1 TArray<FProcMeshSection,FDefaultAllocator>
- CollisionConvexElems Empty TArray<FKConvexElem,FDefaultAllocator>
- LocalBounds {Origin={X=4.87440491 Y=1.05000007 Z=171.654266 } BoxExtent={X=132.183334 Y=1.05000007 Z=178.352768 } ...} FBoxSphereBounds
- AsyncBodySetupQueue Empty TArray<UBodySetup *,FDefaultAllocator>