For direct access use https://forums.oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com

Polygon/vertex limits in Unreal/UT99

Questions and tools for modelling.
Post Reply
User avatar
Sat42
OldUnreal Member
Posts: 77
Joined: Mon Dec 21, 2015 2:00 am

Polygon/vertex limits in Unreal/UT99

Post by Sat42 »

Hi all,

So I might be making a mistake in spending time on this but I am looking into making new models (with animations and textures obviously) for Unreal/UT99.

I will use Blender.

Thing is, for starters what are the limits? Max polygons/vertices per model in Unreal/UT99?

I also want to know if skeletal animations are the only viable way forward to importing animated models into Unreal/UT99?

Thanks in advance for any answers!
User avatar
gopostal
OldUnreal Member
Posts: 1005
Joined: Thu Jul 31, 2008 9:29 pm

Re: Polygon/vertex limits in Unreal/UT99

Post by gopostal »

Like anything in Unreal there aren't very many lines in the sand that you shouldn't cross. I've been able to import and use some pretty complex skeletal models with animations but the further you push it the trickier it gets. For example you could download the Killing Floor monsters I did and individually they are fine but if you get several together performance takes a definite hit. Same with complex static meshes. Bob was able to import the greatest part of an entire Portal level as well as a Killing Floor one but it ran like dogshit.

Pretty much everything I do now is geared towards simpler when it comes to models and meshes. Unreal will never be able to compete visually with newer games and you shouldn't try to make it. Take the time to make it right and you won't have to rely on visually stunning nearly as much.

That's not really the answer you are looking for but I hope it helps.
I don't want to give the end away
but we're all going to die one day
User avatar
Krull0r
Global Moderator
Posts: 543
Joined: Sun Jul 01, 2007 4:07 pm

Re: Polygon/vertex limits in Unreal/UT99

Post by Krull0r »

I can’t name a maximum amount of polygons you can import as vertex or skeletal animated mesh but you have to remember that Unrea‘s mesh importer space is only 256 x 256 x 256.

So if you use a mesh with thousands of polygons in this little space most of the vertecies will melt together after importing the mesh into the engine.


I never imported a skeletal mesh to unreal but skywolf wrote an awesome unreal vertex mesh exporter script for Blender.
You can simply animate your mesh with a skeletal system and export the timeline to Unreal‘s readable vertexmesh formates.

Here is the link: [url]http://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=1490136781[/url]
Image
User avatar
Sat42
OldUnreal Member
Posts: 77
Joined: Mon Dec 21, 2015 2:00 am

Re: Polygon/vertex limits in Unreal/UT99

Post by Sat42 »

Thanks for the reply guys! :D

Krull0r, special thanks for mentioning the importer space and providing that link! :)

gopostal: you're absolutely right when saying I shouldn't try to make the game compete with newer games visually, and rest assured that my attempts at bringing new models to the game will remain reasonable :P I was thinking a few hundred (200-400) polys max.
By the way your dragons (which I intend to use in a more story-driven SP mod later) are still the most amazing pawns I have seen for the game 8-) And about that... could you please provide an updated download link for the INI's Dragons- updated(Released and done) thread? I just spent a moment frantically searching for those dragons in my Unreal and UT installs and couldn't find them :P (they must have been on my old PC, as I distinctly remember launching the test map).

Cheers fellas!
User avatar
gopostal
OldUnreal Member
Posts: 1005
Joined: Thu Jul 31, 2008 9:29 pm

Re: Polygon/vertex limits in Unreal/UT99

Post by gopostal »

Sure. We are heading out in a few minutes but when I get back this evening I'll upload the entire source into my google drive and drop you a link. If you ever want I can use BTSync and you can copy my entire source code repository for everything I've made and/or decompiled. I've done that already for several people.
I don't want to give the end away
but we're all going to die one day
User avatar
Sat42
OldUnreal Member
Posts: 77
Joined: Mon Dec 21, 2015 2:00 am

Re: Polygon/vertex limits in Unreal/UT99

Post by Sat42 »

Sure. We are heading out in a few minutes but when I get back this evening I'll upload the entire source into my google drive and drop you a link. If you ever want I can use BTSync and you can copy my entire source code repository for everything I've made and/or decompiled. I've done that already for several people.
Yo thanks a lot dude! I'll wait for that google drive link :) The BTSync option sounds interesting and the offer is well noted - however I will get back to you at a later date for that, but my thanks already :)

User avatar
gopostal
OldUnreal Member
Posts: 1005
Joined: Thu Jul 31, 2008 9:29 pm

Re: Polygon/vertex limits in Unreal/UT99

Post by gopostal »

Here is the dragons u file:

and here is the source code:

You know how I feel about things. Use these any way you want. I'm glad someone found them interesting enough to expand upon. Hit me up if you have any questions in the code. I had to do some odd things here and there so it may not make obvious sense. Here's an example of what I mean...

The Nature Dragon fires a ball of roots that causes grass and flowers to grow where it hits. You can also add a chance of dangerous creatures spawning in the grass. The code to accomplish it looks like this:

Code: Select all

if(UseDangerousCreatures)
            {
                  if((FRand() < 0.05) && (speed > 150))
                  {
                        if(FRand() < 0.33)
                        {
                              classname=TrailT;  //Fly
                              b = class(DynamicLoadObject(ClassName, class'Class'));
                              if(b!=None)
                                    a=Spawn(b,,'',projstart,);
                              if (a!= none)
                                    a.remoterole=ROLE_simulatedproxy;
                              ACount=0.0;
                         }
I was having all kinds of trouble spawning monsters from the projectile until members here suggested doing it dynamically. I would never have even considered that but it solved the problem, and that's why I love this place. Anyway the code looks all weird but there is good reason for why it is like it is. If you stumble on something that looks whack I'm happy to explain if you need it.

Have fun :)
I don't want to give the end away
but we're all going to die one day
User avatar
Sat42
OldUnreal Member
Posts: 77
Joined: Mon Dec 21, 2015 2:00 am

Re: Polygon/vertex limits in Unreal/UT99

Post by Sat42 »

Many thanks gopostal!!!
I sure will have fun! :D
User avatar
Feralidragon
OldUnreal Member
Posts: 239
Joined: Thu Jul 24, 2008 6:57 pm

Re: Polygon/vertex limits in Unreal/UT99

Post by Feralidragon »

TL\DR: You can have relatively high poly counts in these games, as long as you tweak up the LODBias and other morphing factors correctly so that you don't have all polys being rendered all the time, in order to improve performance.
But it's preferable to keep it in the order of the few hundreds (300 to 600 is fine).



I can only speak from my own experience with my own models in UT99 (namely concerning a specific mod), and some benchmarking I did some months ago in both UT and Unreal.

In my NW3 mod for instance, I have models which go all the way up to 2000 polys, sometimes even more.
And if you have a few of them around being rendered at full detail, there's no issue.
But once you have more than a few, the framerate starts to drop.

However, Unreal Engine 1 has a LOD mechanism which consists in morphing out the polys of a mesh depending on your distance from it, in order to improve the performance without a very noticeable drop in detail.
You may know this setting as "LODBias" in properties, or "STRENGTH" in the import directives, and there are few more I believe which affect this.

So rather than reducing the polys from when I created the models, what I did was to manipulate this LOD in a way so that the moment the framerate would drop I would automatically reduce the LODBias so the models would start to morph faster and more aggressively, in order for the framerate to keep stable, and at the same time still have the best detail possible, and it worked.

My mod does a few more things than this, but is the basic key ingredient in having models with high poly counts and still have a performant game.
Other engines do a similar thing, although they tend to morph the models more intelligently, so the most pronounced details are not lost, and sometimes they have different versions of the same model altogether with different poly counts, and some of the models are simply set as being visible or invisible depending on the distance you are from them.

Still, it's always preferable to only have the polys you strictly need, and rely more in texture details.
I have seen artists out there making AMAZING things with just 100 polys or less, so it's possible, you just have to see the vertices and polys as a rough shape of what you want, and then work out the texture/skin to smooth or sharp it out to what you want to see.



I also did some benchmarks to test "many low poly" vs "a few high poly", and there seems to be a sweet spot somewhere where it seems to be preferable to have a few hundred polys per model.
The equivalent number of total polys with more actors with something like 6 polys per mesh kills the performance (probably due to the sheer number of actors), but also too many polys per model and less actors also kill performance, so the curve here seems to be a hump.



Also, one important detail to keep in mind is this: unlike other engines, such as Unreal Engine 2 and beyond, the poly count does not depend on your GPU.
You could have the best dedicated GPU in the world, but still have the same rendering performance as a laptop with an integrated one, given that the main bottlenecks are in the amount of drawcalls and the CPU itself, as well as the speed of the bus between the CPU and the graphic card.

Modern engines cache all the meshes/models and such in video memory itself, then they just tell the GPU to render them.
However, in UT and Unreal they are stored in normal memory, then the CPU makes draw calls to draw each poly one by one, and this is what kills the possibility of having higher poly counts even if you have a better GPU.
Last edited by Feralidragon on Thu Mar 29, 2018 11:47 am, edited 1 time in total.
User avatar
Sat42
OldUnreal Member
Posts: 77
Joined: Mon Dec 21, 2015 2:00 am

Re: Polygon/vertex limits in Unreal/UT99

Post by Sat42 »

Excellent write-up as usual Feralidragon! Thanks for your insights :)
Post Reply

Return to “Modelling”