@KonstantinDmitriev How are characters in a Text Layer rendered in Synfig? For example how does synfig use the data in text_layer.sif to render the characters in a text layer?
Lottie uses bezier curves to generate each unique character in the text present in the layer, but I could not understand how Synfig does it. I am attaching a snippet of the rendered lottie JSON file from After Effects 2020 to show the same -> text_layer.json
We discussed this offline and currently I don’t have knowledge as per how the characters are rendered. Can someone point as where this text layer rendering happens. @ice0@rodolforg
So we discussed this problem offline and I think Saurabh has found a way around and he will be able to implement this. @saurabh22 can you add more to this?
I guess this might not effect the lottie export for text layer, as the conversion is independent of the Synfig code. Please correct me if I am wrong here.
Yes, Lottie allows exporting of text-layers using two methods:
Directly including all characters in the json file as glyphs which ultimately leads to the json file becoming extra large in some cases.
Directly using text data which does not require us to bundle all the characters inside the json file.
I am currently using the second method as it is easier as well as efficient size-wise.
I have made some progress in making the text-layer in lottie format as well. Here is a sample animation →
I think you are right as I feel the important things needed to generate the lottie format file won’t be changed.
How was the last week? What did you accomplish? Added support for Text Layer with position and size animation.
Added tests for convert methods and gradient layers.
What is the #1 thing slowing you down? Documentation for lottie-web is not upto date and therefore to map properties there are confusions.
What do you want to have done by the end of next week? Get done with most of the things in text layer.
How was the last week? What did you accomplish? Added Text Layer support for nearly all the parameters in Synfig. The parameters not yet supported are Kerning,Sharpen and Invert which do not have support in Lottie.
What is the #1 thing slowing you down? Nothing as such this week except for trying to find workarounds for invert support.
What do you want to have done by the end of next week? Finish up documentation for Text Layer and start work on Blur layer. Planning to take up on bones in the second coding period as I believe it’ll take two weeks atleast.
How was the last week? What did you accomplish? Added support for blur layers for fast gaussian blur, gaussian blur, box blur, cross-hatch blur and disc blur. Note : Gaussian approximation is used for all blur types as only gaussian method is supported by Lottie.
What is the #1 thing slowing you down? Nothing as such this week.
What do you want to have done by the end of next week? Finish up the small details left in blur layer and complete its documentation. Also add Power, Vector X/Y convert methods.
How was the last week? What did you accomplish? Added documentation for Blur Layer and Convert methods. Most of the last week was spent in understanding bone convert which will the focus for the next two weeks.
What is the #1 thing slowing you down? Nothing particular
What do you want to have done by the end of next week? Start committing work on Bone Convert method.
@KonstantinDmitriev
I am trying to create bone_link functionality. I had some doubts over transformation. Suppose I have bone2 -> parent_bone . A simple_circle layer has its center linked to bone2 . I changed origin and angle of both bone2 and parent_bone. How will this transformation be calculated?
@KonstantinDmitriev Thank you for the video explanation ^___^ . I found it really helpful.
After seeing your video, I tried to write down the mathematical equations which would be required to calculate a circle’s center which is linked to child_bone. The parent of child_bone is called parent_bone . Can you please tell me if these mathematical equations that I wrote for calculating the circle center is correct or not ? If not, then do tell me where I am going wrong
The angles theta1 and theta2 shown in the picture below are bone_angles for parent_bone and child_bone respectively.