Hello devs! today i want to publish a plugin that i made. this is my first ever plugin.
it’s called Moon VFX Exporter!
You can get the plugin here!
Plugin Link : Moon VFX Exporter - Roblox
Q & A
-
Q : Can’t export because of “Asset model is nil! (Make sure your model contains atleast 1 Part and a 1 PrimaryPart!) Export Failed!”
A : Make sure your models have primary part, also make sure that no part is inside another part, the parent of all parts that you want animate should always be the model! -
Q : What can i export using this plugin?
A : Currently only Parts and Meshes. -
Q : I want to customize my VFX, how should i do it?
A : You can export the parts and meshes animation using this plugin, but for sound and particles you can script it yourself. just make sure that the remote that fire the vfx is the same, that way you play 2 vfx at the same time. -
Q : How do i replicate it to server?
A : you need to use remote events to do this, there’s lots of tutorial on youtube and google.
What does it do?
Moon VFX Exporter can export parts animation! basically what it can do is export the VFX you create in moon animator into roblox!
How do i use it?
To use it you must first create a “Model” this will be the reference, after you create a model you will want to make a Part inside the Model, set the Part as the PrimaryPart of the Model.
After that you can insert all the part you want to be in the VFX into the Model.
Then just animate the parts as usual in Moon Animator.
After you’re done, click “Save”.
Open Moon VFX Exporter, and select the .xsixx file, it’s usually inside the ServerStorage.
After you selected it, click Export!
Now the assets will be in ReplicatedStorage, and there will be a localscript inside StarterPlayerScripts!
How do i play the animation in-game?
Inside StarterPlayerScripts there will be a folder named MoonVFX, inside there is the exported animation script!
you can Invoke the PlayAnim BindableFunction to play the Animation!
The PlayAnim takes 1 parameters, it’s a CFrame Parameter, the location of where the VFX would play.
This sample script will play the animation on your mouse position
local UIS = game:GetService("UserInputService")
UIS.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
script.Parent.MoonVFX["Insert your VFX Name here"].PlayAnim:Invoke(CFrame.new(game.Players.LocalPlayer:GetMouse().Hit.p) * CFrame.Angles(0,math.rad(math.random(-360,360)),0))
end
end)
What the plugin Can't Do
- It cannot export animations that have Rigs in it, but everything else should’ve worked fine!
- This plugin uses TweenService to play the animation in-game, so anything that TweenService Can’t do, this plugin also cannot do it.
- Some easingtypes may not be supported, again, if the easingtype/easingdirection exists in TweenService then it will support it.
Tutorial Video
Oh, and this plugin is Open-Source.
If anyone want to further improve the plugin you can do so by going to this link!
The place is uncopylocked and all the plugin’s file is inside it.
That’s all from me! if there’s any bugs you can tell me by replying here. i will fix it when i have the time!
See ya!
UPDATES :
- Fixed .xsixx error bug caused by moon animator update.
- Changed the ExporterFramesHandler a little, now it will reference based on names instead of objects, because objectvalues will become nil when its a package.
- Added a new feature called “Make Model” what this do is it creates a model that is compatible with the plugin, to use it all you need to do is select all the parts that you want to animate and click make model, this will create a new model in workspace that you can animate in moon animator and export using this plugin.