Pegasus – Unity Asset Review & Tutorial
Pegasus was designed to create fly throughs and cut scenes. You create a spline path using nodes. You assign any object to that spline and that object will just move on that spline. Super easy and intuitive. Well normally you would place your camera on that spline so you can have a fly through … but as I said, you can place any object on the spline and it will move!
So let’s see how easy is to use this tool.
read more below…
This will add a new GameObject with a Pegasus Manager script. One thing that I like is the fact that you quickly see a small help box. That actually introduces you to some really useful shortcut keys. Adam has a way to introduce documentation into the asset itself and that is great. I was especially impressed with his CTS asset. But that’s another story.
Here we see the Target Object. That is the GameObject that will move on the spline path.
Then we can select if we want the path to be Looped or SingleShot. If you select the SingleShot option you will have 3 new options for when your object reaches the end of the path. You will be able to close the application, you will be able to jump to a new path (this is great) or you will be able to just … stop and do nothing.
One thing that is super important is the “Framerate” option. I used Pegasus in combination with VR Panorama Pro Renderer 360 in order to capture 360 images that I can turn into a video. The VR Panorama plugin has some settings that allow me to set up how many FPS (Frames Per Second) I want for the final video. For that project I went for the 30 fps. The problem was that I forgot about this setting in Pegasus. So while the VR Panorama plugin was capturing everything at 30 fps, Pegasus was using the Max Fps option so my timers were way off. All my paths and flybys were finishing way to early. I wasted a couple of hours of rendering and testing until I finally remembered about this option that fixed everything 😀
Another useful thing that we can see here is the Statistics. That “Duration” info it’s pretty good. That way I can easily count everything up, see how many frames I need and input the frames number into VR Panorama in case I need to make another 360 video. Or you can get that info to plan some other stuff.
Another thing that I like about Pegasus is that the Nodes are actually GameObjects. It is very easy to manipulate the node themselves. Drag them around, have a reference to them, change the height of all of them at the same time, etc.
In the right you can see the Point of Interest script. The most important settings are the “Target” and the “Speed”. The speed is pretty self explanatory. Each PoI (Node) can have a different Speed and Pegasus knows how to interpolate the speed between the nodes.
Second, we have the Target. This is the target where the camera will look at. You have two options. The default one is the Path, meaning that the target will just look in the paths direction (straight forward). The cool thing is that you can actually set up a Target, as you can see in the 1st screenshot from above. I set it up so all the nodes are looking in the direction of the tree.
Another feature that Pegasus has is the “Pegasus Trigger”. You can use that script (or multiple scripts) on a Node in order to trigger other stuff. For example you can “Start” another pegasus movement when you reach a particular node. This is however the only aspect that I would like to be improved. Read more below 😀
Things that I would like in Pegasus:
- Ability to select a GameObject as a target for the PoI. That way I can select multiple nodes and tell them to just look at an object.
- The Pegasus Trigger. I would love a Playmaker Interaction. For example I want to have an option so when I reach a Node, to trigger a particular Event from a FSM in PlayMaker. That would basically open up a lot of possibilities. Like when you reach a particular spot, change a lot of various events that you already have set up in the PlayMaker logic.
- Another suggestion comes from an internal tool that we used and it was similar with Pegasus. In that tool we had various scripts of Enabling/Disabling GameObjects, we had a “Wait” script, etc. The Wait script was useful because we could simply stop the object on a path for X seconds, or even Stop it forever and trigger the start from another place.
Overall the tool is very useful and affordable. Another good aspect is that it’s super easy to use. I’m also sure that Adam will implement my requests from above… at some point 🙂
I will update this tutorial later when we get some new features in.