How would you like the feature to work?
Proposal Description.
Implementation of scripts to experiment with the following functions.
Partial playback of animation (setting start and stop times), EaseIn, EaseOut, Looping, LoopIn, LoopOut, Bone information, and Priority override.
Preloading of animations and confirmation of their completion.
Why is this feature important to you? How would it benefit the community?
SL's animation playback scripts have remained very primitive and unchanged for the last 20 years.
I think it is time to add new functionality, and this time I would like to propose the implementation of a new script that can be executed on the viewer side.
(This is a function that should be executed on the server side, but since the scale of the modification is likely to be large, I am daring to propose something that can be executed on the viewer side this time.)
This year SL has been able to obtain beautiful screens by supporting PBR Materials, and I would like the next step to improve the animations.
Problems.
Currently, it is difficult to prepare the necessary animations, except for users who can create their own animations.
This leads to the purchase of commercially available animations, but in such cases, it is rarely necessary to use everything from the beginning to the end of the animation.
Scripts can make the animation stop early, but what is really needed is only part of the way through, and only some of the bones of the animation.
For this reason, I have long felt the need for a function that would allow me to extract a portion of the motion from multiple animations and merge it together to create the motion I need.
Technical Benefit.
With this function, anyone can get the animation they need by synthesizing even existing animations, making it easier to create machinima, dance videos, VLogs, and other animated works the way they want.
Poses can also be created by setting the start and stop times to the same and activating Looping.
This helps the photographer to create poses. Although it is possible for photographers to create poses themselves, they are not experts in creating poses. In this respect, poses cut from animated images are dynamic and can easily be used to get the poses needed.
The ability to play back the animation in slow motion with a sequence of poses also makes it possible to accurately adjust the start time of the animation and the position of objects when setting up a scene in which avatars or avatars and objects are in contact during the creation of a movie.
For example, it helps to adjust the position of the hands and legs when avatars fight each other, or to correctly align the bat and ball when an avatar hits a ball with a bat.
Effect on the market.
In the past, some would have wanted to make a video but had difficulty obtaining the animation they needed, so they compromised with animation of unintended movements, or gave up on the production.
Photographers also struggle to obtain unique poses that are different from others.
In such a situation, the implementation of this function will change the situation.
At the very least, it will be a great benefit to video and photo shooters who use animations and poses.
Also, animation is a labor-intensive process to create a good motion of the whole body, but it is easy to create various motions of some bones.
So there could be a market for such animations. If it encourages new animation creators and photographers, the trend will circulate. The result will be a reflection of SL as a whole.
The Art, Music and Photography forum and the Machinima forum will be revitalized.
SL videos will increase on YouTube and other video posting sites.
Considerations.
Since scripts are executed on the viewer side, necessary animations must be downloaded in advance.
Therefore, a function is also required to preload animations to the viewer side and check if they exist.
Scripting is not that difficult to implement, since all that is required is to extract a portion of the animation once downloaded to the viewer side, override EaseIn, EaseOut, Looping, LoopIn, LoopOut, bone information, and priority, and then replace it with a conventional animation file. It is not that difficult to implement.
However, throughput will not be improved because all of the animation data will be downloaded, even if only a portion of it is used.
Still, since there is no need to consider communication latency, animation synthesis will be accurate, and high quality animations will be generated, so there will be no more shooting failures.
On the other hand, there is a possible way to do this on the server side.
That is, only the necessary parts of the animation are cut out on the server side.
This reduces the amount of data transmitted and lowers throughput, which is a great benefit to the user but increases the load on the server.
In addition, the latency caused by the communication will delay the composition of the animation, so accurate composition will not be possible. In this case, it may be necessary to use the Ease setting to cover up the inadequacy of the animation composition.
The implementation of this will be difficult, as it will not be handled solely by the viewer.
However, if this can be done, there is an advantage of being able to use composited animation for animations seen by others, such as AO, Game, Experience, Combat System, and so on.