Visulie - Dynamic, Data-Driven Animations

This is amazing! Question if I purchase this plugin am I allowed to make my own fork of it as long as I don’t redistribute? Thanks!

2 Likes

Yes, you can! As long as it’s not redistributed, it is okay.

3 Likes

What are all the instances that this is compatible with? This is really really cool…

Here is the current list of instances:

Highlight, SpecialMesh, CylinderHandleAdornment, Attachment, Seat, PitchShiftSoundEffect, ImageButton, Beam, Handles, Decal, WireframeHandleAdornment, ImageHandleAdornment, ParticleEmitter, Smoke, SurfaceGui, SphereHandleAdornment, UIScale, ImageLabel, UIListLayout, Trail, EqualizerSoundEffect, Model, UISizeConstraint, SurfaceSelection, CanvasGroup, VehicleSeat, SpotLight, VideoFrame, ChorusSoundEffect, SelectionSphere, ArcHandles, Texture, CompressorSoundEffect, CornerWedgePart, ReverbSoundEffect, LineHandleAdornment, UIGridLayout, Fire, DistortionSoundEffect, UIPadding, UITextSizeConstraint, UITableLayout, ConeHandleAdornment, TremoloSoundEffect, UICorner, UIPageLayout, UIGradient, TextButton, UIStroke, Sound, UIAspectRatioConstraint, FlangeSoundEffect, PointLight, EchoSoundEffect, Explosion, ViewportFrame, Sparkles, WedgePart, Part, SurfaceLight, Frame, ScreenGui, BillboardGui, TextLabel, BoxHandleAdornment, ScrollingFrame, SelectionBox

Each instance also has supported properties that can be animated. For example, you can animate the CFrame property of a part, but not the Name or Parent property.

You can find the supported instances in the dump file in the plugin:

--[[
	[className]: {supported properties}
]]

return table.freeze({

	BoxHandleAdornment = {
		"Size",
		"AdornCullingMode",
		"AlwaysOnTop",
		"CFrame",
		"SizeRelativeOffset",
		"ZIndex",
		"Adornee",
		"Color3",
		"Transparency",
		"Visible"
	},
	CanvasGroup = {
		"GroupColor3",
		"GroupTransparency",
		"Active",
		"AnchorPoint",
		"AutomaticSize",
		"BackgroundColor3",
		"BackgroundTransparency",
		"BorderColor3",
		"BorderMode",
		"BorderSizePixel",
		"ClipsDescendants",
		"LayoutOrder",
		"Position",
		"Rotation",
		"Size",
		"SizeConstraint",
		"Visible",
		"ZIndex",
	},

	--> etc.

}:: {[string]: {string}})
1 Like

Wow! This plugin is really cool. Does it work well with animating entire models? For example, a door? Some of my doors have a lot of parts, and physically rotating the model is easy using pivots, but I wonder if this plugin supports that? It would definitely allow for the easy creation of some really cool things!

1 Like

As of now, it would be better to script the model door instead of using this plugin as Visulie is better used to instantiate animations on the fly rather than animate existing models (animating existing models is a planned feature). Though the Model class is supported with the plugin, models are a little quirky when it comes to how they’re transformed in the world. There isn’t a scriptable property to determine their physical location in the world, thus, it’s difficult to have it do anything during runtime (I’m currently figuring this one out).

1 Like

Visulie Version 1.4b

  • Bug fixes
    • Different types of instance values that previously errored (such as Part1 and Part0) no longer errors
1 Like

Does this means with this plugin we can make in game fully animated cutscenes, I want to add cutscenes to my game but there are no good ways of doing it on roblox, most of the ways involve manually scripting loads of things, or just these basic ugly camera angle “cutscenes”

But if I am not incorrect with this plugin we can fully animate cutscenes and actually play them in game.

Positive Comment & Thank You!

I hope this comment isn’t too long, and it isn’t spam or anything like that. I apologize if it’s too lengthy for everyone’s comfort, but I wanted to be as descriptive as possible and share my appreciation of this plugin, resource, and the creator.

This plugin is exceptional. As I’ve constantly checked the dev forum daily for useful resources, amongst all of the many helpful ones, this one is definitely the favorite of mine; well worth the price too. It’s absolutely amazing! Thank you for your hard work and constantly updating it!

For anyone else wondering if they should buy the plugin:

  • It is absolutely worth the price, it’s very resourceful and makes visual effects and animations turn out precisely the way you want it, frame by frame.
  • It’s still getting updates such as bug fixes, the developer is very helpful, descriptive and hard-working.
  • It solves every problem with making effects the old fashioned way through only scripts.
  • You can specifically convert your animations directly into your programming and scripts to be displayed in-game or during run-time.
  • It even animates UI, Particle Emitters, Sounds & Sound Effects, Highlights, Beams, Textures, Trails, ArcHandles, Point Light Entities, Selections, HandleAdornments, Fire, Explosions, Smoke, and even Decals!! (There’s a lot more that it animates too such as parts and meshes obviously, but these particular instances stand out significantly; due to how they’re mostly not prevalent in other animation plugins or resources)

This is by far the best and most dynamic animator I’ve ever seen. Again, thank you very much!

Whenever I make animations and effects using it (or an experience displaying them), I’m definitely going to credit you and your plugin so other Developers can purchase it, support you, and improve visual effect design as a whole on Roblox!

The use cases are nearly infinite. It’s insane.

I adore this community and all of you amazing developers, and VegetationBush (Plugin Creator of Visulie), I wish you luck with your future projects, including any experience you decide to make using your amazing plugin. I’m totally going to play it to support you, especially if you made a plugin this good.

(I bolded your username instead of mentioning you, because I didn’t want to disturb or notify you; but I’m referring to the plugin creator! ^_^)

(Again, sorry for the lengthy comment everyone, I am very descriptive, and I usually don’t comment on the forums since I’m shy, but this plugin has helped me extraordinarily so I wanted to give the plugin creator extremely positive feedback and to be friendly! :pray:)

4 Likes

It is possible do animated cutscenes, although, it may be a little different than you’re currently used to. There is no support (and likely no future support, but it’s not out of the question) for camera movement as that’s not the purpose of this plugin. Although, you can still animate long scenes and use a part as a guide for the camera (camera has to be manually scripted). Moon Animator would be better suited for creating cutscenes.

but then I cant animate the objects, because moon animator only supports rig animations.

Hello! It’s me again. I’ve come across some issues while using the plugin today. I also have some suggestions for the plugin. This is a pretty lengthy analysis with hours of testing, so I apologize if it’s a struggle to analyze. I formatted the best I could by bolding key words.

Also, “VFX” means Visual Effects but shortened, for those who don’t know. Sorry if this was an inconvenience!

Formerly, I’d create VFX from parts and re-assign them accordingly after the editor had been opened, but I tried something different today, like pre-creating a cylindrical beam instance using Archimedes for layout, and the Coordinate Frames (CFrames) get misarranged.

Here’s a screenshot (I’m using a regular baseplate, so I don’t think those coordinates are quite correct :sweat_smile:):

Baseplate Coordinates:

My VFX Model’s Pivot Point was originally directly above the Workspace Origin of Vector3(0, 0.5, 0).

Whenever I drag my VFX Model into the Editor Folder to start animating it, all of their CFrames become misarranged as well. I am not using MeshParts, except for one inside of a model that simply changes pivot as the plugin in its current state intends generally. However, I’m using a bunch of transparent parts with Particle Emitters, UIs and other compatible instances inside of them that all render perfectly under the output as a compatible instance with the plugin.

Yes, I’ve tested both during run-time and in studio normally. Also, during run-time the “Origin” part is unanchored, and I’m not entirely sure if it causes issues or not, but it does make it difficult to center parts where I want them because of it. I’ve tried anchoring it, manually repositioning each part, manually repositioning the Origin itself, messing with every possible property of the Adornment inside of the Origin, and holding “Z” to move the origin around. (though that’s probably only for your testing example I’ve come to realize)

My question is, does this plugin allow developers to create parts from scratch within the Editor Folder only or are you allowed to pre-build your VFX before properly animating it with the plugin?

If your intention was to support pre-builds before dragging them into the Editor, then I have a few suggestions too (though even if it wasn’t the intention, it’s a god-tier expansion for this plugin that would pretty much eliminate any flaws with it):

  • Trying to rotate Parts and UIs in an entire 360 degree angle isn’t possible to my knowledge. I’ve made a spell-circle but it can only turn to 270 degrees maximum. If I try setting it to 360 degrees, it goes back to 0 in the direction it came from. In addition, UIs cannot be rotated at all (Their rotation property). If you’re wondering, I used a SurfaceUI. This is mostly an internal issue since 0 and 360 are the same on the Unit Circle. However, if there was somehow a boolean way to differentiate continue turning forward to reach 360 versus reverse to reach 0, it’d be ideal. This is more of a feature request hypothesis that I’m describing here though, unless you could somehow add it? :thinking:

  • Even though the Mesh ID and Texture ID properties of a MeshPart cannot be changed during run-time, simply resizing them or changing their normal part properties should be fine right? If the plugin creates a new MeshPart from scratch, maybe there could be a way to identify a reference folder in our own experiences that grabs and clones an existing MeshPart from somewhere replicated for use in its respective animation by CollectionService Tag or Instance Name? Better yet, it could cache or store the individual instances in a folder that Visulie solely handles in the users experience once it’s loaded in with script permissions if they load them into the editor with CollectionService Tags so they’re not mixed with other parts. I hope this is a useful suggestion, and I’d love to see it accepted!

  • Whenever you close the editor, your original VFX Model or instances you worked with beneath the editor folder are permanently deleted, and not backed up. A backup option would be resourceful I believe. Unfortunately, because of the lack of backups, I lost a nuclear mushroom cloud effect once when experimenting with the plugin for the first time. (Yes I could’ve reverted my experience, but not everyone should have to do that just to recover one effect; especially for people like me who save frantically so I don’t lose anything.)

These suggestions are optional, I’m only suggesting it, but I’d really appreciate it. I’d absolutely never need scripts again for complicated VFX except for syncing with Visulie’s event system to generate Crater VFX. You’d be carrying most of the VFX community on your back with a plugin this golden.

If these changes were made, it’d perfect this plugin! I strongly recommend these suggestions, and I hope they’re helpful to developing this product and easing user access.

I hope this is helpful, thank you once again. :slight_smile:

2 Likes

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