Thanks for the extra information! I believe I have found the underlying issue. This should be fixed now after updating the plugin and replace the Visulie Renderer. Again, Thanks for bringing this up! Let me know if there are still any issues.
i do got a few suggestions
-
randomized values on certain properties
-
custom formula support for example if we would want to use math.cos or something else
-
step?, i don’t know how i could call this but, a background animation that blends with the others (maybe this already exists), like a spinning animation but it still plays when you try to change the cframe by , up , down or any direction
-
support for camera animations, as far as i know, moon animator has a way to export camera animations, so if visulie had his own exporting method for camera, or just atleast to preview them would be nice
Also i’ve got a question, is there any way to apply force/Impulse to a part in the animator?
Thank you again.
Also I’ve got three more suggestions coming right up:
Animation editor
- Support for un-animatable objects
> This is really needed. Instead of deleting the objects, keep them without adding any keyframes. Helps with model hierarchies alot.
> Example: You want to animate aTool
. Because of the deletion of the tool ancestor, you will only be left with theHandle
, which can be animated.
Now I get this isn't necessary but it would make animating some things easier. I'd much rather call loadanimation onTool
than onTool.Handle
- Ancestor name variety.
Each animated object usually has a common ancestor for all parts. Renaming this makes the animation un-usable. This sucks in a way. I don't know how and if its "fix"-able but it sure would be nice.
> Example: I made some coins the player can collect in my game. I wanted their names to be numerated (1,2,3...) but since the animation would only work on one (called "1"), all of my coins are now called "1"
Animation playback
- Now I would assume this is a really, REALLY advanced feature but if you add it you would probably make this plugin stand out even further from all of the others from the competition.
Keyframe variables
Let me explain. When animating humanoids, I ran into an issue. I can animate their movement (limbs), but not the location they move to. (or i just suck :sob: ) This is where this suggestion could come in. The animation module is designed in such a way that the Keyframe's values can be changed, allowing for advanced movement / adaptability. This is technically already possible with your current saveable animation-modules but realistically it is too hard (to understand) for an average code editor dweller like me. Let me create a code example of what this could looke like:
local animation = require(path.Animation) -- You would be able to connect variables to keyframes (the variable would be a reference to a keyfame) animation.KeyFrameVariables.VariableNameHere.Value = game:GetService("Players").LocalPlayer.Character:GetPivot() Visuliue.loadAnimation(animation, Enemy.CFrame, {Enemy}) -- This would move the "enemy" to the "localplayer" whilst also animating the limbs (for example with a run animation)
This was a feature I wanted to implement for a long time as well. I was thinking some sort of “property” system where you can adjust a property, and the keyframes will adjust accordingly. However, after tinkering with the code for a while, I decided that this was much too complex and unperformant.
This is not out of the question, though. It is, however, unknown at this time whether this will ever be implemented.
Yes, you can do this by playing the animation and calling :SetOrigin()
on the animation to place it somewhere else.
You can technically animate the camera, but you’re going to have to separate the camera animation from the rigged animation (so you create one animation for the camera, a separate animation for the effects, then play them both at the same time). Visulie isn’t meant to be a cutscene plugin. It is meant to create independent animations.
Not yet. Is there a use case for this? Usually, parts are anchored in animations. But I guess this could be useful for unanchored physical assemblies.
There is a similar planned feature that will be released in the future. Although it doesn’t specifically fit your use case, it can help in some instances.
I play a lot of animations on existing rigs, here’s a crude example:
As you can see, the only things that are animated are the model and particles. All the parts in between don’t really matter.
My thoughts on the implementation is to have an option to “ignore” certain instances. Once you ignore an instance, all of its descendants are ignored as well. These instances will also not be exported. Let me know if you have any issues with this behavior!
This is a tricky one. I initially wanted to be able to animate anything regardless of name. This can be achievable, but it does add a level of complexity. I may do this in the future, but it’s not guaranteed.
Yeah, that’s it, it would be great to make physics based animations for parts, i’ve seen it before and they look cool, for example a bouncing part that then resizes or his transparency disappears
Visulie 2.1.1
Bug fixes
- Importing rigs where parts are parented to models are no longer bugged in world space, and now are correctly stored in object space.
- Methods on the final frame now fire correctly instead of being ignored.
Adjustments
- Removed
destroyOnCompletion
parameter for:Play()
and:Resume()
.
Features
- Added new method to the Visulie renderer,
PlayThenDestroy()
, which plays the animation once (regardless of looping state), then destroys the animation.
Visulie now supports animation and playback of attributes and tags!
Simply add/remove tags/attributes, and it will be recorded. Here’s an example of a use-case!
Demonstration:
This is a new comprehensive Visulie version! Please update your data!
Hi, I was reading your module and I found it quite interesting, but some doubts arose…
-
Is it useful for non-static Objects, vehicles or similar?
-
At production level, how optimized is it? Let’s say a big map with many animatable instances?
-
How does it work, does it have some form of Client to Client Replication, can it be run only on client and manage not to load non-visible animations?
While possible, it’s not meant to simulate physics objects (for now, at least).
The module is quite optimized at what it does. It’s up to you to ensure that you’re playing animations effectively across a map (for example, pausing animations that cannot be seen). If you have, say, 10000 animations running, it will lag regardless.
It’s purely client-sided (but you can also play it serverside, but there is no custom replication). If you want animations to replicate, you must design a replication system yourself (which is standard for custom scripted animations).
Again, it’s up to you to decide how to play/not play animations depending on visibility.
Is 2d animating still possible in the new version?
Right, I forgot to add that in.
You should be able to drag around your content folder now.
Visulie 2.2.0
Features
- The Visulie animation container can now be dragged into other instances, such as ScreenGuis to create 2D animations, or animations within ViewportFrames!
Hello again, one more thing, I don’t quite understand how to animate a UI, do you have any demos or something like that?
Sure!
It’s very simple, actually. Here’s a short video tutorial:
After you export your animation, you can play the animation using the Visulie Renderer module:
local Visulie = require() --> path to the visulie renderer
local Animation = Visulie.new(yourAnimationData, CFrame.identity, YourScreenGui)
Animation:Play()
Is it possible to make/load animations on pre-made gui objects?
What do you mean by “premade” gui objects? If you mean loading and playing animations on existing objects, yes, you can.
local NewAnimation = Visulie.loadAnimation(yourAnimationData, CFrame.identity, {YourExistingObjects})
NewAnimation:Play()
Visulie 2.2.1
Bug fixes
- Fixed misaligned keyframes for animation lengths that are not multiples of 60
Amazing! Can’t wait to try it out!
Visulie 2.3.1
Features
Sometimes, you have instances with many, many properties. However, you also realize that these properties only have one keyframe. This is annoying, as all the keyframe strips clutter up what is actually useful (the properties that have multiple keyframes). Here’s a demo of this new feature:
Adjustments
- Minor visual improvements
Hi! Just bought the plugin.
Please fix this one issue where whenever i try to interact with the keyframes, the object (screengui Frame) that im selecting keeps getting unselected, which make me unable to adjust or remove the keyframes
That aside, the plugin is worth it!
Hey, I’m glad you like it!
I’ve slightly changed how selections work. Having nothing selected retains the display of your previous selection. Let me know if this change causes any problems! It should fix your issue.
Visulie 2.3.2
Adjustments
Thanks! You’re really fast.
I got a suggestion, you should like add onion skin just so animating would be easier.