m-r-davari / flutter_3d_controller

A Flutter package for rendering interactive 3D models in different formats(glb, gltf, fbx, obj), with ability to control animations, textures and camera.
https://pub.dev/packages/flutter_3d_controller
MIT License
79 stars 8 forks source link

No way to determine when controller is ready (model is loaded) #15

Open shegal opened 1 month ago

shegal commented 1 month ago

Problem: Need to play a specific animation and set camera to a specific position when model is loaded. Animations and positions are not same every time, so setting it via glb is not an option (if it's even possible for glb)

Possible solutions:

m-r-davari commented 1 month ago

Hi, About the callback which triggers after model loads completely, its good idea I will add it in next version, or if you can please do it and create PR. it will be a helpful

About initial animation and camera position you mentioned.

I also will add initial cameraTarget and initial cameraOrbit argument to the either Flutter3dController class or Flutter3DViewer widget

more info may be useful for you :

If you call the playAnimation() method without passing animation name and model has at least 1 animation, package will play first animation by default.

cameraTarget default value is = "auto auto auto" cameraOrbit default value is = "0deg 75deg 105%"

shegal commented 1 month ago

I actually tried to add callback by myself, but didn't manage to do it via existing dart code and I have zero experience with JS so again didn't manage to find a quick solution inside web views / model viewer.