FREE Performance Optimization / Draw Call Reducer (HLOD) | Unity Tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ส.ค. 2024

ความคิดเห็น • 75

  • @andrewallbright
    @andrewallbright ปีที่แล้ว +6

    Performance topics are fun topics to consume content on. I enjoyed the intro especially the before and after observations of performance metrics. Getting those numbers in range is what performance tuning is all about.
    It would be tight to see a performance test using Unity's Performance Testing API. I've read the docs but have been busy with learning/implementing cloud based multiplayer stuff. My thinking for performance testing is that they're just asserting that the viewing a prefab or scene matches some anticipated number (aka the test expectation). Soon I'll write my first scene/prefab test that ensures they meet some performance expectation I've yet to define.
    ... At that point you can let the artists run wild (who may be oneself if working solo) -- just tell them to expect a conversation if they break the performance tests.
    I repeat: performance topics are fun topics to consume content on. Thanks for creating this vid! You do amazing work putting your content together. Cheers :D

  • @MatrixRex05
    @MatrixRex05 ปีที่แล้ว +5

    This is a hidden gem. Thanks for covering. Unity has some hidden gems like these. Could you also cover Unity toon shading too? I think most people doesn't even know about it.

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว +2

      That is a cool idea. I will add it to the list of potential topics. Thank you!

  • @georgegonzalez5322
    @georgegonzalez5322 ปีที่แล้ว +3

    Thank you for taking the time and going farther than what is documented.

  • @NorthstriderGaming
    @NorthstriderGaming 5 หลายเดือนก่อน +1

    Thank you for this detailed guide. This is making generating and using LoD so much more pleasant to use. Though I'm still hoping for a nanite-like solution eventually.

  • @TheBlopster
    @TheBlopster ปีที่แล้ว +1

    Thank you for help making my gamedev dreams become reality! Love your new hair color btw

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว

      😎 thanks! Happy to help the gamedev dream!

  • @beardordie5308
    @beardordie5308 ปีที่แล้ว +7

    Yeah I want a Unity version of nanite. And lumen for that matter. Need to compete on those, Unity is a hard sell right now for high fidelity high poly projects.

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว +4

      Hopefully we will see Unity pump out some cool competing technology! Unreal showed some really disruptive tech. Usually that means everyone else takes note and comes up with a competitor.

  • @fmproductions913
    @fmproductions913 ปีที่แล้ว +1

    Thanks, I was looking forward to this topic. What a great tool!

  • @ashb899
    @ashb899 ปีที่แล้ว +1

    This is a good channel, shame youtube doesn't suggest you more often.

  • @saqibbro5297
    @saqibbro5297 ปีที่แล้ว +2

    Great Video Buddy!

  • @abdulwahab-wg2ok
    @abdulwahab-wg2ok ปีที่แล้ว +1

    really loving your content

  • @Caffeen
    @Caffeen ปีที่แล้ว +1

    Nice, hadn't seen this one yet

  • @Rahulsingh-theraha
    @Rahulsingh-theraha ปีที่แล้ว +1

    Btw i guess u should make a optimisation playlist, u already have many videos on it!I didn’t even knew that u had optimisation techniques tut for mobile

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว

      Great idea. Thank you!

  • @castlecodersltd
    @castlecodersltd ปีที่แล้ว +1

    Nice one, thanks for sharing 👍🏻

  • @splashmaker2
    @splashmaker2 ปีที่แล้ว +1

    This looks like it could be useful. It does mention generating texture atlases, but I wonder if you’d be better off with texture arrays instead to avoid uv issues. I also think hlod can benefit a lot from hand created lods when you get really far away (think a huge box mesh or flat imposter billboard), or some kind of generation of these.

  • @Project-NSX
    @Project-NSX ปีที่แล้ว +1

    Wish I saw this video before hacking the LOD system by using a script to manually set lod groups on objects and making it grab all their renderers etc.
    This should 100% be a part of Unity IMO, the LOD system on its own feels a bit lacking.
    Thanks for the video!

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว

      Definitely would love to see this implemented as a full 1.0 release package!

  • @unityUser
    @unityUser ปีที่แล้ว +1

    Could you make a setup tutorial on it, cause when I clone the files in my project I get errors in unity :(

  • @duchiepcao5237
    @duchiepcao5237 หลายเดือนก่อน

    can I pre-bake mesh or mesh group then do HLOD?

  • @mehmedcavas3069
    @mehmedcavas3069 ปีที่แล้ว +1

    why did i discover your channel so late :(

  • @anussqadeer3181
    @anussqadeer3181 5 หลายเดือนก่อน

    Nice tutorial
    Will this increase size of my android unity game?

  • @Chewy1914
    @Chewy1914 4 หลายเดือนก่อน

    Has this HLOD code been tested on 2022.3 LTS URP ?
    By the way, thank you for all your tutorial videos @LlamAcademy! 💪

    • @LlamAcademy
      @LlamAcademy  3 หลายเดือนก่อน

      I haven't used it on 2022.3 but I don't think there are any breaking changes between 2021 (what I used in this video) and 2022 that would make this stop working.

  • @mrestonian6905
    @mrestonian6905 ปีที่แล้ว

    I don't understand how to install it 😢 I drag and drop it into my project and then I can't use hlod script and it says meshoptimizer is missing. I install meshoptimizer and it still says the same. Idk if it's cause mesh optimizer is not inside the hlod folder or what (also I can't put it inside the hlod folder, it doesn't allow me to do that) pls help me, I have a HUGE openworld game and my optimization sucks😢

  • @jirisuke2
    @jirisuke2 7 หลายเดือนก่อน

    Batchesがまだ1000以上もある。mashbakerが必要?

  • @MichaelWatsonProgrammer
    @MichaelWatsonProgrammer ปีที่แล้ว

    Looks like just what I need, will this work with the LOD system from your other video as I've already set that up and don't want them to conflict?

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว

      it will work with the AutoLOD, but this also under the hood uses AutoLOD to generate the LODs. Generally I would expect you might use AutoLOD for character or dynamic models, and use this for world geometry.

  • @niuage
    @niuage 6 หลายเดือนก่อน +1

    Your intro is so cheesy but your content is tasty 😅

    • @LlamAcademy
      @LlamAcademy  6 หลายเดือนก่อน +1

      I do find cheese quite tasty 😁

  • @StarkTech47
    @StarkTech47 ปีที่แล้ว

    Very good video! I have a question about moving part of the scene. How does it work for the doors for exemple of any object with animations? Are they ignore by the script, do I have not to implement these objects in the HLOD or it works perfectly and I do not need to take care?

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว

      Doors can be rendered including animators / animations at LOD0 without issue. The issue you may have is at LOD1+ they will be in their default (probably closed) state. So transitioning from LOD0 to 1 May cause a noticeable jump. You can exclude doors from the HLOD system to avoid this, or this behavior may be fine for you.

    • @StarkTech47
      @StarkTech47 ปีที่แล้ว

      @@LlamAcademy That was I had in mind, excludes every object which will move of the HLOD and it seems to be a good solution. Thank you !

  • @netron66
    @netron66 ปีที่แล้ว

    Should the lod in the future based on the screen resolutions so there will not be no popping in? Unreal 5 seems doing a similar thing which has good results

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว

      The LOD slider we configure here swaps based on projected AABB size. The "popping" can be mitigated by lerping between the two models of different LODs and having less variation between stages

  • @lucutes2936
    @lucutes2936 3 หลายเดือนก่อน

    doesn't work on 2022 i think

  • @alicivrilify
    @alicivrilify ปีที่แล้ว

    Thanks for this great video. A quick question: Can I use this HLOD on prefabs? Because, the environment in my game is set at runtime. I don't have a fixed scene. And one more: Does AutoLOD would be enough in that case?

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว

      I do not believe you can, but I have not played with that use case

    • @yovador
      @yovador ปีที่แล้ว

      For your environment, to have them load at runtime I would advice you to load a scene instead of a prefab. That way you can set the enviro to static and use all LOD and baking that you want

  • @nikjanspruk588
    @nikjanspruk588 7 หลายเดือนก่อน

    I am a bit confused after watching this video.
    Do I use HLOD or Automatic LOD package for my game?
    Or do I use a mix a both, and if so. For what would each package be good for? Thanks
    Edit: also do you maybe have an idea what to do if i want to use hlod, but my materilas are urp... it just doenst work

    • @LlamAcademy
      @LlamAcademy  7 หลายเดือนก่อน

      HLOD uses auto LOD under the hood. This video was about HLOD specifically, so I recommend it for these types of use cases.
      I don’t have this project set up anymore but I’m pretty sure it was done with URP. What is not working?

    • @nikjanspruk588
      @nikjanspruk588 7 หลายเดือนก่อน

      before i implemented it on my whole project i made a sample scene and added 5 cubes to it. addet them under same parent and added hlod.
      all objects are pink, and when moving the camera non of the meshes show.. all are hidden all of the time.
      I also get one error but im not at the pc anymore. will reproduce the error tomorrow.@@LlamAcademy

  • @ivankubal6935
    @ivankubal6935 ปีที่แล้ว

    Hello, coming bit late to this, but I would like to ask - Does HLOD works also for GPU Instanced assets? Lets say, I have big forest. All the trees are Unity trees, so GPU Instanced (GPU Instancer plugin for that matter). Can I take advantage of HLODs to chunk further parts of the Forest into HLOD grids or is better to have it all just instanced?

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว +1

      HLOD would help you by reducing the number of triangles drawn, since GPU instancing is drawing the same mesh multiple times. I didn't try this with trees to do a comparison, but I would imagine this could improve performance on top of the GPU Instancing of individual trees or LODGrouped trees to billboards.

    • @ivankubal6935
      @ivankubal6935 ปีที่แล้ว

      @@LlamAcademy thank you, I will give it a try bit later

  • @onewayroad3765
    @onewayroad3765 ปีที่แล้ว

    Is LOD system work in multiplayer game.
    If my game has 10 players, then in the game there should be atleast 10 cameras.

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว

      In a multiplayer scenario each client will likely only have 1 camera active at a time, so there would not be an issue

  • @Rishraff
    @Rishraff 8 หลายเดือนก่อน

    How can I install this? I'm having trouble

    • @LlamAcademy
      @LlamAcademy  8 หลายเดือนก่อน

      Unity's GitHub page has installation instructions here: github.com/Unity-Technologies/HLODSystem/

    • @pklpklpkl
      @pklpklpkl 4 หลายเดือนก่อน

      @@LlamAcademy It REALLY does not help someone that doesn't know Git

    • @LlamAcademy
      @LlamAcademy  4 หลายเดือนก่อน

      I think you just need to install git and run the two commands they have listed. Do you have trouble with those two commands?

  • @Hazzel31337
    @Hazzel31337 ปีที่แล้ว

    sounds interessting HLOD + adressables sounds like nanite ? maybe ?

    • @awesomeniac
      @awesomeniac ปีที่แล้ว +4

      it's not actually, if we talking about UE, they already have HLOD before Nanite and it's totally different system, technically HLOD is some kind of custom static batching.

    • @Hazzel31337
      @Hazzel31337 ปีที่แล้ว

      @@awesomeniac oh yeah the technicall details of that a way beyond my knowledge

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว

      Great answer 🙂!
      To elaborate a little - Nanite is a much more sophisticated runtime triangle/vert optimization that allows artists to not have to use LODs like this.
      HLOD is generating many new models based on your current scene configuration and has to be recomputed if you change anything.
      Nanite does not require additional model generation or recomputing like this.

    • @Hazzel31337
      @Hazzel31337 ปีที่แล้ว

      @@LlamAcademy aaah thank you for further explaining it, yes thats on another level ^^

  • @unityUser
    @unityUser ปีที่แล้ว

    Does this work with foliage like trees and grass?

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว

      Yes, it supports Terrain. I am not 100% sure on terrain grass, but trees are.

    • @unityUser
      @unityUser ปีที่แล้ว

      ​@@LlamAcademy thanks :D

    • @unityUser
      @unityUser ปีที่แล้ว

      @@LlamAcademy bro i tried to clone from the github repository, but i get 5 errors when import the files to my project in unity

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว

      What are the errors?

    • @unityUser
      @unityUser ปีที่แล้ว

      @@LlamAcademy some namespace errors

  • @81mg61
    @81mg61 ปีที่แล้ว +1

    not working.

    • @81mg61
      @81mg61 ปีที่แล้ว +2

      Doesn't work if resource textures are compressed.

  • @adrianmaj8656
    @adrianmaj8656 ปีที่แล้ว

    Does it paid or private use?🤔

  • @deadevil_fst
    @deadevil_fst 4 หลายเดือนก่อน

    The warzone mobile will run on mobile like nothing if the game engine is unity 😞

  • @illiavarenyk2973
    @illiavarenyk2973 ปีที่แล้ว

    Завжди дивувавсь навіщо людям блакитне волосся 🤔

    • @LlamAcademy
      @LlamAcademy  ปีที่แล้ว

      I don't know, I like it blue, red, sometimes even just blonde, so I get it 🙂

  • @syarfandiachmad2397
    @syarfandiachmad2397 10 หลายเดือนก่อน

    I got this error :
    HLODSystem\com.unity.hlod\Runtime\HLODManager.cs(83,24): error CS0120: An object reference is required for the non-static field, method, or property 'HLODCameraRecognizer.RecognizedCamera
    I already add HLODCameraRecognizer script to my MainCamera, but still :(