Search Unity

Pegasus - no fuss cutscene and flythrough generator

Discussion in 'Assets and Asset Store' started by AdamGoodrich, Aug 30, 2016.

  1. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    And here is a screen shot from the demo scene of what will be released this weekend. While not very visually interesting, whats happening is very powerful.

    The main Pegasus is driving the camera. A secondary Pegasus is driving the airplane, and a third Pegasus is driving the capsule (imagine NPC).

    Initially the capsule flythrough is dormant - and when the main Pegasus hits the right point it will start the capsule flythrough - and later - stop it - essentially it is controlling the secondary flythrough.

    This has been achieved with flythrough triggers. Other things that can be controlled with triggers include playing animations, and also video fade in and out with Helios.

    Combined Pegasus.jpg
     
  2. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Done with Gaia + GeNa + Pegasus + Helios !!

     
  3. Acissathar

    Acissathar

    Joined:
    Jun 24, 2011
    Posts:
    677
    Are the grasses from MegaScans too, and if so are they textures, meshes or a mix?
     
  4. mk1978

    mk1978

    Joined:
    Dec 27, 2009
    Posts:
    276
    Looks really nice. What asset is GeNa? I tried to do a search but I could not identify such a asset in Unity Asset Store.
     
  5. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,685
    It's his new "placer" tool. It's not out yet.
     
  6. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Yep - a new semi procedural content generator... fills your scenes with all the good stuff. Saves you masses of time.

    The grasses are mostly from SpeedTree Desktop Ground Cover pack. They are SpeedTrees.

    MegaScans has grasses... but they are billboards and not set up for Unity. Nothing is actually. I set this all up myself.
     
  7. DSchrubbe

    DSchrubbe

    Joined:
    Sep 22, 2015
    Posts:
    2
    I feel a bit foolish, but... how do I reference the Pegasus Manager from a script?
     
  8. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    First set up your Pegasus Manager as usual. Note you can do all of this at runtime as well, but I will assume you just want to control an existing one from script.

    Make sure you unselect "Play On Start", otherwise it will automatically start playing when you start your scene.

    Then create an instance of the Pegasus Manager object in your script and make it public. Then drag the Pegasus Manager in your scene that you want to control onto it and access the methods you want to use.

    There are a few key methods:

    StartFlythrough() -> Will start playback
    PauseFlythrough() -> Will pause playback
    ResumeFlythrough() -> Will resume playback
    StopFlythrough() -> Will stop it.

    Hopefully that's useful!
     
    LiangYun1980 likes this.
  9. DSchrubbe

    DSchrubbe

    Joined:
    Sep 22, 2015
    Posts:
    2
    Worked like a charm - thank you!
     
  10. nigel-moore

    nigel-moore

    Joined:
    Aug 28, 2012
    Posts:
    26
    Hi, great tool thanks. Do you know when the update with the flythrough triggers will go live on the asset store yet? We are waiting with baited breath :)
     
  11. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Hey Nigel,

    Drop me a private message with your invoice number and I will get you a copy now.

    Am aiming for this weekend. Its done, just need to update the documentation.

    Cheers,
    Adam.
     
    nigel-moore likes this.
  12. nigel-moore

    nigel-moore

    Joined:
    Aug 28, 2012
    Posts:
    26
    Thanks Adam - only just noticed your reply. I will get straight on it.

    Cheers

    Nige
     
  13. blacksun666

    blacksun666

    Joined:
    Dec 17, 2015
    Posts:
    214
    Has the ability to bank an object whilst following a path made it into release yet? Have only seen references to it being on the roadmap but never in the release notes?
     
  14. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Not in there yet. I also have some ideas for something I want to add to Pegasus that will be a killer feature i think - and that is to essentially allow you to visually compose the camera view at each POI - i do the same thing when I take screen shots and it worked out a way to do this in Pegasus.

    Should have it out in a few weeks hopefully.
     
  15. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    @AdamGoodrich: I've been testing Pegasus as an airship driver, and while it works fine for the most part, it does this at the end of its route in Single Shot mode:



    I've placed the end point (selected) at the origin, so I'd think it would just stop where it started from, but it does this instead. Loop mode works fine, but I want the ship to stop at the station. I know you mentioned adding a pause and resume feature at some point, but if you have any ideas about why it does this in Single Shot mode, maybe I won't need that. Thanks. :(
     
    BackwoodsGaming likes this.
  16. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    I have a new version. PM me and I will make it available.
     
    BackwoodsGaming and FargleBargle like this.
  17. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    Problem solved. FYI, Pegasus seems like a great way to move other things besides cameras. And to answer my own question from the first page of this thread, yes, you can walk around on the deck of a ship being driven by Pegasus. :)
     
    Last edited: Nov 12, 2016
  18. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    More on this - I noticed my character juddering sometimes while my airship was moving. My controller was set to perform all movements in LateUpdate, and I noticed Pegasus uses LateUpdate as well. Setting it to use FixedUpdate instead seems to solve most of my juddering issues though. Any chance of adding a LateUpdate/FixedUpdate toggle to PegasusManager, so I wont need to keep editing my script every time there's an update? :eek:
     
  19. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    I will look into this! There is a new update coming soon.
     
    BackwoodsGaming and FargleBargle like this.
  20. perni87

    perni87

    Joined:
    Nov 17, 2016
    Posts:
    2
    Hello Adam!

    At first, really great asset - everything works just fine!
    Concerning the issue of rotating the camera (rotate the POI's): As you said, you will re-add this feature on next's release... Do you have some sort of specific release date in mind? Or otherwise: is there a quick work-around or fix in your script, so that i can enable it on my current version? Actually you can rotate the POI's but they have no effect on your camera or plane(etc...).

    Would be really great, if you can help me get a fix on that, because i would need this rotation feature quite soon!

    All the best,
    Gerald
     
  21. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Hi,

    This works fine right now... you need to set the look at target and then move the target to the thing you are looking at.. check the tutorial video to see how to set this up.

    Maybe I am misunderstanding the question ??

    Cheers,
    Adamm.
     
  22. perni87

    perni87

    Joined:
    Nov 17, 2016
    Posts:
    2
    Hey!

    Sry, that was my fault... I didn't explain myself quite right!
    The feature "look at target" works just fine, i thought you're intending to include another feature, let me explain my situation here:
    So, i want to create a camera flight, 1st person of a plane flight. Problem is, that planes usually lean into the curves. I tried to rotate the POI's itself, however their rotation didn't have any impact on the camera flight itself. The "Look at target" feature works great for every other issue, but unfortunately not for this one - it looks like the camera/plane drifts into the curve. I would need the camera to be focused on the track, and be able to lean into curves without loosing the focus on track itself.

    Anyway, if you have any hints or a quick fix to get this working, i would be really thankful!

    cheers,
    Gerald
     
  23. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Oh I understand now.. i actually had this in an early version and removed it.. will add it back in to the next version.
     
    BackwoodsGaming likes this.
  24. Volkerku

    Volkerku

    Joined:
    Nov 23, 2016
    Posts:
    114
    I would like to Pegasus to render a scene in high resolution and 360 degree for VR playback. Can't do in real-time, so each frame (saved as an image) takes ~20sec to render and save to disk. How can I get a Pegasus fly-through camera to trigger the frame rendering (call a function or press key) wait for the frame to finish rendering, and then move on to the next camera position?
    I also got Helios 3D (claims to be compatible with Pegasus), but can't figure out how this is supposed to work.
     
  25. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    They are designed to work together - but there is still some configuration required. Drop me an email with your invoice number and I will give you the latest version of pegasus (not released yet) - I made the integration much deeper and better.
     
  26. Volkerku

    Volkerku

    Joined:
    Nov 23, 2016
    Posts:
    114
    Two things I can't figure out in Pegasus.
    1) Create a flythough where the target follows auto follows the path, at the end, I want the camera to stop moving and slowly pan. Can't get the panning happening. Seems that if two POIs are in the same location, the segment time is always 0.00.
    2) A slower speed then 0.1 which is still too fast for what i would like to do
     
  27. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    As per my previous comment, please PM me with your invoice number and I will give you the latest version.
     
  28. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Heads up everyone - am working on a new release for Pegasus - eta is next day or so.
     
    turboscalpeur and blacksun666 like this.
  29. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Ok, release is done, will run a test and submit tomorrow if all goes well.

    New features in this release include:
    • Banking support
    • Better menu system
    • Much better integration with Helios
    • Chained Pegasus - play multiple Pegasus sequentially to get a dynamic view switching effect - great for creating substantially different camera angles to tell a story... or just jumping to completely new places in your scene
    • New visualization and keyboard control system - a MASSIVE aid to visual composition and time saver. Allows you to split Scene and Game video windows to visualize exactly what is happening / being viewed as you whiz your Pegasus through your scene
    • Trigger system - extensible system that allows you to trigger other game events as the flythrough progresses
      • Character animation trigger - when driving animals or characters, trigger legacy animations
      • Pegasus trigger - control multiple Pegasus from the one master timeline
      • Helios dip to color trigger - use this to remove need to post edit video joins especially with chained Pegasus.
     
    Last edited: Dec 14, 2016
  30. blacksun666

    blacksun666

    Joined:
    Dec 17, 2015
    Posts:
    214
    did you remember to put back in the ability to bank the camera as it flies around?
     
  31. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Just added banking in while fixing another bug - its super cool!
     
    blacksun666 likes this.
  32. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Here is the video I created for the new Pegasus release! It's been submitted to the asset store.

     
    Last edited: Dec 14, 2016
  33. blacksun666

    blacksun666

    Joined:
    Dec 17, 2015
    Posts:
    214
    Cheers for the update, bought it now. So once I have some contract work out of the way looking forward to having a play.
     
    AdamGoodrich likes this.
  34. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Making a cool new feature for Pegasus called "Auto Bank" based on some feedback in a review.

    It will be something you can click on the manager, that will then asses your flythrough and 'auto bank' it based on speed and rate of turn. Should be rather cool.
     
  35. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    So I got it working and its rather cool. Got some editor tweaks and doco to do before I can release. ETA is sometime next week.
     
  36. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    For those that have been following Gena, I just added the coolest new automatic optimisation capability and it will be launched in a few days.

    With the new system, Gena will find issues with your prefabs and automatically optimise them when placing them into a scene to be correctly batched and correctly lit, and also automatically places light probes.

    And last but possibly the most massively cool, will drop your scene bake times from hours to either minutes or nothing at all with ZERO loss of visual fidelity.

    In fact, this feature often gets you a better framerate and a better lit scene because it turns out that a high percentage of what is on the asset store is not correctly configured.

    In the scene below, I increased the framerate with no effort, and dropped GI bake time from 8 hours down to about 8 seconds. That's a pretty massive win!

    2016-12-20_19-35-41.jpg

    Grab 20161220212143 w1900h1200 x230y68z-168r327.jpg
     
    Stormy102 likes this.
  37. Stormy102

    Stormy102

    Joined:
    Jan 17, 2014
    Posts:
    495
    At some point I'm going to throw my money at you Adam. Your dedication as an Asset Store publisher is virtually unparalleled. There are just a few who go above and beyond like you.
     
    AdamGoodrich likes this.
  38. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Hey everyone - I am travelling for the next 3 days and will have adhoc access to internet connectivity, so any support requests may be a little slow. Thanks for your patience in advance.
     
  39. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    It looks like I'm still having weird issues using Pegasus to drive my airship. I thought I had it sorted out in my test project, but when trying to set it up in my actual game, it's been fighting me. I have the flythrough set to single shot, stopping at the end. I'm triggering it by calling StartFlythrough() from the PegasusManager script. Everything works fine until I approach the last POI, at which point the airship flips around backwards.

    Pegasus One Shot Issue 1.gif

    It's even worse in the editor, with the airship moving to the Pegasus Manager's origin when I select the last POI.

    Pegasus One Shot Issue 2.jpg

    My workaround has been to use a timer to disable the Pegasus Manager before this happens, but it's a bit fiddly getting the airship to stop at its original position and orientation at just the right time. I was hoping there was a better way to do this. Either I'm doing something wrong, or Pegasus is. It looks like I'm running into some kind of bezier or quaternion rotation issue that affects the end points when the path loops back on itself. What I need is for the airship to stop at the same spot it started from, pointed in the same direction, so it's ready for its next flight. If you know a way to force Pegasus to do this, I'd appreciate you sharing. o_O
     
    kurotatsu likes this.
  40. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Wow - sounds tedious.

    You can sort this out by setting the lookat target to where you want it to be - ie somewhere in the distance on the last POI.

    If you keep on having issues please contact me via skype and you can show me whats happening.
     
    kurotatsu likes this.
  41. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    OK, that stops the flipping at least. The target (my airship) still disappears from the editor at the last POI, which complicates setting its final position, but I can work around that as long as it points the right way. It seems to be fine in Play mode, so whatever the editor issue is doesn't affect the results. I'm still tinkering, but I think that should take care of it. Thanks. :)
     
    AdamGoodrich and kurotatsu like this.
  42. mk1978

    mk1978

    Joined:
    Dec 27, 2009
    Posts:
    276
    I have been using Pegasus and Helios together and I have been javing some weird problems. Actually I am not sure at all if these problems are because of these assets at all but I would like to check if there are any other users experiencing similar challenges.

    I really like the easy and quick way to set up my flying camera animation with Pegasus and beeing able to record with Helios. Anyway, when I try to record 2D video with higher resolution the output doesn't match the animation/preview anymore. If I record with preview mode in Helios the recording works just fine but if I increase the resolution the recorded images do not match with the original animation created with Pegasus and the recording cuts in the end so that the last second/seconds are not recorded at all. For example if I have targeted a flag in the middle of the screen in my animation the flag is no longer in the middle of the screen when I record the video. This happens especially when the camera/animation is turning and I have used targets to control the view. The more I increase the resultion the more it gets "out of sync".

    As I stated above, I actually think that this problem may not be because of Pegasus or Helios but more because performance or some other techinal issues. Therefore, I would like to check if there any other Pegasus users experiencing similar challenges when recording Pegasus animation with Helios or some other recording Asset. Helios author had not heard about similar challenges among Helios users.

    EDIT: This problem was solved by making sure that Pegasus uses the same framerate as Helios when recording the video. As a defeault Pegasus uses Framerate Max fps and after selecting 30 fps (same that was used in Helios) the problem was solved.
     
    Last edited: Jan 29, 2017
  43. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    I have to say, I found Pegasus very easy to use. I used it in my intro to the level, and the credits at the end.

    Well sorry for the wait, but here is the first featured asset video to give people an idea of what AI Warrior's approach to AI is all about.

    The featured asset video below is the first to show what can be created with AI Warrior, and other Premium assets I support, as well as their authors I believe in.



    Featured assets:

    AI Warrior from Kurotatsu Studios.

    -ootii's Motion Controller, Sword and Shield Pack with Adventure Camera.
    -Adam Goodrich's Gaia, Gena, and Pegasus.
    -3D Forge's Village Exteriors Kit.
    -Shpakivnia's Hair Tool.
    -Guzu Cloth Editor.
    -kripto289 Mesh Effects.
    -Mirza Beig Ultimate VFX
     
  44. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Hmm.. Pegasus just pushes your camera along and I have never seen these issues.

    @JohnRossitter any thoughts ?
     
  45. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
    @AdamGoodrich How does Pegasus tween between waypoints? Would I be able to control the update order and timeScale of Pegasus? And if so would this apply to each path independently?

    I'm considering getting Pegasus as a replacement for Simple Waypoint System which uses DOTween. I have a camera attached to a moving object, but I'm also updating the camera's rotation. So in order to get smooth movement I have to set DOTween to FixedUpdate and move my other code to Update. Ideally I could control the order of updates, but DOTween doesn't allow for fine grained control other than setting the defaultUpdateType.

    Thanks.

    Update: Looks like DOTween does have a way to set when and instance is Updated. Even so SWS creates a tween when moving, so it doesn't cleanly expose a way to control the tween until it starts moving. Anyway, I'm still keen on how Pegasus is setup because it looks easier to use and seems to have more features.
     
    Last edited: Jan 27, 2017
  46. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    It uses a custom system that I developed. The entire route is mathematically calculated and stored in an array. This means that runtime playback is essentially not much more than lerping between points and rotations. It's very fast and has no garbage collection issues.

    Collision avoidance adds in a bit more complexity but this is whats happening at its heart.

    Pegasus does its updates in FixedUpdate, as this is what Unity recommends. You could move that code to Update if you wanted do.

    You can change the timescale in Pegasus and it will change your Unity project to obey this. You can choose max fps, all the way down to something like 9 fps.

    Pegasus focus is on elegant simplicity. It is also integrated with Helios, so its dead easy to produce beautiful 2D & 3D video straight out of Unity.

    Here is a video of it in action. Next version will have auto banking, pause at location and a few other features that people have asked for as well. I might make the update configurable as well, as you are the second person to ask for this.

     
    Last edited: Jan 27, 2017
    kurotatsu likes this.
  47. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Btw.. if people want new features, please don't hesitate to ask. Often something is easy to add, and in those cases I will just add it. Bigger features I will consider and add to dev list.
     
    kurotatsu likes this.
  48. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
    Thanks for the quick response! Is it possible to control the easing of the lerping? Is it possible to adjust the easing between POIs?

    I want the camera to follow a path through a shooting course. And at each POI the player stops to interact with the environment. I'm still thinking about whether the player should just run from point to point (so easing for each segment would be nice to have, though my current solution is to have many small segments and control things with scripting) or to allow the player to control the pace of the run from point to point with a button press.

    Is switching paths midflight possible? Imagine following a road with a fork.

    Do you think Pegasus could accomplish this easily? Thanks!
     
  49. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Yes.

    No. But you can control speed, rotation etc per POI.

    Yes. You can trigger to another Pegasus.

    You can have multiple Pegasus, all with their own unique characteristics and control them via API. There is also an extensible trigger system that allows you to do different things as you progress along the segments. This is simple and powerful and Pegasus comes with a bunch of useful examples.
     
  50. sarum

    sarum

    Joined:
    Mar 2, 2014
    Posts:
    212
    Playmaker actions would be great :)
     
    AdamGoodrich likes this.