 Good evening, everyone. We just saw the commendable work with Javifex and Clicker software teams have done. Now, we, being the extendable educational systems team, or rather the Blender group, as we call it, we would like to show what we have contributed to the Blender software. You all know that Blender is a 3D graphics application. It's used for lots of purposes, UV, unwrapping, texturing, whatever. But then the most important applications are animation, making animation movies, and, of course, games. And we are here to show the educational animations that we have implemented with the GUI that our group has made. Blender basically works with Python. It basically works with Python. Python being a very good environment, programming, high-level programming language to work with. And Blender and Python come together in a documented form, Blender API applications, the documentations, which have lots of modules, packages, as well, which give you lots of functions, which are used for additional tool-making purposes. Now, we have made a GUI for the users, for the native users, basically. And this GUI, it contains a password window, which takes the password for the MySQL application, and a main window, which contains a list of blend files. The whole list of all blend files present in our current system. And there is a search engine too, a special feature to extract whatever version of blend file that we currently need to use. And we have the objects window, which has all the declared modifiable objects of the blend file, and all the attributes of the blend file as well. I mean, the objects, all the attributes of the objects. And we have xml file import facility to import all the values and attributes of the objects, basically. And now, we have actually stored all the object attribute values and everything in an xml file. The xml file, because there's an xml parser in Python, which has this tag element handler, element handler, and character data handler functions. These are used for this tag, and n tag, and collecting the data. These data, it has been converted into a form of list, which we are using out here, to extract into the blend file. Now, we have used the Blender API documentation to re-blend the whole blend file that we have obtained, according to the user's changed attributes, the modified attributes, basically. So we have used some of the IPO modules and other render modules that are available already in the Blender API documentation for this purpose. And the best part about this is that here we have a provision to add a logic file. If each animation has a unique logic file, we can include that to this whole system and coordinate with it. So it can work for each unique animation as well. And here, we have done one more important job. That is, we have used it for a set of frames. It's like for an animation, the user gives a start on the end frame, and the whole changes are reflected from the whole lot of existing frames from the start to the end. And this can be rendered as well. In a sense, the basic problem with the Blender application right now is that you don't have any button or anything which can directly render the AVR format of this Blender file. So here we have the application where the number of frames can be specified, the start and the end frame of each Blender file, and beat whatever. If you want one minute of the animation, so you can give the corresponding frames, and it will directly render the AVR file for the corresponding Blender file. So we have the video version of the Blender file which can be viewed anywhere with all the media players. And the last part is the saving of the modified Blender file. This is for the database purposes. Here, we have saved the Blender file in a purple format. It's like if the name of our file is a dc.blender, the saved modified version would be a dc-1.blender. This has been here used because we want it to be in a version format. If someone wants to access a particular Blender file or change a Blender file, he can see that change has already been implemented in one of those versions. If not, then he can create a new version of the Blender file. So it reduces the task of the person who wants to access it. So that's what we have done in a brief format. And now we'd like to show you working of our project. I call upon Anish for you. Thanks. Basically, the aim of our project was to allow the user to change the animation dynamically when he sees the animation. Suppose he has an animation of a math animation to show how 3 plus 4 is equal to 7. But now he wants to show an animation to show 4 plus 4 is equal to 8. Traditionally, what he has to do is he has to go to the animator and tell him to make a new animation. But now what we have done is we have given a GUI to the user where he can change the values of 3 and 4 to 4 and 4. And accordingly, the result will be shown. But there should be a limit and a control over what the user can put its input as. So what we have done is we have made a GUI for the animator so that he can put conditions and limits as in the range what the user can put when he puts the value in the GUI. So we show the GUI that we have made for the user, the animator. This is the animation to show that 3 plus 4 plus 3 is equal to 7. First we will input the blend file description. What is the blend file all about? This will input as it's a math description blend file. Just take it towards the left. Now we'll select the objects which are allowed to be changed when the user receives the GUI. So we'll select 3, 4 plus and 7. That's not 7. Shift it to the last frame. We will also select 7. Click select. It'll show all the objects. These are the four objects we've selected. Now we'll try to change the parameters of each object. Suppose we click the first object, the font 004. Now we have the options to set the range for each attribute of that object, the location in the x direction, the location in the y direction, the location in the z direction, rotation, size, et cetera. If it's a text object, then we have the option to say whether the text of that object can be changed or not. So to activate whether the text can be changed by the user, we have to click activate. So now when the XML file is created, the tag of text changeable is added into the XML file. Now we'll set the range of location x, reduce it, reduce it. So the minimum value is set as 1 and maximum value we set as 3. So the current value is 2.5 something, but the minimum value can be 1 and maximum value can be 3. Like that we can change it for all. Now we'll save the frame. This all these changes have been made in a particular frame. So we'll first save the frame changes, save frame. Now we can change the frame and make the changes in that frame also, supposing that if we change the frame the timeline. This is a new frame. Now we can change the range in this frame also. Now suppose again we change the frame of location x in this frame, save frame. And now we'll save the entire thing and we'll exit, save and exit. So now we are left with the other three objects that we had selected initially. For the timing, we'll show only one more object. Just select one more object and show it fast. We'll again change the minimum value. Fine. Save frame and save and exit. So now we are left with these two objects. We'll just go a little fast. We'll click done. Now we have an option to add a logic, whether you want to do a plus or a minus or a multiplication. So we'll select a logic file after getting the add logic, dumbo logic. So now we'll put the logic file description as to what the logic is all about. We'll say it's a math logic and the logic name is math. Now we need to select the objects which are the operands in our animation. So 4 and 3 are the objects which are the operand objects. So we'll select 4 and 3 and click the select operands button. The result object will be the object 7, change the frame. These are the possible options of the operators that can be used plus, minus, multiplication, division, and all. Now the result object is the object 7. And we'll select the operator object. That is we need to change this text also. That is whether it has to be plus or minus. So we'll select that operator object as well. Click on done. So we can add as many logic as we want. This is just one logic. It will show the new logic with its own ID. We'll click exit. As soon as we click exit, an XML file of all the data the animator has given for the range will be stored in that XML file. And the name of the XML file will be the name of the blend file that was opened initially. So this is the XML file with all the contents that we had given initially. The maximum value, the minimum value rotation, and all for each object, for each frame. Then we'll have the logic part as well. The file size can go in MBs. But the parsing of XML file is very fast. So it doesn't matter. We have the logic part as well in it, which describes we have the ID. If we add one more logic, the ID will become 2. So we can add as many logic as we want in one particular animation. Once we have this XML file, it will be given to the user GUI where it can use the contents and put it into the database. That part will be shown by my friend Aditya.