Search Unity

So, Nanite

Discussion in 'General Discussion' started by Win3xploder, May 13, 2020.

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

    DimitriX89

    Joined:
    Jun 3, 2015
    Posts:
    551
    For non-deforming objects, even Blender's Decimate modifier will suffice. It does good job preserving UVs
     
    Deleted User likes this.
  2. Deleted User

    Deleted User

    Guest

    Didn't knew about that... Thanks!! I don't think Indies must be affected by that in any way
     
  3. Deleted User

    Deleted User

    Guest

    Plus, what it guys make is not "Nanite-like", which the author actually states himself in the video title ;)
    It's more like DX12 mesh shaders, perhaps processing chunks of meshes instead of whole meshes. I may be gravely mistaken here, but looking at the effect...

    The demonstration video still demonstrates something like LOD popping in. Or just mesh clusters loading with distance?
    It's very much visible. That's exactly one of the issues eliminated by Nanite.

    Nanite utilizes its own software rasterizer. It enters the area of GPU-driven rendering. Only a single draw call for instances of a given shader in the entire scene.

    AFAIK Nanite assets aren't compressed with loss? Actually, they're saving less information, as part of it is calculated in a runtime.

    https://blog.en.uwa4d.com/2022/02/15/analysis-of-ue5-rendering-technology-nanite/

    Last, but not least. UE5 comes with Virtual Shadow Maps allowing for high-quality shadows on incredibly dense meshes without killing performance.
    Plus Lumen, if we want to avoid baking lights in an incredibly dense environment ;)

    I don't believe that such deep changes are possible without altering Unity's rendering itself.
     
    Last edited by a moderator: Apr 18, 2022
  4. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    632
    I wrote, as well as the author that the tech was 'nanite like'. It's actually better than nanite if he got it running on mobile and DX11 hardware, since nanite officially now only supports DX12 hardware.

    And to the other poster yes so far this guy is our only hope, since after 8 pages of talking I haven't seen any of these mystical graphics programmers come up with a solution yet.

    Just check out his youtube channels, he goes over the optimizations that he's still currently working on, with a video as recent as a week ago. And even if his technique still had a little pop in which he says he's fixing, it would still be worth it for something that completely replaces the need to author lod's, worry about polycounts, displacement/tessellation, virtual texturing, etc

    Anyway I just thought I'd come into the thread and show an actual solution being developed by a programmer instead of 7 pages of unreal vs unity talk, since I thought the thread would like that.
     
  5. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    My point was that mesh simplifcation solutions exist. Be it simplygon or another one. Such solution can be wired into unity pipeline. I distinctly recall people saying that there's no point in retopoing a column when you can just use a buttone in zbrush and call it done.

    Also, unity has many other pain points that can be addressed instead of nanite for the same significant effect.

    A highly skilled graphic programmer will be very busy at their place of employment and are unlikely to monitor unity forums, participate in unity/unreal fights or engage in unpaid labor.

    However, it is a "throw money at it" kind of problem. If there's funding, it can be made.
     
    Deleted User likes this.
  6. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,144
    I'm not a lawyer but if you take a moment and think about it it may very well be problematic. When you buy an asset from a store or other third party it comes with a license that prohibits distribution outside your organization but that's precisely what you're doing with Simplygon's free tier. You're giving Microsoft a copy of the asset.
     
    Last edited: Apr 18, 2022
    angrypenguin likes this.
  7. Deleted User

    Deleted User

    Guest

    Just a minor technical correction. Nanite was running on DX11 until 5.0 release, so it doesn't impose DX12 itself. Perhaps it was pushed to support remaining features later, i.e. masked materials. Dunno, it's above my understanding of shaders, shader models ;)

    Or simply... Nanite team decided to ignore ancient API since DX12 is set as the default API in 5.0.
    DX11 itself is irrelevant as GPUs support DX12 since 2014.

    There's actually no reason to use older DirectX on Windows. Spending extra engineering time while working on an entirely new renderer.

    Nanite isn't tied to any specific API. The hardware requirement is Maxwell and GCN architecture, so it goes back to older consoles ("support on these platforms is currently considered experimental").
    Works on PS5 which doesn't run on DX12.

    Vulcan is also supported. That's 74% of the Android market? I have no idea how it's comparable with the Vulcan available there, probably needs the newest one, so only 56%?
    https://developer.android.com/about/dashboards

    Have no idea if GLES can be supported by Nanite.

    PS "Better" is a vague statement when considering various projects with various visual fidelity on various platforms. "It depends" ;)
     
    Last edited by a moderator: Apr 18, 2022
  8. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    632
    Just the fact that this project exists for Unity makes it a win for all of us, so I'm stoked someone is actually working on it. Better is definitely subjective, I haven't seen or heard of UE5's nanite being able to scale down to anything as low as mobile so that's a huge +1 for the Nanotech implementation.

    Anyways I'll probably drop back in this thread to drop his crowdfunding link when it happens for people that want to support the project!
     
  9. Disclaimer: initially I posted a shorter version of this, but then deleted it (sorry @neginfinity I know you have referred to it previously). I decided people can learn from it, so hereby reposting it with a bit more explanation.

    No sane person would start to build a big project w/ manual post processing and LOD-generation. Few assets? Sure, hundreds or thousands? No. That calculation where LOD-generation is extremely labor-intensive is pure nonsense and not how it is done in real world application.

    In real, big projects you start with writing (or moving it from an older project, because you usually write these things once and then reuse them and sometimes improve them) a tool, which post processes your assets.
    For example using this asset: https://assetstore.unity.com/packages/tools/modeling/mantis-lod-editor-professional-edition-37086
    Command line tool, you can call it when you import an asset, it generates LOD for you and you can set-up LOD-levels automatically.
    Then you either show the work to the person imports it or more likely add that prefab to a common showcase-scene so QA can take a look and make sure quality is up to snuff. If an asset for some reason isn't, then you can process that one manually. But that should be rare. Otherwise you tweak your asset pipeline.
     
    Last edited by a moderator: Apr 18, 2022
  10. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,144
    Epic primarily focuses on AAA. It's where they make the bulk of their money off of third party developers. With that in mind I strongly suspect that it's not a case of it can't support mobile but that it's simply not important to them.

    On the topic of performance I know the project is most likely not as optimized as it could be but that phone is a Huawei L29 which ranges between $300 and $900 and the computer he's getting achieving 60 FPS at 1080p is running a 5900X and an RTX 3070 which combined cost around $1,200 right now.

    Be careful that you don't assume targeting mobile means that it's necessarily faster. Below is a link to his latest video and in the description he makes it clear that even with the performance improvements he's made it's still slower than Nanite and that he only "thinks" it will eventually achieve performance parity.

     
    Last edited: Apr 18, 2022
  11. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,063
    Also, this is from his first video from November last year:


    So is it even practical right now? Or it's just a nice vertical slice of what theoretically can be achieved with enough optimisation? People are hyping things too much with very little information available.
     
    Rewaken and Deleted User like this.
  12. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    People don't follow the thread, I got into the comments and pull the part where he explain all of that, but ho well.
     
  13. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,063
    Explains what? I see some comments about pop-in but not the actual mesh creation/generation.

    EDIT:


    From last videos description:

    And comment:

    Seems like it's still an issue. Will be interesting to see what the "many hours" optimized will end up being.
     
    Last edited: Apr 18, 2022
    Rewaken and Lymdun like this.
  14. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
  15. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,751
    Not sure where people got the idea that would scale down to mobile. AFAIK GPU compute is still kinda wonkily implemented on mobile. Last time I checked, even on iOS Metal (the gold standard for mobile GPU implementation) a compute shader processing NxN elements actually ran slower than running a fragment shader over NxN pixels. It's just downhill from there on Android, where you have to contend with spotty Vulkan/GLES3.1 drivers.
     
    Deleted User likes this.
  16. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    632
    Lol jeez you would think based on the premise of this thread someone building a nanite like system in Unity would be met with encouragement instead of the pessimism that is on display. All tech starts out unoptimized and gets better with time. I'm not sure where you all want the conversation to go.
     
  17. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    1,696
    Perhaps the reason the dev does not have a thread of their own here...
    It's a very pessimistic forum :/
     
    blueivy likes this.
  18. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,144
    Nanite took over a decade of personal research, greater than three years of full time work, and it's not even in a complete state. When UE5 was announced back in 2020 Brian had already had a team of engineers working with him on it for an entire year.

    https://twitter.com/briankaris/status/1260590413003362305

    I want more technology like this to succeed but I'm going to be pessimistic when the author says development will only take a few months when everything suggests otherwise. In fact the author has shown some pessimism of his own by stating that it's entirely possible that nothing will come of his project.
     
    Last edited: Apr 19, 2022
  19. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,063
    A previously unknown solo developer pulling off something similar to Nanite, which took a multibillion company many years to achieve with a team of some of the best engineers in the world? You bet I'm skeptical. The author himself has stated that there could be multiple blockers that would stop the whole endeavour. And his comment about the release in a few months + crowdfunding and hiring freelancers is sketchy and raises some red flags.

    I'll believe when I see it functioning on my machine. A fancy looking demo in video format is not enough for me to rally behind an unknown developer.
     
    Anthonypenda and Deleted User like this.
  20. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    If those people are publishing papers, then following their footsteps is going to be significantly faster than researching it for the first time.

    It is worth keeping in mind that many things in graphics originate from a research paper which sometimes took months or more to develop. Even minor ones.
     
  21. Shizola

    Shizola

    Joined:
    Jun 29, 2014
    Posts:
    475
    Nanotech looks very cool. One thing Unity could easily do is award funding to 3rd party devs like Epic do with their megagrants. It would be peanuts for them but huge for single developers like this guy.

    Having said that I really hope Unity is working on their own solution.
     
  22. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,138
    Or maybe because we actually looked into its functionality and know that Nanite took a decade of work to reach its current state and know what the bottlenecks of these kinds of pipelines come from, and know about how the application is much more specialized than people let on.

    You know.

    Those things we've been saying for the entire thread.
     
    Deleted User likes this.
  23. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    738
    I feel like you missed the point.
    Its a reference point to the man-hour saved with the tools available.
    That's great if Simplygon can save what is supposed to be $83,200 of manual work with only $30,000. (That's $53,200 saved)
    Nanite can save the full amount at no cost and plus more. Because Nanite covers more ground in which Simplygon does not cover. Like various per-scene optimization on certain constraints like the cost of reworking the scene to meet triangle budget, memory limitations, less QA testing needed, etc.

    Halo : Infinite uses Simplygon, and have you tried the game?
    A lot of the sections barely runs at 15 fps on a 2yo high end hardware. Even with the amount of budget they have, they simply cannot cover all the grounds for optimization. This happens on even FOBs that players are expected to be on, and runs even worse on places where players are rarely expected to travel to. If Simplygon only covers LOD, Nanite covers a lot more than just saving on LODs.
     
  24. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    The amount of tooling required and how easily it will break on multiple platforms is why YMMV with this one. Consider that epic was at this stage 5 years ago.
     
  25. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,138
    Nanite is a prime example of why you should never show a gamedev a new tool because they will bend over backwards for the next billion years trying to shoehorn it into everything even if it doesn't fit while claiming it's a total gamechanger that will revolutionize all games forever going forward.
     
  26. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    I'm pretty sure that somebody mentioned MegaTextures already...
     
    Lex4art likes this.
  27. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Nearly all AAA games are using Simplygon, a tool for generating offline assets. What on earth does that have to do with Halo being slow on some computers?

    Simplygon is also a free to use tool for people with low income that meet the requirements.
     
    Bioman75 and Deleted User like this.
  28. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    That's false conclusion right here.

    You're blaming poor performance of halo infinite onto simplygon, and you've not done any actual profiling. So it is just pure imagination.

    Take a look at Monster Hunter World, for example. That's Simplygon, polygonal graphics and no Nanite.
     
    Deleted User and spiney199 like this.
  29. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    The problem with total game changer that will revolutionize everything, is that when they did, they become the new normal, and the normal become boring. People keep talking about mega texture as if it didn't lead to anything, as if all these suddenly too big AAA open world game didn't exist, like check every GDC vault about them and how they use to basically just bake decals and all details on big texture for terrain (no splat map). We are at a point where there was a open world fatigue, so something did happen. Also that's one reason why game asset got inflated, some game just bake everything down in big ass texture, like all time of days, all permutation etc, so it's fast to query over fillrates bottleneck of complex shader.

    Once nanite is generalized, we will start bitching again about how game now are too busy visually, it will be the new bloom and wet ground, it will revolutionize bitching about game.
     
    Neonage, MatthewLTG and Deleted User like this.
  30. Deleted User

    Deleted User

    Guest

    Worth adding, that late UE4 already didn't need Simplygon, as we got batch LOD generation for static and skeletal meshes in the editor.
    Not contradicting anything you said. Nanite is the next step in freeing artists from some mundane tasks.
     
  31. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    It's a step that needs good engineering, not some guy in a garage banging out tech demos. I get it, there's even a market for it. I bet he makes a killing and I wish him the very best doing so. But also when a dev mentions a kickstarter for a rendering plugin, you know it's probably too much work to rely on for a serious production.
     
  32. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,138
    Highlighted the key phrasing here that's doing a lot of heavy lifting. You're proposing an inevitability that is, so far, not even remotely presented as a likely thing. This is a new toy and like all new toys, people are treating it like it's a guaranteed thing.
     
    neginfinity likes this.
  33. Deleted User

    Deleted User

    Guest

    Yeah, I agree with that. From my perspective, as long as we just see videos it's Euclideon's "unlimited detail".
    I hope to be proved wrong in this case.

    However, productizing even small changes in rendering can be challenging. That's a great post on it. Just adding for someone in need of a good read ;)
    https://bartwronski.com/2020/12/27/...allenge-productionizing-rendering-algorithms/
     
    hippocoder likes this.
  34. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    738
    Not blaming, but if you read carefully, but its something Nanite covers and solves for free.
    Originally talking about man-hours saved for free. Its why I wrote Nanite covers more than just LOD unlike Simplygon. On the man-hours spend on per scene optimization which even with AAA budget QA and automated QAs you will still manage to overlook. This will help smaller studios to spend less precious man-hours on QA with their already very limited constraints.
     
  35. Deleted User

    Deleted User

    Guest

    again.... Why are u paying someone $83,000 when u can do it yourself for free spending less than 10 min of time with basic decimation tools which most 3D modelling softwares have or by just using free version of simplygon ... unity also has its own Auto LOD system on their github, it has its own decimation system and HLOD system plus has some simplygon plugins with it aswell, there is also a free LOD creating tools on assetstore called NanoLOD which can add LODs to your imported model in one click.... don't know why u are retopologizing all your models and wasting soo much time and money in it...
     
    neginfinity likes this.
  36. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,138
    Except you're saying Nanite is solving an optimization problem you haven't actually managed to show is the source of the problem in the first place.
     
    neginfinity likes this.
  37. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    Same deal as blaming.

    It is not free, though? The obligation to pay royalties is still there. Along with many restrictions.

    Looking at the monster hunter town made me wonder how flexible the system is, by the way. Can it do something like serpinsky pyramid or menger sponge?

    upload_2022-4-19_17-39-38.png
     
  38. Deleted User

    Deleted User

    Guest

    I guess it should?

    Someone is already playing with fractals :)
    https://www.reddit.com/r/unrealengine/comments/u299oj/unreal_engine_5_fractal_plugin_demo_out_soon/

    Let's add new instanced actor support - so fractal parts can lightweight instances (not adding overhead to systems like physics because of being full actors), but switched to actors on the go if needed. And we should get interactive fractals at scale?
    https://twitter.com/AmirAnsari09/status/1516258044585603076
     
  39. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,144
  40. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I think people really don't see how much work goes into the tooling and parsing of these 3D models. It's hard enough getting an FBX in the right way round or computing a simple lightmap. When you get to transforming 3D models to 2D textures, you're in for a really big world of pain. I actually consider that harder than the virtual geometry techniques.

    Because there will always be edge cases and issues. Every new model tested will throw up problems. Usually with the conversion. Tweaking all that, and engineering for each case will most likely take longer than the tech. It will also mean this conversion requires staff just to optimise and maintain the converter.

    And you can't have the tech functional without it.
     
    NotaNaN, Ryiah and Deleted User like this.
  41. C-T-Y

    C-T-Y

    Joined:
    Nov 12, 2019
    Posts:
    2

    Chris Kahler just single handedly created a WIP showcase Asset that does the same as Nanite. No need for DOTS or a whole rewrite of the mesh system.
     
    mgear likes this.
  42. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    A path left by someone else is still easier to traverse even if they do not explain every step they took in detail.

    Having a paper for everything is a scenario where every step is explained.
    Having those slides is a senario where a lot of information is missing but you can get a glimpse of the thought process and achieve similar results faster.
    Never mind that somebody will definitely just rip Nanite open and see how it works, then derive an algorithm from that, even though this would likely be a breach of Unreal license.

    This thing sort of reminds me of a bicycle. First bicycle was invented in 1817. First chain bicycle, however, was made in 1885. It took 68 years of experimentation to make something we take for granted.

    So in case of Nanite, even if they do not explain everything, they're leaving footprints and breadcrumbs for those who will follow, and those who follow will know where to go and what their goal looks like. Keep in mind that it is possible for this tech to become an evolutionary dead end.
     
    Deleted User and Ryiah like this.
  43. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,144
    His implementation takes "many hours" to generate the mesh data needed. Nanite is able to do so instantly. Let's not confuse early experimental software for a production ready system. In fact DOTS may very well be the answer to his performance problems.
     
    Last edited: Apr 20, 2022
  44. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Of course I take it for granted, it's a tech stack composed at 90% of techniques used since the ps360 era, in fact Seb Altonen, who is a graphic engineer at unity, implemented most of it during his career and made a few paper about it. The 10% remaining, ie compute rasterization, is a solution to a problem graphic engineer has been trying to solve since 3 consoles generations.
    It's basically HiZ buffer for occlusion with concept stole from TAA techniques, mesh cluster was used by ubi soft and even that game drone done with unity, etc... also 3 noteworthy studio are jumping to unreal 5, probably will back off once they learned the techniques and have their own similar proposition.

    It would be a toy if not proven, but like I said, it's an iteration on old techniques, a very clever and unifying version, but still mostly old techniques in use already. The revolution is more the glue between the techniques than the techniques.

    If we want to be pedantic, nanite will not be generalized, the lesson from it will.
     
  45. Deleted User

    Deleted User

    Guest

    i might be wrong but nanite tech was first created first by a team at ubisoft (and Sebastian Aaltonen who now works at unity now, was part of the team) in 2013- 2014 and was showcased at SIGGRAPH.... Epic didn't create it from completey from scratch with 10+years of research.... Sebastian Aaltonen tweeted back in 2020 that that nanite is exactly same to their technique
     
  46. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Technically no, it wasn't created by anyone prior, part of the tech stack, yes, but nanite is a tech stack, we can't reduce it to a single part.

    But I'm saying that knowing no-one care about that technicality and will keep discussing as if it does one single thing they have a pet peeve with.
     
    Deleted User and Deleted User like this.
  47. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,144
    Brian started in 2009. He may have eventually taken ideas from them but he started before then.

    https://twitter.com/briankaris/status/1260590413003362305
     
    Last edited: Apr 20, 2022
    Deleted User and Deleted User like this.
  48. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,751
    Replicating the base technique is possible in days/weeks with access to papers and even UE5's own source. The tooling and vertical integration with the rest of the engine is something else entirely. Shaders probably need to be modified to be compatible with this, for example, so making a simple toggle is not as easy (or even possible).
     
    Deleted User and Deleted User like this.
  49. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I believe he's left to do other things now, but you can still follow him on twitter for cool rendering info.
     
    Deleted User likes this.
  50. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    Yeah this is the most important thing nobody seems to care about.

    It's the reason why despite all the great assets on the store, almost none of them are actually going to get anybody closer to a finished game. Because a complicated tool that is created with a separate mindset from the larger whole it is meant to work within is going to come with 10,000 little problems specific every unique project.

    So some guy in his basement might create nanite-like tech for unity, but nobody is going to implement it in their unity project without putting in similar man-hours that epic did to actually make it part of the engine. Just isn't going to happen. You can't fake the funk.
     
Thread Status:
Not open for further replies.