Search Unity

[CLOSED] trueSKY for Unity

Discussion in 'Works In Progress - Archive' started by rvkennedy, May 19, 2014.

Thread Status:
Not open for further replies.
  1. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    Simul trueSKY is a real-time environment renderer - skies, volumetric clouds, time-of-day - all generated on the GPU and updated in real time.

    [video=youtube_share;3nzxkUPwMog]http://youtu.be/3nzxkUPwMog

    $UnityEditorTrueSKY.png
    $UnityEditorTrueSKY3.png
    $UnityEditorTrueSKY4.png

    As promised at GDC, we've got the first version of our Unity plugin ready for download. You can find it at Simul's download page (register at http://www.simul.co/register).

    It's DirectX11, Win32 only at the moment - other API's and platforms will follow. You will need Unity PRO, as it relies on external DLL's.

    Anyone is welcome to download and try it out - there's a 30-day trial built-in. The plugin is accessible from the download page (just follow the "Unity Plugin" link.)

    TrueSKY is a commercial system that's in use in numerous current and upcoming games - it's the system behind ARMA 3 and DayZ, Ubisoft and Sony are also using it, among others.

    We're not decided yet on whether we'll put something on the Asset Store, or supply the plugin directly as with our other stuff. Right now I'd like to hear any feedback or bug reports - this is an early-access Beta, and your comments will be taken onboard as we prepare for version 1.0.

    What we'll also do is offer a big discount to the first 15 people to buy a license on early-access. Details to follow!

    Cheers,
    Roderick Kennedy
    --------------------------
    Simul
     
    Last edited: May 20, 2014
  2. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Nice, looks like a perfect solution for flight sim ie UnityFS.
    Would love to test this out and get in on the beta.
     
  3. DRProductions

    DRProductions

    Joined:
    Jan 21, 2013
    Posts:
    15
    Interesting, what are you pricing it at? I maybe interested in this for a future project.
     
  4. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    Our standard prices are £25000 per sku for a large team and £15000 for indies for the full SDK, including source code. The offer price is US$950 for the Unity plugin. To qualify, you just have to be an independent developer - with a budget under $200k and less than 4 full-time employees.
     
  5. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    How does this compare to this similar asset for sim quality environments? (Silverlining)
    http://forum.unity3d.com/threads/10...olumetric-clouds-sim-quality-procedural-skies

    $950 puts it out of most indie devs price range especially compared to Silverlinings price at $100.
    Is that the price for release to asset store/own site or reduced beta price for first 15.

    Downloading now to test it out, would love a PM on offer for initial beta testers license.
     
    Origxn likes this.
  6. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Getting the following errors:

    Can confirm that the dll have installed to ..../Assets/Plugins/x86/ directory.
    What am i missing?
     
  7. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    Well - if the DLL is in Assets/Plugins/x86 that should be fine, but it depends on the other DLL's which are in Assets\Plugins\x86\dependencies;
    That's the reason for the "Add Path" at the top - so that Windows can find these when it tries to load the render interface.

    If it's somehow still not finding them - you can try the following:

    take the contents of Assets\Plugins\x86\dependencies (including all subdirectories) and copy them to the project directory (the parent directory of Assets/) - then give it a try - can you let me know if this works for you?
     
  8. Axel59

    Axel59

    Joined:
    Feb 28, 2013
    Posts:
    37
    I've trying the demo, it's look great!
    But I have a problem when I trying to acces to the Simul TrueSky panel. I have an error message:
    So I had installing QT plugins (5.8Go by default), and it doesn't work too, with the same error message.
     
    Last edited: May 20, 2014
  9. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    Hey Axel, thanks for your message! I wonder if there's interference between the Qt version you have and the one we use for the interface. Can you try copying the "plugins" subdirectory from "ExampleProject\Assets\Plugins\x86\dependencies" into the root project ("ExampleProject") directory and let me know what happens? If this fails, try putting the DLL's from plugins/platforms directly into the project directory. Unity usually has this as the working directory. I'll have a look from our end and see if we can make the search path system more robust.
     
  10. Axel59

    Axel59

    Joined:
    Feb 28, 2013
    Posts:
    37
    Sorry for my English, but "I have installing QT" and "not I had" :rolleyes: . I didn't have QT before installing your package.

    So I'm trying to copy the "\dependencies" directly in my root project, but it doesn't work.
    It's the same with copying the dll directly into the root project
     
  11. Axel59

    Axel59

    Joined:
    Feb 28, 2013
    Posts:
    37
    I forget to talk about another problem, because I thing it's not important, but when I import your package and I load the example scene, I have no terrain.
    May be it can help you to find the problem.
     
    Last edited: May 20, 2014
  12. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    Although there's terrain in the scene we didn't export that to the package because it's just taking up space - I don't think it's related, you can delete the Terrain object. We're building a version that saves a pair of logfiles - one for UI, one for rendering - and these should tell us where it's looking for the Qt plugins on your system - this might help track down John G's issue also. I'll let you know when it's uploaded!
     
  13. Axel59

    Axel59

    Joined:
    Feb 28, 2013
    Posts:
    37
    Ok, no problem.I have desinstalled QT on my system.
     
  14. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    That looks lovely! It's completely out of my price range as i'm not even indie, i'm not-for-profit atm, but i'll take a look at your plugin it looks really nice! In fact it'll be just the ticket to show off what i'm doing atm, at least for 30 days aha. Interesting you mention ubisoft and wotnot, i own a (license for a) cloud/tod product called Nuaj which was very competent given Unity was a pain for such a product at the time and the creator of Nuaj was going on to big similar things, i'd like to see them come back and make Nuaj live up to its potential now Unity is much more suitable for it.

    I'd love to see how far all the simulation things are going for nebulous hard-to-render things like participating media as GPU based processing makes it possible now and we seem on the edge of a whole new world of possibility now the strength of console GPUs make such systems entirely viable in realtime, in terms of processing and financial return.

    While it may be irrelevant for me, really, how do you see products like this working alongside the growing amount of PBR approaches being developed for Unity, especially given the oncoming release of Unity 5?

    I'll have a go! And come back with screenshots if i can, I do love a good bit of pimping
     
  15. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    In the early days of trueSKY, or Simul Weather as we called it, we had no way to do raytracing in a shader, so we had to construct geometry to simulate the effect of volumetric rendering. It was pretty good for DX9-class technology, but most games developers just used static or rotating skyboxes, or 2d animated clouds - most of our customers were simulation manufacturers like FlightSafety or even Boeing. But in the DX11 era we can raytrace through media and still meet 60Hz so we've had a big surge of interest on console. For example:



    We're already there, really - trueSKY is all about the physics of light, and PBR allows us to connect better to the main scene, because it's already in physical (linear) units. The question is, can displays keep up? I remember something a couple of years ago about an actual HDR monitor, but nothing since then!
     
  16. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Well videogaming's very apt for HDR other than the direct practical aspects as games so often simulate being someone, in some virtual place, and their eyes being as unable to represent the full range of luminance as our own - 'hdr' was a special effect in games (remember having to choose between hdr and bloom? aha) and now it's part of the workflow, and a natural product/necessity of accurate simulation.

    A hdr monitor to me sounds like the idea of making a display that can represent luminance values that are painful to look at, like the sun or even reflections of the sun off cars - to me that's when videogame and simulation lighting truly becomes realistic, but the problem there is that's actually dangerous and could easily blind people, however that was done - So that's a particular situation where hardware manufacturers aren't really allowed to pursue realism, it'd be very realistic and a disaster! You probably had something more practical in mind however aha and the topic's a bit out of my knowledge

    That said, devices being able to display a broader tonality would be great, the ability to display tonality is still way behind good ole negative film's ability to capture it, iso 100 film typically 11 stops of exposure? I think prosumer cameras only manage 8 or 9 - That's one place where if your videogame or simulation can process a higher range than your camera can record and has the ability to display it, you can artificially get fidelity higher than you'd expect to see from any reasonably priced camera, or view anywhere other than your very fancy display. That kind of example's a good idea of where all these things can go

    Talking of such things, have you investigated the Oculus Rift and how does this go with it? I've noticed other volumetric systems in Unity needed to be adapted a bit to work with it. It's something i'll check myself sometime soon if it's said to work well, it's these type of effects that can look particularly amazing with such hardware
     
  17. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    Yes - only a range that can't actually hurt your eyes would be best. It's of interest to us because skies generally have a high dynamic range - often much brighter than the foreground scene, or very dark at night - by a factor of hundreds or thousands compared to daytime.

    Yes. We've not got the Unity implementation going yet but we have done a lot of work making trueSKY work well with Rift - because we render clouds etc at lower than standard resolution, we've had to make sure that the low-res and hi-res blending is near-perfect, because such issues really show up on VR headsets. But I think we've cracked it, and our mixed-resolution algorithms should be good for other applications - particle systems etc.

    We've put up a new version of the package - 2.9.6.004 - that should help with the issues mentioned above by John G and Axel59. Let me know!
     
  18. thylaxene

    thylaxene

    Joined:
    Oct 10, 2005
    Posts:
    716
    ETA on OSX support?
     
  19. Axel59

    Axel59

    Joined:
    Feb 28, 2013
    Posts:
    37
    Sorry for my late answer, but I was sick last week.
    I've tried your new package, and it is worst. Now I have the error message just when I click on "ExampleSequence" in the project window.

    Here is the two log file:
     
  20. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    Several weeks - we'll lock things down on DX11 first, then the GL version should be quite straightforward.
     
  21. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    OK Axel - now that the logfiles are working, we'll put some more diagnostics in there to nail down where it's failing.
    The error is happening earlier because we launch the editor window automatically now, it's the same aside from that though.
     
  22. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Just realised this is 32bit only, I'm running on 64bit hence my issues. :(
     
  23. Axel59

    Axel59

    Joined:
    Feb 28, 2013
    Posts:
    37
    I'm running on 64bit too.

    But I've discover that truesky don't need the sequence, and I think it is possible to access to the parameters by script.

    I saw and example with the time value in the truesky script, but i can't access to the other parameters. Could you explain how it's work?
     
    Last edited: May 28, 2014
  24. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    Can you explain what you mean by running on 64 bit? The editor appears to be 32-bit only, though there's an option to build for 64-bit. Do you mean using 64-bit windows?

    If you look in Assets/Simul/trueSKY.cs, you'll see a set of imported functions declared like this:

    [DllImport(SimulImports.renderer_dll)]
    private static extern bool StaticGetRenderBool(string name);


    .. and so on. There are get and set functions for bool, float, string and int. Using these you can communicate with the trueSKY renderer by sending and receiving values. At the moment we have implemented the following - for bool:
    • ShowFades
    • ShowCelestialDisplay
    • ShowCompositing
    • ShowCloudCrossSections
    • EnableRendering
    For float:
    • Time
    • SunAzimuthDegrees
    • SunElevationDegrees
    • SunIrradianceRed
    • SunIrradianceGreen
    • SunIrradianceBlue
    • Gamma
    • Exposure
    The sun properties are read-only - see SimulSun.cs for how these are used.
    for int:
    • CloudSteps
    We'll be adding many more as we go in order to provide a high level of real-time control.
     
  25. Axel59

    Axel59

    Joined:
    Feb 28, 2013
    Posts:
    37
    I'm on windows 64bit that's all. Unity is in 32 bits, sorry.

    Ok for the property, I arrived to using them with script. It's look promising, but it's pity to don't have more controls like cloud coverage for example.

    I've made some other tests (I compare your tool with Nuaj'), and I'm very happy to see that post process (like DOF, bloom, etc...), work fine with TrueSky.

    But the real time reflection (water pro) doesn't work with the sky, Do you have a solution to fix this problem in the future?
     
    Last edited: May 28, 2014
  26. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Still no luck getting this to run using latest build of trueSky (Have input trial key from site).
    Using V4.3.41f of unity Pro (30 day trial mode) on windows 8.1 Pro 64bit. Keep getting this error.


    x86 folder and dll's are in place as well as dependencies folder within x86 folder.
    Copying all the files from dependencies to root folder also has no effect :(
     
    Last edited: May 28, 2014
  27. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    OK - can you try build 0013? This forces the DLL's to load early, and reports where it finds them from. As before - please do upload your .log files if it doesn't work!

    Thanks, Roderick
     
  28. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Getting the following 2 errors:

    Assets/Editor/trueSKYEditor.cs(108,41): error CS0117: `UnityEditor.AssetDatabase' does not contain a definition for `FindAssets'

    Assets/Editor/trueSKYEditor.cs(110,17): error CS1579: foreach statement cannot operate on variables of type `object' because it does not contain a definition for `GetEnumerator' or is not accessible

    Unity log file:

     
    Last edited: May 29, 2014
  29. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    You can just paste them here - only the first 10 lines or so should be needed - or attach them to your post as files. But if it's not getting "FindAssets", this might be a difference between Unity 4.3.4 and 4.5 (the new version this week), so a quick upgrade might sort that out for you.
     
  30. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Above post amended with log file attached. Will download 4.5 to confirm.

    Thanks Roderick
     
  31. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    Sure thing! I think the significant information for us will be in trueSKYUnityUI.log and trueSKYUnityRender.log in your project directory, but we might not get these if the .cs script is not working. The ExportPackages code in trueSkyEditor.cs can be disabled without any problems if you can't upgrade to 4.5; I'm not sure what our best solution is to avoid this kind of issue.

    EDIT: in the new version (0014) I've wrapped the offending code using #if UNITY_4_5 - this is uploaded now. You can use this, or just add the #if guards manually in trueSKYEditor.cs.
     
    Last edited: May 29, 2014
  32. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Quick update, the 0014 update now produces no errors untill play is clicked.
    The inspector panel for trueSky is also complete now, showing more options like Cloud steps and diagnostic options. Where as in previous builds only License key and unity renderer was shown.
    Again though once play is hit the same errors are back, also no Logs being created in project folder.
    Almost done downloading Unity 4.5, so will update on how that goes.
     
  33. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Unity 4.5 still has same errors :(

    Screenshot to show errors: (right click and save as: For full size)
    $Errors.gif
     
    Last edited: May 29, 2014
  34. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    As a test, can you try to import the package to a fresh, empty project directory? The older files may be confusing the DLL loader.
     
  35. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Has no effect, always DLL not found exception. Could this be a windows 8.1 issue with regard to UAC restrictions.
    Though I have given standard user full read/write access so not sure if thats the case.?????
     
  36. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    I don't think it's a Windows 8 issue, but if you try the new upload (0017) it has a batch file (Assets\Plugins\x86\depends\CheckDependencies.bat) that creates a pair of log files. Can you upload these and I'll take a look?
     
  37. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Here you go Roderick, hope the answer is there:

    Cheers.
     

    Attached Files:

  38. khos85

    khos85

    Joined:
    Jul 21, 2013
    Posts:
    541
    Hi, sorry how much will this cost?
     
  39. Paddington_Bear

    Paddington_Bear

    Joined:
    Dec 9, 2012
    Posts:
    274
    I'm seriously impressed, should you choose not to publish this via the asset store do you have any ideas regarding the licensing for larger scale projects/studios?
    Thanks.
     
  40. Axel59

    Axel59

    Joined:
    Feb 28, 2013
    Posts:
    37
    Another problem.
    When i try to make a build, I have this error.

    "The type or namespace name `UnityEditor' could not be found. Are you missing a using directive or an assembly reference?"
     
  41. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    Thanks for this John - the UI looks fine (can you see the UI when you edit the Sequence?) but unfortunately we changed the render plugin filename and forgot to alter the batch file - can you alter your .bat so that "UE4PluginRenderInterface.dll" is replaced by "TrueSkyPluginRender_MD.dll"?
     
  42. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    No, once I click on the sequence it throws up the dll error.
    Wil rename the batch file and repost the results once in back at my PC.
     
  43. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    We're already licensing to larger studios on our standard model, which is per-product per-platform, including source code.

    But what we're thinking now is to make a version specifically for the asset store as well. It's a big leap though, between asset store prices and the sort of price we need to charge for triple-A, so we need to figure out the differentiation - I'll post more when it's decided.
     
  44. Paddington_Bear

    Paddington_Bear

    Joined:
    Dec 9, 2012
    Posts:
    274
    Thanks for the reply.
    Perfectly understandable, have you considered a standard licensed and studio licensed versions as separate entries on the asset store?

    Anyway, I sent you guys an email a few days ago regarding the beta "product key" or whatever it was. I imported to Unity,
    read the docs and found that the key should be in my directory? Your website also said something about it being in my account? Couldn't find anything, could you give me a hand?
    Cheers
     
  45. silentneedle

    silentneedle

    Joined:
    Mar 14, 2013
    Posts:
    280
    Will this work in the unity webplayer?
     
  46. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    No, sadly - it needs external libraries so it will only work for native apps.
     
  47. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    Hi Christian, you should have received an email from contact@simul.co with your 16-character license key; it is also under the "Account" link on our website when you're logged in - let me know if you still can't find it.

    We'll put the basic version on the asset store, assuming Unity is OK with our approach of using external libraries for UI and built-in shaders rather than Unity shader scripts. If not we'll sell that on our website. But Asset store prices only go up to $1000, so the studio version will continue to be handled via our site.
     
  48. rvkennedy

    rvkennedy

    Joined:
    Mar 27, 2014
    Posts:
    127
    I think I have a solution for you John. As it turns out, our use of Microsoft's standard libraries was requiring DLL's that you don't have - msvcr110.dll and msvcp110.dll. Most games use the visual studio redistributable packages to install these, but that's not a good option for Unity-based stuff. We're not able to get rid of these dependencies for the UI so I've built the redistributable installer into the package - it should run, once only, if needed, when you launch the sequence editor.

    For rendering, we've switched over to built-in runtimes (_MT dll's), so you won't need those files and neither will your eventual end-users.
     
  49. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Downloaded latest build and imported. This fixes the Sequence Editor, can now open ok.

    But getting the following error:
    c:\users\john\documents\unity\unityfs\assets\plugins\x86\TRUESKYPLUGINRENDER_MD.DLL
    Error opening file. The system cannot find the file specified

    Can confirm that file is not located in folder, and appears to be missing from latest build.
     

    Attached Files:

  50. Axel59

    Axel59

    Joined:
    Feb 28, 2013
    Posts:
    37
    I've download the last version: trueSky-2.9.6.0018

    Now I can open the sequencer, but the sky don't work, and I have the error messages:

    The trueSKYUnityUI.log:
     
Thread Status:
Not open for further replies.