Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Amplify - Virtual Texturing for Unity Pro, RELEASED! Starting at $99

Discussion in 'Made With Unity' started by Diogo-Teixeira, Jul 11, 2011.

  1. xadhoom

    xadhoom

    Joined:
    Sep 2, 2010
    Posts:
    91
    Hi Diogo,

    Thank you for the update. I´m happy that Amplify becomes more and more stable. For our next project we are currently investigating if we can use Amplify. But we would also like to benefit from high substances compression and its design tools to minimize the build size on deployment. We figured out that probably the most advanced approach would be to be able to build the mega texture on the first run and store it for any further starts (our substances do not change at runtime!) like the new Procedural Texture caching option provided by Unity4.1 for individual substances. We think that the new API introduced in Unity4.1 would allow this workflow:

    The initial run could execute a script loading all meshes and its substances the user wants (storing the pixel data in one megatexture). Later, the asset material would probably need to be replaced manually to an Amplify material.
    Would this be a possible texture pipeline to benefit from both techniques or do you see substantial issues with the asset management?

    Thank you,
    xad
     
  2. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    I decided to stick to composite images. You will basically concatenate a small low res texture file (e.g. jpg) with a high res file (raw). The second one will be ignored by the Asset Database. I will provide a tool to import a batch of large textures into the Assets folder.


    This could work, and I do see the potential advantages. Won't turning on isReadable be a problem for memory footprint?
     
  3. xadhoom

    xadhoom

    Joined:
    Sep 2, 2010
    Posts:
    91
    Hi Diogo,

    Thank you for your quick reply. I´m not sure about the details. It might be that the memory is mirrored in RAM or that the texture is just managed differently (wiht lower performance) on the graphic card. In any case the creation step would be done only on the first run of the game for all textures or at least all textures which should belong to one megatexture.

    Thinking about the material replacement step:
    I think it would be best if the materials of all assets with substances (which should be put into megatextures as described above) would actually have a special AmplifyMaterial with a reference to the substance. This would give Amplify the control to manage this creation step without replacing any materials at runtime. I´m not sure about the technical details on your side but things might become interesting if you want to create several megatextures (e.g. one per level/area) or a game update with new materials (substances) wants to include them into an existing or new megatexture.

    Do you see technical or conceptual limitations with Amplify here?

    xad
     
  4. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    What would be the correct export from WM then for very large images i want to import in amplify? (128K + )
     
  5. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    It likely wouldn't be feasible using Amplify. Megatextures should not be created at runtime because the whole process is just too performance intensive. Even a 64K VT can take several minutes to build on a quad-core workstation. Updating small areas is certainly possible. However, even if we go down to 32K, substance texture generation times, added to VT build times, could still be too large to be practical.

    Instead, I was actually considering the possibility of a new plugin for this purpose. I need to do a bit of research on substance, however, to see how fast it generates those textures and whether I could build a (megatexture-less) procedural-ish virtual texturing system from it.

    In either case, what's the minimum hw spec for your game?

    1) You would export the complete texture in raw format. Is this even possible in WM?
    2) Use the Amplify VLI import tool to turn that large file into a composite image file that both Unity and Amplify can interpret.
     
    Last edited: Mar 20, 2013
  6. xadhoom

    xadhoom

    Joined:
    Sep 2, 2010
    Posts:
    91
    The minimum spec would be a decent dual core at least.

    Regarding creation time: From my current understanding the local creation of the substances + putting everything together into a megatexture would replace the download of the precalculated (baked) megatexture with a similar quality. If the calculation takes way longer then a typical download there would be no benefit... I would think of this like a final step in the installation process. It might be even possible to leave the user the choice what max resolution per substance he wants...

    xad
     
  7. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    On the other hand, if megatexture building time is limited by a maximum level/game load time, might as well just pre-load the substances per-level and use the regular texturing system. Seems too much work just to save draw calls. Especially since virtual texturing doesn't come free on the shader units.
     
  8. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    WM only support the following export formats (not sure all of those can go to high res, maybe even none? which is why i really liked the option you suggested earlier of making a plugin that exports directly to your own format! :)

    $WMImageSupport.png
     
  9. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Uncompressed TIFF is also an option, although some kind of compression would be preferable. Exporter it is..

    I've just licensed it and should be getting a download link tomorrow. I'll have a look at the SDK as soon as I get it.
     
    Last edited: Apr 12, 2013
  10. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    That's great news
     
  11. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    hi,

    this tool help in reduce web player loading time?

    Dev
     
  12. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Amplify does not yet support for web player builds at this time, due to technical limitations in Unity. It would certainly help reduce loading times if it did, however.

    Amplify uses variable bit-rate compression, on virtual textures, and thus able to reach up to 15:1 ratio with decent quality. Quality/compression trade-off is also configurable, so even 30:1 is possible by sacrificing quality a little bit. These numbers will improve in the future by introducing more advanced image codecs. Typical ratio for Unity's base compression is 4:1 for 32bit textures, and 6:1 for 24bit.
     
  13. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    hi,

    Thanks for reply.

    Dev
     
  14. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    763
    Hey Diogo, what's the VLI tool you're talking about? I'm only using the demo here, but I want to use an aerial image which is way larger than Unity's limits, so I can't have Amplify just read it as a regular texture - how do I convert it?
     
  15. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    How large is way larger? Amplify already supports pretty large textures way beyond what unity does today so depending on the size you may be able to do what you need right now.

    Also diego, any update on the WM work? :)
     
  16. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    763
    33536 x 33536
     
  17. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Duke, I haven't deployed it yet. Still work in progress.
     
  18. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    763
    If I buy this, would I be able to get a version of the tool? I don't mind if it's command line or just a function somewhere, or only takes particular raw format, I just want to get this aerial image working.
     
  19. Hotsun

    Hotsun

    Joined:
    Aug 11, 2010
    Posts:
    122
    Could you tell me how this is affecting the draw calls?
    Right now I really don't have enough time to download the trial version and test this.
     
  20. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    It increases draw calls quite a bit. However, the extra draw calls are NOT fill-rate bound and are proportional to the scene's draw calls. So if you are drawcall/cpu bound already and are not planning on optimizing it, it will certainly contribute to performance degradation. On the other hand, if you optimize your scene, Amplify will also require less extra draw calls.

    In 1.6.0, we will introduce improvements to take advantage of static batching and other types of savings in order to finally take advantage of virtual texturing in this regard.
     
    Last edited: May 4, 2013
  21. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Any ETA on at least a beta version of WM integration?
     
  22. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    It is also targeted for 1.6.0, which will be out this month. I'll be sending you a test version sooner.
     
  23. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Can't wait to see em 128KX128K textures in game :)
     
  24. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    763
    What about meeeee!? Is that VLI tool in a workable state?
     
  25. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Yes. And I plan to export using adjustable variable bit-rate compression (~6:1 on HQ) to these intermediate VLIs, so you don't have to move giant files around.

    I'm expanding this format in the future to regular textures too. It'll add neat stuff like partial update support. So, if you change only part of the image, it will only update the modified areas.
     
  26. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Hi everyone,

    We've just released Amplify and Amplify Pro 1.5.13 to the Asset Store.

    Improvements
    • Fixed SceneView camera detection issues while editing
    • Fixed team collaboration issues using asset and cache sync with version control
    • Fixed crash when disabling alpha but leaving color and normal
    • Fixed hard coded paths; allow moving the base plugin root folder
    • Fixed deployment on Unity 4.1.x
    • Fixed multiple camera support
    • Split settings between User and Project; project settings stored in ProjectSettings/AmplifySettings.asset
    • Changed shader names required to start with "Amplify/"; setting tag "Amplify"="True" also works now
    • Added custom virtual texture cache folder; can now be placed inside the project for version control sync
    • Added support for multiple streaming threads
    • Added user warning when multiple AmplifyRuntime are detected on the same camera; disable excess
    • Added experimental Linux 32bit support
    Next up is 1.6.0, and it will bring some dramatic improvements to workflow along with the highly anticipated VLI support and Lightmap virtualization, among others.

    Please let us know of any issues you encounter with this version and we'll fix them with the highest priority.
     
  27. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,364
    I'm throwing money at the screen but the screen don't react to my money... Jk! :rolleyes:
    Yeah, wondering if you have any mobile version in the works (or coming soon to Unity)? :D
     
  28. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    To be honest, I was expecting to get into mobile sooner. On the other hand, I've been getting a lot of support requests from customers to improve stability and workflow, which is my top priority, followed by a couple of important features still pending. So, right now, I'm really focused on delivering rock solid tools.

    An attempt at mobile is still planned, though I can't guarantee an ETA or whether it'll be fast enough.
     
  29. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,364
    Don't worry,
    We don't need it right now, take your time and improve what's there and then add mobile support later on. :)
    Good work!
     
  30. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Thanks for the support! :) Cheers
     
  31. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Any news on the VLI support? Really looking forward to it and it's been fairly long now, i'm starting to need it :(
     
  32. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Haven't been getting much time free time to work on these lately. I apologize for the inconvenience. I'll get back to it as soon as I possibly can.
     
  33. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    The earliest mentions of this had a february target release date :( do you maybe have some form of early version?
     
  34. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    There were other priorities early on, though. It was mentioned as a roadmap feature. Unfortuntely, I'll be working through the weekend this week (milestone) so I won't be able to get back to work on Amplify before weekend after the next.

    I'll get in touch with you directly via email or skype if I manage to get some free hours during the week.
     
  35. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Anything would be great really, so feel free to send any early version (even if buggy) my way, the soonest i can get those textures in unity, the soonest i can see if it will pose problems :)
     
  36. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Fair enough. I'll do my best to make this happen as quickly as possible.
     
  37. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Wait a minute!. where is the free version?
     
  38. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    What free version? I don't think there ever was one?
     
  39. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
  40. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Ah!. Thx ;)
    The older version managed textures of 24k * 24k. It's was a good deal. What the difference with the actual trials?
     
    Last edited: Jun 6, 2013
  41. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Was 32k * 32k. Trials are basically full versions with a watermark on top. Might bring free back in the future, though.
     
  42. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Yes, 32k *32k. My bad.
     
  43. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Hi everyone,

    Ronan Thibaudau, at RT Information Technologies, just released a demo for HighRes Terrain Pack 1 : Mountains, featuring a high resolution terrain (16k, 32k soon) made possible by using Amplify. I think he's accepting suggestions for different themes so get in touch with him if you're looking for a different setting.

    On a different note, in case anyone is having stability issues with Amplify on Unity 4.1.3 to 4.1.5, please be patient. I'm looking into the issue and will resolve it as soon as possible. Sorry for the inconvenience.
     
  44. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    I just want to add that I think that you have a really fantastic product here. Being able to use large scale textures really will be nice for creating graphically intense games. Now, granted, I haven't purchased the product, but I'll try Ronan's demo and see it in action. :)

    Also, I saw he has a native Linux build. Does this mean that Amplify has Linux support? I didn't think that that was the case.
     
  45. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Oops i forgot to mention, i only have windows so i generated the builds hoping it'd work but i'm clueless there, so could be wrong! :)
     
  46. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    I'll let you know. :)
     
  47. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Yes. I've added x86 Linux support in the latest update. Please report any issues you may encounter.
     
  48. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Well that's raw luck as i didn't even know that when publishing, but he confirmed in my thread that it works so you've just found a linux tester hehe
     
  49. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Good timing on the Linux support then, hehe
     
    Last edited: Jun 11, 2013
  50. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Hi everyone,

    Quick fix revision for Amplify and Amplify Pro 1.5.14 now on the Asset Store.

    This was released before 1.6.0, which has been delayed due to other workload, in order to fix important stability issues for some users.

    Improvements
    • Fixed crashes when exiting play-mode to Unity4 editor on certain hardware/software combinations
    • Fixed black texture due to one frame lag when switching/activating cameras at runtime