Note: This plugin is 1 year old at the time of editing. I was inexperienced in creating plugins at the time, and even after the rewrite it’s not to a standard that I’m happy with. There are bugs and quality issues that some users may experience. This plugin also has the potential to cause performance problems within Studio because it doesn’t properly clean itself up when not in use. That being said, if you have use for it as an animator, I hope it can still serve as a useful (free) tool in your workflow!
First-person animation can be tedious work. It’s dangerous to go alone, take FPP!
First Person Previewer allows you to preview your first person view-models as you build and animate them. It’s pretty straightforward: All it needs is a camera part in a model. It displays whatever is inserted into that model in a viewport frame!
Fixed an issue that made this plugin unusable for many people. See this reply for an explanation of the issue.
Hope this helps whoever needs it!
The plugin in action:
(They haven’t changed in the new version; it still works in roughly the same way!)
Create a model
Insert a part named “CameraPart” into the model
Ensure that the front of the CameraPart is facing where you want the preview to display
And that’s it! I initially created this for internal use, but I decided to release it into the wild. I plan on adding support for precise aspect ratio definitions in the future (you will be able to set your own aspect ratio).
As always, feedback and criticisms are encouraged!
I have a feeling most viewmodel rigs will have the origin part also be the camera part. Regardless “CameraPart” is a good universal touch. Finding the root part in a rig is a matter of scanning for the part that doesn’t have a Motor6D Part0 parent joint (but has other parts connected to it).
To keep everyone’s work standards in the team consistent, I request for previews that are 70 FOV and displayed in a 16:9 preview screen. A widget that would fit the whole 16:9 preview (Automatically scale to widget size) would be helpful
I also base weapon positioning by how the gun is placed in relation to the middle horizontal and vertical lines of the screen:
Recently, I reworked the UI and added an FOV slider and crosshair. Unfortunately, there is no aspect ratio selection yet, but the widget should now default to a 16:9 ratio. Your mileage may vary, though.
I’ve noticed it works great the first time, but after making my animation, save my place and continue later it no longer previews the same view model again. Same issue AlexandreTheGreat is happening it seems.
Over a year later, and I finally got around to fixing this issue. Sorry haha, it was low on the priority list but once it started affecting me (I’m using this quite often for a project I’m working on) I decided to look into it.
Basically the way the plugin works is it tracks a table of the original model’s parts, clones everything into the viewport frame once, and replicates the CFrames. The plugin should have only been tracking BaseParts, but due to a simple error on my part it was copying over objects of all class types, which caused an error with the replication. The indexes of the two tables were basically misaligned; to track what’s what, it inserted instances in the same order, but one of them had objects of all class types, and the other only had BaseParts, resulting in the two tables having differing length and order. Whoops!