Why Does The Order: 1886's 3D Environment Art Looks Like This?

Поділитися
Вставка
  • Опубліковано 22 лис 2024

КОМЕНТАРІ • 77

  • @dayveeman
    @dayveeman 3 місяці тому +65

    I can give a little extra context to avoiding thin triangles, but it's a bit technical. GPUs don't calculate single pixels at a time, they mutithread 4 pixels at once in 2x2 buckets. This means drawing a single pixel costs as much as drawing 2x2 pixels, because you have to do 4 GPU threads every-time even if 3 aren't used. But conversely every 2x2 bucket that fits inside a single triangle gets filled super efficiently. So it's not a matter of a single thin triangle will break something, it's a matter of trying to get as many triangles taking advantage of that multi-threading as possible, and thin triangles (while sometimes unavoidable) are too skinny to get that GPU boost when being drawn (they're more edge less center). Old 3D games didn't worry about it as much as just getting as few vertices as possible was more important, but anything PS2/3+ generation starts drawing enough triangles that avoiding those thin triangle can make a noticeable difference in performance.
    It's also why good LODs are important as every triangle becomes too small to be multi-threaded if small enough on-screen. So having good LODs not only keeps you from wasting polygons on small distant stuff, it also makes the triangles larger and chunkier as they get farther away to avoid micro-triangles (triangles smaller than a 2x2 block) and keep taking advantage of that multi-threading.

    • @EMC3D
      @EMC3D  3 місяці тому +8

      Thanks very much chap! Pinning this, very good info.

    • @rationalrama
      @rationalrama 3 місяці тому +1

      @@EMC3D Wouldn't beveling create small triangles too? Should I actively avoid adding bevels to sharp edges on my game models, unless absolutely necessary? Cuz bevels make light bounce off much better and looks pretty nice.

    • @EMC3D
      @EMC3D  3 місяці тому +2

      @@rationalrama Bevel / cut those edges up, no problem :).

    • @isned2000
      @isned2000 3 місяці тому +6

      ⁠​⁠@@rationalrama Small triangles are only a real problem in aggregate, a few aren’t a big deal, and are basically guaranteed to show up due to camera movement anyways. The exact point where small tris become an issue depends on the rendering pipeline for the game, because the quad inefficiency only affects rasterization and pixel shading in that draw call, later full screen passes aren’t affected.
      Forward rendering with MSAA gets hit hardest (Order 1886 is forward with MSAA and really complex pixel shaders, which is probably why the artists were so careful), deferred shading takes less of a hit, and most visibility buffer set ups almost completely avoid the issue. If you are using UE5 Nanite you don’t have to worry at all, it uses software rasterization and skips the whole issue.
      Check your game engine documentation, and run some tests to see what the cost is. Beveling some edges probably won’t be an issue as long as you’re not over doing it.

    • @dayveeman
      @dayveeman 3 місяці тому +2

      @@isned2000 Absolutely, I probably should've been more clear. This is in aggregate, there is no perfect triangulation, that's just how geometry works. Even if you make the most optimal triangle, it'll still become inefficient if viewed from an oblique angle or far away. The goal is not to be perfect, but to not use small or thin triangles when you don't have to. The best you can do is keep in mind how big things will be typically be onscreen and don't use more subdivisions than you have to, try to maximize triangle size whenever possible, and have good LODs if things get far away.

  • @FishMan1nsk
    @FishMan1nsk 3 місяці тому +7

    Regarding thin triangles - it is true. They affecting perfomance. This is because Video Card rasterizing triangles separately with 2x2 brackets. Also everybody need to understand that VideoCards not actually rendering triangles but pixels. And triangle is a perfect shape however pixel representation of the triangle looks more like a stair. And because you rendering 2x2 pixels every fracture of a second - you cant fit edges of the triangles perfectly into this bracket. Meaning that video card will not render anything useful on the edges of triangles.
    And when you have thin triangle, there are a lot of places where triangle does not fit into the bracket.
    I also mentioned that it rendering polygons separately. It means that two adjacent thin triangles will have two areas where video card rendering nothing. Meaning that in the area where two triangles are connected - video card will render pixels twice. This is called "quad overdraw". And if your scene is consisted of only small or thin triangles - it means that you will be spending your rendering time mostly on rendering nothing twice or more.
    Which is why the issue with triangles in not their amount but their size and shape.
    Also at the distance triangles can occupy the same pixels if they are smaller than 2x2 pixels. Meaning that you will not olnly render the air between triangles twice but also the same pixel over and over again because there are multiple triangles in this pixel. Because computer is not smart enough to understand that rendring something once is enough it will render all the triangles at the same pixel over and over again until there will be no more left. It can undestand what behid or in front though. For most of the time. However with nanite for example it will not always be able to do it and will render something through. As well as because they using software rasterization - quad overdraw claimed to be not relevant for nanite. But it is a different story.
    Of cource I am simplifying all this as much as I can to make it easy to understand.
    But if you want more details on that - I suggest to read "Render Hell" by Simon Schreibt. A great digital book written for aritsts.
    Also you can search for "Quad Overdraw" for more info.
    As you mentioned, thin triangles aren't typically a major concern, but it's still something to keep in mind. However, during my work on Halo: Infinite, we encountered an issue related to this. In the hangar on the first level, where there are a lot of drop pods, the FPS drops significantly. According to our tech art team, this was largely due to the quad overdraw in that area.

    • @FishMan1nsk
      @FishMan1nsk 3 місяці тому

      Btw he's an interesting video where quad overdraw was explained.
      ua-cam.com/video/M00DGjAP-mU/v-deo.htmlsi=SWwbNO3JtFcSwxpd

  • @marshymoo7888
    @marshymoo7888 2 місяці тому +1

    Nice breakdown! I think the reasoning behind the relatively huge amount of polys on the arches at 11:42 is twofold:
    - the obvious one being the silhouette
    - the other is to reduce texture warping (I think)
    I’ve tried (and cried) making low poly brick arches where you straighten out the UVs and map them to a trim. The problem being that the face on the mesh is actually trapezoidal and when you manipulate the UVs to be rectangular you get really obvious triangular warping going from corner to corner on the quad. The only real “fix” I know of for this is to add much more geo (basically one quad per brick) if you’re using a trim or tileable texture. The warping will still technically be there just much less pronounced.
    I had to do this a few weeks ago so I’m very glad to see I’m not going insane!

  • @sambramthonse3941
    @sambramthonse3941 3 місяці тому +22

    Looking fwd to the Trim Sheet lecture! Being a student who's trying to get into the industry your insights helps a lot! 😄😄. Appreciate all the work you put into your videos Mr. McSherry

    • @EMC3D
      @EMC3D  3 місяці тому +3

      No problem chap! Glad it helps.

  • @bezrodnyigor
    @bezrodnyigor 3 місяці тому +4

    13:40 they're probably using vertex painting to bring out the grime texture in the glass material, not a separate material. This way you get smooth blending towards those edges. And since they have windows split in the middle, center vertex can be used to continue the gradient. Something like 0.6 opacity on the outer verts > 0.2 on inner verts > smooth falloff to 0.1 in the middle. Compared to something like a texture mask, it allows using the same material instance regardless of window shape/size.
    That said, Ready At Dawn always impressed me with how efficiently they use available hardware. Order 1886 is the visual masterpiece, but even their God of War on PSP looks so good considering the system's GPU.

  • @TomMAF4
    @TomMAF4 3 місяці тому +13

    More longform modern game topology talks please!

    • @EMC3D
      @EMC3D  3 місяці тому +1

      Woo!

  • @next1291
    @next1291 3 місяці тому +3

    The window geometry was most likely used to facilitate vertex color masking for the dirt on the glass shader, making it easy to have glass windows of any size. Then It is only necessary to adjust the texture tiling per material instance.

  • @cr0w-qz277
    @cr0w-qz277 3 місяці тому +2

    This is great! These are some very hard concepts to find info on and you are teaching them well. Better than other courses I have been on which will skip over topology.

    • @EMC3D
      @EMC3D  3 місяці тому

      Thank you chap that's cool to hear!

  • @JammieDodder
    @JammieDodder 3 місяці тому +4

    Did you hear about the Call of Duty Caldera map being released to the public? It's untextured but all the geo's there if you wanted to look at the wireframes in detail.
    Love these vids by the way, very useful!

    • @EMC3D
      @EMC3D  3 місяці тому +1

      Ohh I did! Good call, I need to throw it into Blender and see if I can navigate around, last time I tried I had a lot of camera clipping/couldn't see a lot of it, so may need to debug a bit.

    • @danyarfan5384
      @danyarfan5384 3 місяці тому

      How can i access that map?

    • @ShmeeGrim
      @ShmeeGrim 3 місяці тому

      @@EMC3D Just mess with the clip start/end settings under View in the N panel

  • @knudsen8938
    @knudsen8938 3 місяці тому +6

    Thank you for your videos! Been following you for a few weeks and have learned so much already! Keep up the good work!

    • @EMC3D
      @EMC3D  3 місяці тому

      Glad it helps chap!

  • @mahkhardy8588
    @mahkhardy8588 3 місяці тому +3

    Learned a ton from these videos so far, thank you.

    • @EMC3D
      @EMC3D  3 місяці тому

      Cheers chap.

  • @nothankyoutube
    @nothankyoutube 3 місяці тому +1

    If you're using nanite now you have much higher poly counts, allows for a ton more vert paint detail ( as well as geo)

  • @LiquidPixel__
    @LiquidPixel__ 3 місяці тому +1

    Honestly, as an environment concept artist, the role sometimes almost stretches to a rougher corner cut version of environment art. Some of these methods I think carry over super easily. Often I got told by the environment team I was working with why I didn’t just move into doing environment art. Then again I like that my topology and UVs can look shit up close but sell those “beauty shots”. Super informative breakdowns! Thank you!

    • @EMC3D
      @EMC3D  3 місяці тому +1

      Ahh that's awesome, yeah I always liked sending blockouts to concept to paint over, and then re-iterate over, was a really smooth workflow when I experienced it.

  • @hallersamuel
    @hallersamuel 3 місяці тому

    Really like those videos! Would love to know more about vertex painting + big surface variations.

    • @EMC3D
      @EMC3D  3 місяці тому +1

      Noted!

  • @VasilMatsuk
    @VasilMatsuk 3 місяці тому

    I am lucky to find this channel.

  • @YahiyaJasem
    @YahiyaJasem 2 місяці тому

    Great video sir

  • @hectorthespector
    @hectorthespector 3 місяці тому

    Very informative, thanks for sharing !

    • @EMC3D
      @EMC3D  3 місяці тому

      Glad you enjoyed it!

  • @SZ1NA_
    @SZ1NA_ 3 місяці тому

    thank you so much for making these videos, im hoping to become an enviroment modeler one day and this really helps me, do you perhaps have a suggestion on where i could learn more tricks like thoes wide triangles? thank.

    • @EMC3D
      @EMC3D  3 місяці тому +1

      Honestly just keep working on projects and getting feedback for now would be the best way to improve :D.

    • @SZ1NA_
      @SZ1NA_ 3 місяці тому

      okay, thank you very much.

  • @АнтонСолнцев-о4ф
    @АнтонСолнцев-о4ф 3 місяці тому

    Thank you for your very educational videos! Also its probably a noob question, but why in this specific case at 12:35 welding wall to an arch? Seems like a waste of polys when you could just have a low poly arch cut out on a wall and hidden behind this high poly arch trim? Would that be a waste of texture space?

    • @EMC3D
      @EMC3D  3 місяці тому +1

      Good spot, and yeah for sure you'd see that style of stuff depending on the artist.
      It could be because their engine requires certain transitions to be welded for vertex lighting/baking, or honestly the artist just preferred to make it airtight out of preference.

  • @MathiewVM
    @MathiewVM 3 місяці тому

    Hello, this is great content! Very insightful and helpful. Where do you find these examples showcasing the wireframe/ topology? If it is on artstation then what keywords should i search for to find this? Thanks in advance.
    Keep up the great work!

    • @cr0w-qz277
      @cr0w-qz277 3 місяці тому

      bump

    • @EMC3D
      @EMC3D  3 місяці тому +1

      I think I just know about where things are because I've seen them a long time ago and always wanted to speak about it, however, anything newer I would tend to look on ArtStation! :)

  • @joaovitors.s9643
    @joaovitors.s9643 3 місяці тому

    thank you : )

    • @EMC3D
      @EMC3D  3 місяці тому

      You are welcome!

  • @glimpse1152
    @glimpse1152 3 місяці тому

    Thanks for the video this was helpful

    • @EMC3D
      @EMC3D  3 місяці тому

      Cheers chap!

  • @bananaboy482
    @bananaboy482 3 місяці тому +3

    RIP Ready at Dawn. Killed by Oculus today

    • @EMC3D
      @EMC3D  3 місяці тому

      I heard =\ glad they had a good run overall, but damn, still sucks, and all too common in this industry sadly...

  • @matidfk5171
    @matidfk5171 3 місяці тому

    great video! I have a question, when im selling game models should i sell the meshes triangulated? If i do, its harder to edit the objects for whoever buys them but if i dont, perhaps some game engines will just refuse to work with it or triangulate it themselves badly. with the second however I know i can mitigate bad triangulation if all n gons and quads are flat faces. What ive been doing is using triangulated meshes in the fbx and obj exports, but for the blender file i only use a procedural triangulate modifier

    • @EMC3D
      @EMC3D  3 місяці тому

      I'm not too versed on selling content on the marketplace, but if I were to do it I would want the untriangulated meshes in Blender, and then the FBX/OBJ with final triangulation in.
      It should triangulate fine on export, I've never had to customize how a mesh triangulates before, so I let the obj/fbx exporter do the job.

  • @Korczys
    @Korczys 3 місяці тому

    Hi. Is there any way to export meshes from the game so that I can analyze them in terms of topology? I would love to do this with Kingdom Come Delieverence :D I'm currently creating a medieval enviro and I wonder how they solved some things.

    • @EMC3D
      @EMC3D  3 місяці тому +1

      Not that I know of sadly, I would see if any exist online via the artist's portfolio.

  • @DK_Krieg
    @DK_Krieg 3 місяці тому

    these triangles on walls are used for midpoly models or they bake walls for better shading?

    • @EMC3D
      @EMC3D  3 місяці тому +1

      No need to bake walls in this case, just relying on tilable textures and bevels.

  • @senhor6863
    @senhor6863 10 днів тому

    This makes me wonder how much of an environment is built upon modular pieces

  • @Daniel_Vital
    @Daniel_Vital 3 місяці тому

    About decals, would you still use geometry for them today, or would you use texture projection using an actor?
    Which of them is cheaper?

    • @EMC3D
      @EMC3D  3 місяці тому +1

      Both are good, for flat surfaces, yeah sure use the actor, but you'll also use decals that are 'shaped' to a corner or non-straight-on surface, that's where the plane method gives you more control.

    • @juliuseinstein6093
      @juliuseinstein6093 3 місяці тому

      @@EMC3D Would using a plane decal with some decent subdivisions be used, so that it can be bent or deformed a little bit? Or will it stretch the texture?

    • @EMC3D
      @EMC3D  3 місяці тому +1

      @@juliuseinstein6093 Absolutely, a common trick is to curve decals to match edges to fake unique destruction :D.
      Check this out - www.artstation.com/artwork/l3wwa

  • @faryanblender8946
    @faryanblender8946 3 місяці тому

    Are these floating planes still part of the wall or are the actually planes who are seperated from the wall mesh?

    • @EMC3D
      @EMC3D  3 місяці тому +1

      Separate meshes yeah.

  • @slayth6332
    @slayth6332 Місяць тому

    Pretty Impressive for its time, still better than most of the games nowadays sadly lol

  • @TorQueMoD
    @TorQueMoD 3 місяці тому

    Unless you're targeting mobile, we have gone past the days where we need to worry about polycount on modern hardware. Draw calls are vastly more important, and yet every studio keeps using multiple textures on a single asset (possibly dozens of textures) which always blows my mind. Do you know why they do this?

    • @Zarsky88
      @Zarsky88 3 місяці тому

      Afaik multiple textures in itself is not the problem, but having multiple materials/texturesets/shaders on a single asset?

    • @EMC3D
      @EMC3D  3 місяці тому +2

      Not true, there's still many studios including co-dev and outsource where triangle count needs to be managed to hit the intended frame rate and brief. It's flexible sure, but you still want to author with good practises in mind.
      The texture stuff really depends on the studio, but texture blending is still the main way to sell a look in games, so you're going to have a lot of RGB masks, vertex channels, world space textures, decals and all that jazz to break up the structural elements of the project to hit quality standards.

  • @atkdgn
    @atkdgn 3 місяці тому +2

    Half of the modeling is thinking

  • @hyacinth416
    @hyacinth416 3 місяці тому +1

    Why in the world is this being disliked?

    • @EMC3D
      @EMC3D  3 місяці тому +3

      Hmm, not really many dislikes on the creator dashboard, but my friend told me with a chrome addon they saw that this video has 450 dislikes, so I assume it's a bug of some sort, because I can't see that on my stats currently.

    • @OmniOmnium
      @OmniOmnium 3 місяці тому

      @@EMC3D same here, its at 516 dislikes 🤔

    • @Tehstroyer
      @Tehstroyer 3 місяці тому

      @@EMC3D The addon (if it's the one I'm thinking of) is only extrapolating from the like/dislike ratio of people who have the addon and the amount of actual likes. It's more accurate for big videos and even that is just for a cursory glance.

  • @TheTimeProphet
    @TheTimeProphet 3 місяці тому +1

    Trinagle don't cause issues, but the engine has to spend longer computer the maths for the model. You don't really want any triangles.

  • @ckiborg
    @ckiborg 3 місяці тому

    I hate float planes b.c. z-fighting

    • @EMC3D
      @EMC3D  3 місяці тому +1

      No worries just push it forward a tiny amount and you're good to go, doesn't need to be exactly level.

  • @juliuseinstein6093
    @juliuseinstein6093 3 місяці тому

    nice! keep it coming yo! Really helpful stuff

    • @EMC3D
      @EMC3D  3 місяці тому

      Cheers chap!