2d-inc/Flare-Flutter

IK Constraints not working

mario202k opened this issue · 4 comments

Before null safety, IK Constraint works, now my characters are like dismembered. I check on Flare, it's ok, but not on my app.
Am I alone on this issue?

I gave this a try with one of my files with IK and everything seems to be working. Could you send me a link to the file that's not working?

@mario202k I have the same problem after upgrading to null safety versions of flare_flutter (3.0+). Did you find a solution?

@mikeesouth @mario202k have either of you found a solution yet? just ran into this issue while trying to use several different files with IK and after upgrading to the null safety versions, and certain characters have their limbs moving off screen.

@luigi-rosso if you'd be able to take a look, I could send you a file. please let me know, thank you.

Full error stack logs are below:

════════ Exception caught by rendering library ═════════════════════════════════
The following IndexError was thrown during paint():
RangeError (index): Index out of range: index should be less than 18: 18

The relevant error-causing widget was
FlareActor
lib/pages/login_screen.dart:42
When the exception was thrown, this was the stack
#0      Float32List.[] (dart:typed_data-patch/typed_data_patch.dart:2735:7)
#1      CubicPathPoint.skin (package:flare_flutter/base/path_point.dart:83:22)
#2      ActorPath.deformedPoints (package:flare_flutter/base/actor_path.dart:186:26)
#3      FlutterPathPointsPath._makePath (package:flare_flutter/flare.dart:1234:27)
#4      FlutterPathPointsPath.path (package:flare_flutter/flare.dart:1219:12)
#5      FlutterActorShape.path (package:flare_flutter/flare.dart:848:43)
#6      FlutterActorShape.getRenderPath (package:flare_flutter/flare.dart:879:12)
#7      FlutterActorShape.draw (package:flare_flutter/flare.dart:864:26)
#8      FlutterActorArtboard.draw (package:flare_flutter/flare.dart:196:44)
#9      FlareActorRenderObject.paintFlare (package:flare_flutter/flare_actor.dart:421:15)
#10     FlareRenderBox.paint (package:flare_flutter/flare_render_box.dart:242:5)
#11     RenderObject._paintWithContext
package:flutter/…/rendering/object.dart:2403
#12     PaintingContext.paintChild
package:flutter/…/rendering/object.dart:189
#13     RenderProxyBoxMixin.paint
package:flutter/…/rendering/proxy_box.dart:140
#14     RenderObject._paintWithContext
package:flutter/…/rendering/object.dart:2403
#15     PaintingContext.paintChild
package:flutter/…/rendering/object.dart:189
#16     RenderBoxContainerDefaultsMixin.defaultPaint
package:flutter/…/rendering/box.dart:2792
#17     RenderFlex.paint
package:flutter/…/rendering/flex.dart:1078
#18     RenderObject._paintWithContext
package:flutter/…/rendering/object.dart:2403
#19     PaintingContext.paintChild
package:flutter/…/rendering/object.dart:189
#20     RenderShiftedBox.paint
package:flutter/…/rendering/shifted_box.dart:79
#21     RenderObject._paintWithContext
package:flutter/…/rendering/object.dart:2403
#22     PaintingContext.paintChild
package:flutter/…/rendering/object.dart:189
#23     RenderShiftedBox.paint
package:flutter/…/rendering/shifted_box.dart:79
#24     RenderObject._paintWithContext
package:flutter/…/rendering/object.dart:2403
#25     PaintingContext.paintChild
package:flutter/…/rendering/object.dart:189
#26     _RenderColoredBox.paint
package:flutter/…/widgets/basic.dart:7530
#27     RenderObject._paintWithContext
package:flutter/…/rendering/object.dart:2403
#28     PaintingContext.paintChild
package:flutter/…/rendering/object.dart:189
#29     RenderBoxContainerDefaultsMixin.defaultPaint
package:flutter/…/rendering/box.dart:2792
#30     RenderCustomMultiChildLayoutBox.paint
package:flutter/…/rendering/custom_layout.dart:408
#31     RenderObject._paintWithContext
package:flutter/…/rendering/object.dart:2403
#32     PaintingContext.paintChild
package:flutter/…/rendering/object.dart:189
#33     RenderProxyBoxMixin.paint
package:flutter/…/rendering/proxy_box.dart:140
#34     _RenderInkFeatures.paint
package:flutter/…/material/material.dart:554
#35     RenderObject._paintWithContext
package:flutter/…/rendering/object.dart:2403
#36     PaintingContext.paintChild
package:flutter/…/rendering/object.dart:189
#37     RenderProxyBoxMixin.paint
package:flutter/…/rendering/proxy_box.dart:140
#38     PaintingContext.pushLayer
package:flutter/…/rendering/object.dart:392
#39     RenderPhysicalModel.paint
package:flutter/…/rendering/proxy_box.dart:1929
#40     RenderObject._paintWithContext
package:flutter/…/rendering/object.dart:2403
#41     PaintingContext.paintChild
package:flutter/…/rendering/object.dart:189
#42     RenderProxyBoxMixin.paint
package:flutter/…/rendering/proxy_box.dart:140
#43     RenderObject._paintWithContext
package:flutter/…/rendering/object.dart:2403
#44     PaintingContext.paintChild
package:flutter/…/rendering/object.dart:189
#45     RenderProxyBoxMixin.paint
package:flutter/…/rendering/proxy_box.dart:140
#46     RenderObject._paintWithContext
package:flutter/…/rendering/object.dart:2403
#47     PaintingContext._repaintCompositedChild
package:flutter/…/rendering/object.dart:141
#48     PaintingContext.repaintCompositedChild
package:flutter/…/rendering/object.dart:100
#49     PipelineOwner.flushPaint
package:flutter/…/rendering/object.dart:973
#50     RendererBinding.drawFrame
package:flutter/…/rendering/binding.dart:499
#51     WidgetsBinding.drawFrame
package:flutter/…/widgets/binding.dart:883
#52     RendererBinding._handlePersistentFrameCallback
package:flutter/…/rendering/binding.dart:363
#53     SchedulerBinding._invokeFrameCallback
package:flutter/…/scheduler/binding.dart:1145
#54     SchedulerBinding.handleDrawFrame
package:flutter/…/scheduler/binding.dart:1082
#55     SchedulerBinding._handleDrawFrame
package:flutter/…/scheduler/binding.dart:996
#59     _invoke (dart:ui/hooks.dart:150:10)
#60     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:270:5)
#61     _drawFrame (dart:ui/hooks.dart:114:31)
(elided 3 frames from dart:async)
The following RenderObject was being processed when the exception was fired: FlareActorRenderObject#683dd
RenderObject: FlareActorRenderObject#683dd
    parentData: <none> (can use size)
    constraints: BoxConstraints(0.0<=w<=330.0, h=300.0)
    size: Size(330.0, 300.0)
════════════════════════════════════════════════════════════════════════════════

@pattobrien sorry, I didn't find any (good) solution to this. I imported my model into Rive, fixed some problems that occured and migrated to the Rive packages for Flutter (rive instead of flare_flutter iirc). IK Constraints works for me this way but I couldn't get it to work with the Flare file / flare libs.