Search Unity

[Released] Rove3D: Interactive Pathtraced Global Illumination

Discussion in 'Assets and Asset Store' started by rove3d, Dec 24, 2016.

  1. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    How can we run Rove3D on Android?
     
  2. rove3d

    rove3d

    Joined:
    Sep 12, 2016
    Posts:
    89
    @Curious - I've done some experiments and it's difficult to say when it would be ready for release for Android. My current priorities are definitely to get the current version as stable as possible on the very wide array of GPUs people are using.
     
  3. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Cool, I'm certainly one of those people and can't wait for what's coming.

    But still, +1 for mobile (Android, iOS) and WebGL if possible ;)
     
  4. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    How do you know when a render is completed?
     
  5. rove3d

    rove3d

    Joined:
    Sep 12, 2016
    Posts:
    89
    @Curious You can set the samples per frame to render a specific number of samples, or just wait for the image to clear up.
     
  6. Elecman

    Elecman

    Joined:
    May 5, 2011
    Posts:
    1,329
    You can't. There is no definition for "completed" for path tracing. If the noise becomes imperceptible, you can call it finished, Some scenes require more samples than others for the noise to clear up.
     
  7. SAOTA

    SAOTA

    Joined:
    Feb 9, 2015
    Posts:
    220
    I seem to have found the perfect way to break ROVE. Importing massive worlds at run-time and assigning rove objects. : )

    [Edit]

    Not break, cause memory issues. Currently on 4GB 970 will try at work with 8GB Card.
     
  8. rove3d

    rove3d

    Joined:
    Sep 12, 2016
    Posts:
    89
    @SAOTA - If you're using very large scenes, you'll have to use 'Memory' from the 'Optimization Level' dropdown in the settings.

    Also noticing there is an issue with 5.6, I recommend staying on 5.5.x until the next update.
     
  9. SAOTA

    SAOTA

    Joined:
    Feb 9, 2015
    Posts:
    220
    I've tried this. It works sometimes, so perhaps it is 5.6.


    This is the scene I'm trying to render.

    No rove -
    screen_1920x1080_2017-04-08_19-47-45.png



    Rove -

    frame_1.png
     
  10. rove3d

    rove3d

    Joined:
    Sep 12, 2016
    Posts:
    89
    @SAOTA - just curious, what is the poly count in that scene and what are the results on your 8GB GPU?

    Also, if the trees are using Unity's internal tree engine, and are not just regular meshes, they won't appear as we haven't built in the tree or terrain engine stuff yet.
     
  11. Lex4art

    Lex4art

    Joined:
    Nov 17, 2012
    Posts:
    154
    Btw, here is the list of typical problems of using path-tracing in real time games:
    - No DXT/BC texture compression (everything is like *.BMP). So, if your game uses 4GB of typical video memory budged you need ~6x more VRAM (around 24GB!) for same scene with path tracing.
    - No texture streaming (because there is no MIPs). No streaming for meshes LODs.
    - Path tracing drops fps in linear dependency to amount of pixels, e.g. 1280x720 will render with 60fps -> at 2560x1440 it will give 15fps -> at 4K it will be 7.5fps
    - Path tracing have serious performance drops rendering trees (tons of alpha-tested polygons? or just more samples to trace because of high amount of additional surface area, created by thousands of near parallel planes?).

    How serious this list of problems affecting Rove3D?
     
  12. rove3d

    rove3d

    Joined:
    Sep 12, 2016
    Posts:
    89
    @Lex4art - Yes, the items you pointed out are all problems inherent with pathtracing currently, so Rove3D suffers from them as well. Current hardware is not designed for pathtracing, and so there are areas like you mentioned that are not ideally setup for pathtracing.

    Rove3D currently is best for interactive applications like ArchVis that don't require immediately noise-free results, and for rendering things like promotional stills and animations without having to jump out of Unity. We'll continue to improve performance as much as possible, but pathtracing in marketed, production games could realistically be 5+ years off.
     
    Lex4art likes this.
  13. Lex4art

    Lex4art

    Joined:
    Nov 17, 2012
    Posts:
    154
    Thanks for clear and honest answer!
    Hope to see some movements from Nvidia/AMD about hardware solving these limitations... or new PCI-E hardware, dedicated to path tracing needs. Per-pixel GI + perfect antialiasing is worth it ).

    P.S. https://www.blendernation.com/2017/04/08/real-time-cycles/ - maybe it's possible to merge rasterization & path tracing (but it will be compromise/limited ... maybe good enough for games, though).
     
    Last edited: Apr 11, 2017
  14. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Does Rove support multi-material meshes?

    What is suggested for making a script that converts Unity materials (eg. PBR) to Rove material system at runtime?

    It would be nice for ArchVis walk-through in realtime and then rendering a still image with Rove for example.
     
  15. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
  16. rove3d

    rove3d

    Joined:
    Sep 12, 2016
    Posts:
    89
    @Curious - Oops sorry I missed this, yes Rove does support multi-material meshes (sub-meshes can each have a separate material).

    Rove's new material system in the experimental version matches Unity's PBR material nearly identically, and the Rove materials are actual assets just like Unity materials, so it shouldn't be too difficult to write a script to copy the settings between the two.

    P.S. - pushed new version 0.1.3 last night with fixes for Unity 5.6, which is now the required version of Unity to run with Rove.
     
    photonic likes this.
  17. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    No problem man.
    Can't wait to try the new version already :D
     
  18. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Have you thought about supporting IES light profiles? Would be really cool for (currently) non-interactive renders
     
  19. rove3d

    rove3d

    Joined:
    Sep 12, 2016
    Posts:
    89
    @Curious - I have thought about it and probably will implement it in a future version, but the focus right now is VR (which is proving to be very challenging) and a noise reduction filter.
     
  20. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Noise reduction filter would be great!

    I think I found some kind of bug! It seems that Rove3D does not (currently) support different texture wrap modes. It seems that it currently is set to clamp mode. I couldn't find tiling or repeat mode.
     
  21. LightingBox2

    LightingBox2

    Joined:
    Mar 31, 2015
    Posts:
    2,781
    Some tests with 0.006. All models are very low poly and is made for mobiles
    Frame0.jpg Frame1.jpg Frame2.jpg Frame3.jpg photo_2017-04-23_01-07-22.jpg

    Video captured from my work in 30 min is uploading:
     
  22. WalterEspinar

    WalterEspinar

    Joined:
    Aug 23, 2011
    Posts:
    78
    Unity5.6f03 crash(Closes) with V01.13 package on my pc and with v0.006 after some minutes unity
    it freezes, may be due to an incompatibility with my ATIRadeon R9290x?
     
  23. LightingBox2

    LightingBox2

    Joined:
    Mar 31, 2015
    Posts:
    2,781
    Some new features needs for V 0.013:
    More material options
    Tiling for materials

    Also you can activate Run In Background from player settings for example project

    Noise over time gif comparison:
    1.30 means clock 01:30 ...

    www.GIFCreator.me_UZKm1r.gif
    photo_2017-05-05_03-34-29.jpg
    Progressive Lightmapper (6-14 hour bake time ETA)
     
    Last edited: May 5, 2017
    TooManySugar and Lex4art like this.
  24. rove3d

    rove3d

    Joined:
    Sep 12, 2016
    Posts:
    89
    @COAForce - Thanks, I will look into this. It should work with that card, I have a test machine with a mobile 290x that works, so that is odd.

    @aliyeredon2 - Thanks for the feedback! With materials about 50% of people ask for more options and the other 50% want it to be exactly like Unity's PBR materials, so it's hard to decide which is best. My goal was to make a very easy to use pathtracer because many times production renderers can be very complicated for the beginner, and I wanted to allow game developers to use this without prior production rendering experience.
     
    TooManySugar and LightingBox2 like this.
  25. LightingBox2

    LightingBox2

    Joined:
    Mar 31, 2015
    Posts:
    2,781
    Yes i also want unity standard shader like settings.
    You can add only Roughness using texture alpha (standard shader used this one) channel and Heightmap or AO options.
    Also you missed UV Tile option. it's very important

    Another suggest is that saving automatically Camera and Environment settings during playmode similar to materials settings that's saved automatically during play-mode.
     
  26. TooManySugar

    TooManySugar

    Joined:
    Aug 2, 2015
    Posts:
    864
    What would be a blast, would be that it was able to bake results into lightmaps. Photorealistic scene baking in minutes. Would make even the progressive light mapper look like a cheap toy.
     
  27. Abuthar

    Abuthar

    Joined:
    Jul 12, 2014
    Posts:
    87
    Upon downloading v013 and opening it with Unity 5.6.0f3 I get a failed to load library error. I then open the example scene and hit play and get a black screen with "Rove: Failed to get library", "Error code: 0", and "Rove: Failed to load plugin. When I stop the scene I get this error:

    NullReferenceException: Object reference not set to an instance of an object
    RoveSetup.OnDestroy () (at Assets/Rove/API/RoveSetup.cs:194)

    Am I missing something??
     
  28. LightingBox2

    LightingBox2

    Joined:
    Mar 31, 2015
    Posts:
    2,781

    Try example project with best setup
     
  29. rove3d

    rove3d

    Joined:
    Sep 12, 2016
    Posts:
    89
    @TooManySugar - that is a very likely feature for the future.

    @Abuthar - hmm, haven't seen that before. Any reason why the dlls in the plugin folder aren't able to be read?
     
  30. Abuthar

    Abuthar

    Joined:
    Jul 12, 2014
    Posts:
    87
    Honestly I'm not sure. I just downloaded the lastest version and opened with Unity 5.6 right after. I even installed unity and reinstalled it, no fix.
     
  31. photonic

    photonic

    Joined:
    Dec 29, 2012
    Posts:
    31
    Hi there, is it possible to use a skinned mesh also? We didn`t manage to do so.
    Cheers!
     
  32. rove3d

    rove3d

    Joined:
    Sep 12, 2016
    Posts:
    89
    @photonic - I should be able to add support for that relatively quickly, you can expect it in the next update. However, we don't currently support skeletal animation.
     
  33. photonic

    photonic

    Joined:
    Dec 29, 2012
    Posts:
    31
    Awesome! Can't wait! The possibility to render great marketing or demo shots with the correctly textured and posed assets in Unity directly would speed up things greatly. Keep up the good work!
     
  34. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Can we expect texture tiling as well?
     
  35. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    380
    Rove3D is great. I can't wait for path-tracing to be playable in games. This is the future for sure.

    Now for the bugs: scaling objects in a single axis doesn't work as expected. Try your test scene and scale a single sphere in the X axis up to 100 or more: the sphere doesn't get more than approx. 2 times the scale and the render speed drops. It seems to have some relation with culling in your renderer, maybe.

    Feature request:
    Wouldn't it be a good idea to render the new image over the last position rendered image instead of starting from a black image? This would make rendering much smoother when moving the camera.
    I know path tracing works by acumulation and thus needs to start from a black image, but you could render it internally over black with zero alpha and then alpha mix it with the image of the last position (the last image before Rove3D cleaned the render buffer) for the screen buffer. (assuming only non rendered black areas are zero alpha and rendered pixels have an alpha=1 )
     
  36. LightingBox2

    LightingBox2

    Joined:
    Mar 31, 2015
    Posts:
    2,781
    Developer left its development few month ago (as he said in website)
     
  37. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    380
    Oh! I'm late to the party it seems... thanks.
     
  38. brisingre

    brisingre

    Joined:
    Nov 8, 2009
    Posts:
    272
    That's a shame, it showed a lot of promise.
     
  39. LightingBox2

    LightingBox2

    Joined:
    Mar 31, 2015
    Posts:
    2,781
  40. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    380
    Anyway, we will have to wait for the makers of Octane Render to release their path tracer for unity, since they seem to be already on board. ;)

    https://unity.otoy.com/roadmap/
    bottom of the page
     
  41. janjanusz

    janjanusz

    Joined:
    Jun 12, 2017
    Posts:
    2
    Hello, your webpage is dead. What's going on? Is the project alive?
     
  42. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    991
    No, this project is very dead after charging $200 for a "beta" he determined that current-day hardware is not viable for pathtracing to be used in games (as per his announcement on Reddit 9 months ago).... Oh and it's also Unity's fault too. :rolleyes:

    He hasn't posted in this thread in a year.