• Content Count

  • Joined

  • Last visited

  1. "Do not optimize animations" helped me a lot. To ensure that looping is correct I've added linear gaps between animation loops. But I agree that controlling the "baking" process (for example by specifying which frames to bake) is a must feature!
  2. There are a lot of new frames in .babylon! Animation is much smoother, but i still can see that it is jumping. I think that is because keyframes (150, 255 etc) are not in .babylon file. Maybe you can add a babylon param to the object that will indicate the step (in frames) of exported baked animation? For example every 10th or 5th frame. Then everybody will be able to create loops between frames that are multiplication of this param. It will solve this problem once and for all!
  3. Great! Now the animation is looped from frame 150 to 225. Can't you see that it is not smooth? For example you can look at lower right tentacle. It jumps. The ship is also jumping after slowly leaning backwards. But you can check the .max file and see that frames 150 and 225 are identical. I've showed you the part of exported file and mentioned that there is no information about animation between frames 71 and 350 in ship animation. This is the cause of bad animation in BabylonJS. Can you tell me, why there is no frames between 71 and 350 in .babylon file? I expect this question will help you understand what I'm talking about better Thank you for your patience!
  4. Scene saved for 3ds Max 2013 animation_with_loop.zip
  5. Your .babylon file is just the same as mine. So Exporter works the same for both of us But after putting this .babylon file in sandbox I realized that it plays the whole animation. But what I was saying is that when you play the whole animation - you can't notice problems. But if you will loop middle part of animation (150-225) you will see it. Let me be more specific. Here is part of an exported .babylon file: "name":"Ship","position":[0.0,0.0,0.0],"rotation":[0.0,0.0,0.0],"scaling":[1.0,1.0,1.0],"rotationQuaternion":[-0.0349,0.0,0.0,-0.9994],"actions":null,"animations":[{"name":"rotationQuaternion animation","property":"rotationQuaternion","dataType":2,"loopBehavior":1,"framePerSecond":60,"keys":[{"frame":0,"values":[-0.0349,0.0,0.0,-0.9994]},{"frame":1,"values":[-0.0396,0.0,0.0,-0.9992]},{"frame":14,"values":[-0.0867,0.0,0.0,-0.9962]},{"frame":27,"values":[-0.1065,0.0,0.0,-0.9943]},{"frame":36,"values":[-0.1014,0.0,0.0,-0.9948]},{"frame":56,"values":[-0.0439,0.0,0.0,-0.999]},{"frame":71,"values":[-0.0198,0.0,0.0,-0.9998]},{"frame":350,"values":[-0.0349,0.0,0.0,-0.9994]},{"frame":351,"values":[-0.038,0.0,0.0,-0.9993]},{"frame":384,"values":[-0.1041,0.0,0.0,-0.9946]},{"frame":417,"values":[-0.1031,0.0,0.0,-0.9947]},{"frame":450,"values":[-0.0349,0.0,0.0,-0.9994]}]}] It describes the animation of "Ship" object. You can see, that there is a huge gap between frame 71 and frame 350. But if you check the next image, which represents the actual Ship animation in 3ds max, you will see that there are key frames in that span. And animation is not linear. And if you loop from frame 150 to frame 225 you will get wrong animation in Babylon. Because there is no info in exported .babylon file about this range. Maybe I've send the wrong version of .max file last time. I'm attaching it again. It should have animation looped from 150 frame to 225 frame. animation_with_loop.zip
  6. This is my MAX scene. I've set the animation to auto loop so you can instantly export & run to see what I was talking about. animation_with_loop.zip
  7. Hi Luaacro! I will send you my scene 12 hours later (when I'll be at work). The Rotation Controller. And as far as I remember all other problematic animations are also Rotation Controllers, but I'm not sure, because they are a part of a complex animation with bones and IK and I never dug that deep.
  8. Babylon 3ds max exporter parses animation curves in a strange way. It ignores key frames and somewhat simplifies the curve. That is why some animations are exported totally wrong. It is not a big problem when you play the whole animation, but when you loop a part of it you can see the glitches (drifting, absence of animation with small value changes). I'm saying that this is exporter problem because I've opened exported .babylon file and found a strange animation data: my animation range is [300-450] but there is nothing in .babylon file about this range. There are frames before and after. That causes my object to drift from wrong value to another wrong value. I really need to find out a way to get all frames exported, or at least to set the distance between them. And remove the "simplification" that ignores animation with small values. Please, help!