Visulie - Dynamic, Data-Driven Animations

You can technically make cutscenes with this plugin, although it’s not what this plugin is designed for so there may be some caveats:

  • no native support for camera movement
  • altered way of moving rigs (Motor6Ds are supported, but it currently works as a purely visual effect instead of a functional one)

Yes, you can use this plugin to animate long cutscenes, but it would have a different workflow than you’re used to if you are used to using Roblox’s built-in animator or Moon Animator.


Can you elaborate on this issue? Are the parts moving the moment you put it in the editor? Is it during playback? Some pictures/videos of the problem can help me diagnose this issue. Thanks!

However, I’ve come to realize that the WorldPivot of the Model instance isn’t the CFrame position of the model, but rather, just the pivot :sweat_smile:. This may be the cause of the issue as I see you’re using a lot of models. I’m currently trying to find a method to get the actual transformation of the model in world space. There is no native API for getting model CFrame changes, so a solution/workaround is being used for.

There’s a feature I would like to add to the plugin, although, it may interfere with some workflows. I’m thinking about implementing a relativistic system. PVInstances (e.g., Models, Parts, Wedges) would have their CFrame relative to their parent’s CFrame. For example, a part parented to another part would have their CFrame relative to the parent part rather than the Origin Part. This would enable more standard rig creation experience without the need for Motor6Ds. I’m wondering if you think this is a breaking feature so I can put more consideration into the steps I take to implement this feature.

I’m not quite sure what you mean by the Origin part during runtime. The Editor Folder has archivable set to false, so the folder and its descendants shouldn’t be appearing during runtime.

For ease of use, both are possible.

I’ve run into this issue as well. My current (although crude) solution is to split the rotation into 3 sections. From 0 to 179 degrees, 179 to 181 degrees, and then 181 to 360 degrees. However, this does not work for all use-cases.

This is a very good idea! I’m going to experiment with this. Thanks for the suggestion!

This is a solution I’ve thought about implementing as well! My current plan is to clone the MeshPart and parent it into the exported data module. When the animation player tries to load the instance, it will then reference the cloned MeshPart.

I’m sorry you lost progress. A backup option would definitely be made.

Thank you so much for your feedback!

2 Likes

This looks neat! Can this be used in GUI’s?

1 Like

Sorry for the lack of media to portray the issue! Thank you for your response, and I’m glad you’ve considered many of the same things I have.

Yep, here’s my OBS recorder showing the entirety of the studio window, with the properties and explorer menu open. The parts I used were transparent, but I’ll use visible parts so it’s easier to analyze.

For the sake of covering all possible outcomes, I will demonstrate these both in and out of run-time.

External Media External Media

I’ve never attached a file that isn’t a screenshot, let-alone a video to the Dev Forum before. Please notify me if the videos do not work as intended.

Credit to MooseBroose for the happy home remodel used in this demonstration. It is not mine, and is a free modeled resource used to example in my media.

I’ll show a long-demonstration of every detail here, that will be bulleted below:

  • The Camera affecting the origin each time an animation is made in the plugin.
  • The issue I had addressed with the CFrames of the parts of a pre-existing model dragged into the Editor Folder.

Perhaps using the Primary Part of the main model that is dragged into the Editor Folder could perhaps be a frame of reference for where the editor marks its pivot? I am not very familiar with world coordinate properties, since I mostly use the local properties for coordinates on most instances, but I hope this idea helps or if there’s anyway I could further develop a solution!

  • What if the plugin had a setting where it could manually mark the origin instead of defaulting it to where the Camera & World Pivot are adjacent to? I mentioned the Camera here, because where ever I seem to move my Camera, the origin parts coordinates are different each time, but I’m not sure if that’s exactly causation for this.

I haven’t paid attention to the archivable property, but I’ve been using the “Run” method to test run-time in studio, rather than playing with my local character. Once I run it, I load the plugin during run-time and open a new animation while the experience is running. If I shouldn’t be able to see the folder during run-time in spite of this, then I think that might not be intended to happen? I’m not entirely sure how the archivable property behaves except to mask instances on the client, but probably because during “Run” mode, the host is the server, so it probably bypasses this.
image

No problem! I am very grateful to have bought your plugin, and I’ve very much enjoyed using it during the times I hadn’t suddenly had these particular issues. Thank you for considering!

I hope my analysis helps to further solve the issue. :slight_smile:

Also, yes, it can! It supports 90% of instances, and more support is underway. Though as mentioned above by EvilVSCPlays and VegetationBush, Camera support is not intended or maintained, so you’ll have to manually animate your Camera Cutscenes with Scripts, but the possibility of the Camera being manipulated by the animator isn’t impossible to my knowledge, as I haven’t tested it.

2 Likes

Moon Animator doesn’t only support rig animations, I made an animation with a dominus and a money bag falling with Moon Animator, Here is the video


Yes they can


Anyways I am currently investing on this plugin by selling one plugin of mine off of the Creator Marketplace. It is getting better with every update.

1 Like

I absolutely agree! This plugin is one of a kind. I wish you good fortune in investing so that you may purchase the plugin at your convenience. :slight_smile:

1 Like

What I’m trying to say is you cannot export these animations and run them in game.

For example, it would be impossible for me to run this animation i did on moon in game.

Thank you for the videos!

The issue of the parts randomly being teleported to random locations is clearer now. I’ll definitely take a deeper look into it.

This is a plausible solution, however, not all models will have a primary part so this wouldn’t work in all scenarios.

I’ll definitely make a setting or some sort of feature to choose where animations are being edited! Currently, you can simply reposition the origin part to your desired location.

The plugin editor isn’t meant to be used during runtime. I’m going to find a way to disable its usage during runtime unless you have a specific use case for it. The Archivable property makes it so an object doesn’t save in between studio sessions, and does not appear during test runs.

1 Like

I really hope someday we see someone invent a solution to make fully animated cutscenes in roblox, because as of now its either you do a gross mess of having to time everything on a script and program every animation with code.

Or have these cutscenes were you just see a boring camera angle with NPC’s walking to locations using pathfind while a boring dialog textbox pops in.

I was hoping this plugin was just that but its not, what a shame…

Regardless its still an usefull tool as you do not have to script some animations like VFX and objects anymore, so its still a W

2 Likes

You’re very welcome! I thank you likewise for being enthusiastic about feedback and replying as often as the discussion is convenient for you. I also appreciate that you’re going to look into it.

I wish you luck with solving the issue. If it’s somehow a tedious task that becomes detrimental, please prioritize your real-life and mental health first and take as much time as you will need; there’s no rush even if many issues of varying kinds may appear overwhelming.

My ideals of roblox development are to have fun, support, contribute and enjoy / respect what a developer does, so I am completely mindful of any hardships you’ll face, and am more than willing to support you and your plugin until the end! :slight_smile:

That’s an excellent point! I made an oversight in regards to the flexibility of that method. As you’ve stated, it would be more appropriate to have a solution that is dynamic, as this plugin intends. :slight_smile:

Thank you!

Also, I’ve tried manually re-positioning the part and it did mitigate the issue with CFrames for one of the parts beneath the Editor Folder, but the other parts still get misarranged unfortunately, so maybe that may further develop a solution? It isn’t also necessarily the root part and to my current understanding it seems to be the part closest to the Origin Part that is unaffected in that scenario. :thinking:

Oh, I’m so silly! I had no idea, thank you for teaching me about that.:laughing:

That’s definitely my mistake. I believe I misinterpreted this feature, as this likely referred to playing an animation in run-time that was already created with the plugin, which would make a lot more sense! Still very useful nonetheless, and quite clever because it allows you to make a variation of a particular effect that may change conditionally. :grin:

1 Like

Agreed, I want to make a cutscene maker plugin but I do not think I have the skills to do so

2 Likes

Visulie Version 2.0

Rig saving:

Please update your Visulie module to the latest version!


Say hello to RIGS!

Unlike the rigs you’re used to, Visulie rigs do not require the use Motor6Ds. Rather, it takes a hierarchical approach and uses pivot points to rotate along a point.

This is Bob. He is an npc. Unfortunately, he had a severe case of eating Taco Bell 3 miles away from the nearest washroom. Bob isn’t having a good day.

There is a new behavior introduced that allows you to make such rigs. Any PVInstance parented to another PVInstance will have the child instance’s CFrame component relative to the parent’s CFrame component.

When creating rigs, it is recommended to create the rig before inserting it into the editor!

Happy animating!

5 Likes

Yes!! Thank you!! A fantastic update, and the rigs update was an unexpected surprise! The best part about it is that you can use it for Tower Defense games with custom enemies or games that use non-humanoid rigs! Thank you very much for this update, I will surely enjoy the patches you’ve made. :slight_smile:

1 Like

I have a small suggestion, is it possible to add support for adjusting the Scale property on Models with this plugin? If so that’d be very appreciated!

This is something I kept out of purpose because it’s very difficult to integrate. If this is implemented, each instance with a size and position will be affected, thus a special case has to be made for each one of them (which isn’t really performant). Due to how scale works (which alters the descendants size and position), it is very hard to animate and record the correct properties as everything is now “relative”. Especially for nested models, the size and position properties will have multiple layers of complexity.

There will probably be an alternative, though. I am thinking about applying a global scale to scale the entire in the animation at once by adding a new method to the Visulie Player, ScaleTo(). Hopefully this would be a satisfactory alternative to your use-cases.

No it isn’t.

4 Likes

Yeah that sounds just about right actually. Model scaling is finnicky to work with in general since each individual instance and their respective properties descending the model are considered when transforming, and it won’t exactly yield 1-1 results, so that’s an excellent point.

Absolutely! I can export the frames I had intended separately and still incorporate them into a single effect all the same. Thank you for considering an alternative.

If I may add some insight:

  • In addition, perhaps a way to scale individual instance keyframes rather than the entire animation? It’d be fine regardless even if the limitations were the animation entirely. :slight_smile:

Thank you for your response!

2 Likes

Thank you for citing this resource, though I have one question:

  • Is this reliable or performant? It says it’s work in progress but I’m not entirely sure if that means it’s necessarily stable or not. To help answer this question, would you use it for every scenario if your game was abundant in cutscenes? Would it drop frames or break?

A response is appreciated, but it’s entirely possible for me to test myself and give an update if not. :+1:

2 Likes

you know I was about to write my own resource for this, but now that you showed me this, I am very thankful, I always wanted a thing like this, I read its a WIP but im 99% sure its not hard to add on to this project.

1 Like

Thank you for sharing this, I or my evil twin doesn’t even know about this resource for a while, I’ve always wondered how to play Moon Animator animations at runtime, but the only downside is that it can be used to bypass moderation to play inappropriate animation in a kids game

You could do this with purely the roblox animation editor and scripting too, so doesn’t matter.