14,000 Poly Character?

Blitz3D Forums/Blitz3D Programming/14,000 Poly Character?

Gabriel(Posted 2003) [#1]
I'm just working on a nice fancy end sequence for my tennis game, and I thought a high poly version of one of my characters would look pretty good. Do you think I could get away with just one character with 14,000 poly's on a relatively low spec machine? It looks fantastic on my system, but I don't have a low spec machine to try it on.

If someone has a low spec machine to test it on, I'll make a shorter animation and send you the b3d to test. But I just wondered if anyone had experience with such models and whether they work on low spec machines.


slenkar(Posted 2003) [#2]
email the character and code to me and ill test it

600mhz integrated graphics 64mb ram

slenkar@...


Gabriel(Posted 2003) [#3]
Ahhh.. that would be a pretty good machine to test it on. Ok, let me knock up some test code, and I'll email it to you. It might be morning now as it's a little after 3am here, but if I can stay awake, I'll do it now.

Thanks.


Gabriel(Posted 2003) [#4]
Ok, I knocked up a little bit of test code which should do the job. It's capped at refresh rate and only runs in windowed mode, but I figured the odds of it going over refresh rate were low. If it does, you can change Flip to Flip False and tell me the FPS you get then.

Thanks for the testing.


slenkar(Posted 2003) [#5]
I got 34FPS
bloody hell, thats pretty good ennit?
BTW the body has distortions in it, the waist gets distorted as she moves about.


Gabriel(Posted 2003) [#6]
34fps? That's pretty decent for an onboard video. With render tweening, that should look pretty good.

Yes, I know the deformation isn't perfect, but it's virtually impossible to get such a complex animation rigged to a character without vertex weights. I'm gonna have another go at tweaking it before I finalise it, but I may have to live with a little distortion.

I'm probably gonna use another animation which is even more complex in the final game, and that one distorts even worse. It's such a shame we don't have vertex weights :(

Thanks for testing it, I'm pleased that I'll be able to use it in the final game.


Mustang(Posted 2003) [#7]
impossible to get such a complex animation rigged to a character without vertex weights


Yup... 14000 polygon characters are rarely (if ever) used in games but 5000-6000 is nothing new with latest Triple-A games. My game will have characters with average of 3000 polygons per character, and I *KNOW* I need wertex weighting to make them look good. I will NOT try to fix them so that they will look bearable without weighting... trying to fix something because feature (that 100% serious gamemakers use) is missing is not worth it. I just sit and wait until we get it... I'm just so amazed why we don't have that feature... can't be that hard to do, and tons of people have requested it. Sometimes I think that coders (sorry Mark) don't always get what's needed in the art side.


Rob Farley(Posted 2003) [#8]
Mustang we could start a new vertex weights thread and bully Mark into submission ala x2 multiply and gamma?!


QuickSilva(Posted 2003) [#9]
I agree with Mustang, Blitz is sorely lacking in this department and its inclusion in a future update would make A LOT of people very happy.

Jason.


IPete2(Posted 2003) [#10]
Mustang,

I was thinking that perhaps if someone sent Mark a decent weighted character for him to 'play with' he'd be inspired to figure the vertex weights out for us, what do you guys think? My stuff is pretty poor.

IPete2.


Gabriel(Posted 2003) [#11]
I won't send it unless requested, but I'm more than happy to send the character mentioned above. I'm sure the rig isn't perfect, but I think it's obvious around the knees and shoulders that it just wouldn't be possible to rig it perfectly with rigid vertices. It's about 500k including textures and viewing code.


(tu) sinu(Posted 2003) [#12]
count me in, WE NEED VERTEX WEIGHTS!
please :)


ashmantle(Posted 2003) [#13]
I may be wrong but if you use the MD2 format, it would look ok? But something must be wrong with it since not more people use it? I have been trying to get started on creating my main character, but when I KNOW I have to animate it using ridgid animation, it just kills my enthusiasm.. Using single objects for arms, body and stuff would do, but it looks crap.. and also kills my enthusiasm...

I need vertex weights.. :(


Gabriel(Posted 2003) [#14]
A 14,000 poly MD2 with 1,000 frames of animation would probably fill my hard drive. It would be huge. And you get vertex wobbling and areas that don't light properly.


TroM(Posted 2003) [#15]
The light might be a problem, but not the size. I have a 4000 poly model, each frame is 105k and with 30 frames in a MD2 format the end result is only 343k.


Mustang(Posted 2003) [#16]
but not the size. I have a 4000 poly model, each frame is 105k and with 30 frames in a MD2 format the end result is only 343k.


Think it like this: if .B3D would have functional vertex weighting, you could have *30* characters with same memory usage... sounds good? :)

Yes, MD2 does have "weighting", sort of, but it's ancient crap like .3DS fileformat. It has so much problems like those mentioned, memory usage, lighting inaccuracies and vertex wobbling (vertex position inaccuracy). And correct me if I'm wrong, but IMO MD2 can eat only one texture or was it texture layer... well, who cares. :P

Blitz is SO close being perfect... vertex weighting and DXTC support and I think we are there - no major gamemaking feature is then missing, and M2X is nice bonus which we sure can use (and gile[s]). Of course some might argue that we need DOT3-bump, but I'm not one of them.


Ross C(Posted 2003) [#17]
Bumpmapping!! Remind me why this hasn't been done yet again?


(tu) sinu(Posted 2003) [#18]
md2 also doesn't give you bones or chidlren which you can manipulate or attach objects to.


Anthony Flack(Posted 2003) [#19]

I have a 4000 poly model, each frame is 105k and with 30 frames in a MD2 format the end result is only 343k



So, extrapolating from there... Sybixsus's model is 14,000 polys, or 3 1/2 times bigger than this. So each frame would be, I guess, around about 360k. And he said he has 1000 frames, so that's a 360Mb file. I think that just *might* be considered a little large (actually I think 343k is not exactly small)

I'm sure I remember Mark or Simon saying if anyone would like vertex weighting supported, then please send in a good quality vertex weighted model which actually benifits noticeably from being vertex weighted.


jhocking(Posted 2003) [#20]
Heh, I tried a while ago (search User Creations for "adele") but the problem right now is that I'm not sure what file format to send it in. I exported with blended vertex weights to b3d file format but since Blitz doesn't support blended vertex weights there was no good way to actually view the model.

Also, I discovered when I posted that model that people thought it actually looked alright without blended vertex weights! That is, while I could clearly see the ugly buckling of polygons at joints, most people (again, apologies for stereotyping coders) weren't even sure what to look for. For example, I was literally arguing with people about whether or not the buckling of polygons on the character's shoulders mattered. Mustang hit the nail on the head when he sarcastically commented that it looks fine - if you squint your eyes while looking.

That model also extrapolates on the traditional cylinders example quite nicely. The traditional comparison of skeletal animation with and without blended vertex weights is just a simple bend in a cylinder (for those with CharacterFX, this example is even included as one of the sample scenes.) Without blended vertex weights the bend is sharp and unnatural, but with it the bend is smooth and organic. Along the same lines, without blended vertex weights the polygons of Adele's stomach bend sharply and/or overlap when he hunches forward to run.

***

Getting back to the original question, 14,000 polygons is probably too much. On newer hardware this might work for a tennis game since there isn't much scenery and only two players on-screen simultaneously, but on older hardware that's just too much.

EDIT: Oh, I just noticed you intend for this character alone in a cinematic. Ignore my comment.


RetroBooster(Posted 2003) [#21]
I'm currently also working on a high end 3d title in blitz, featuring 2500-3000 poly playable characters, I'm lucky I have an animator who is so dedicated he will actualy make extra bones to fix bend problems... But it is a dissaster! It's seriously blocking the possibilities of makiing a commercial quality game with blitz that features character animations. Maybe this want key a year ago, because 1200 poly chars do reasonable without weighting... but right now its cutting my animator's productivity with maybe 66%. I must plead for vertex weighting as it's becomming more vital by the moment.


aCiD2(Posted 2003) [#22]
send me it, im on a very low spec machine - inteli740 graphics card, 64mb ram, 350mhz processer :) (make the example 24bit colour or it wont run)

cheers, aCiD2.. god this is going to be fun!


aCiD2(Posted 2003) [#23]
send me it, im on a very low spec machine - inteli740 graphics card, 64mb ram, 350mhz processer :) (make the example 24bit colour or it wont run)

cheers, aCiD2.. god this is going to be fun!


Agamer(Posted 2003) [#24]
I have a 400 mhz send it to me!


TroM(Posted 2003) [#25]
Anthony, you should redo your math, the model would be around 40 MB


(tu) sinu(Posted 2003) [#26]
"Anthony, you should redo your math, the model would be around 40 MB "

still, thats way too large.
My 4500ish poly blitz3d model with 300 frames is 1.2mb


HNPhan(Posted 2003) [#27]
**Moved to another thread**


Gabriel(Posted 2003) [#28]
Anthony, you should redo your math, the model would be around 40 MB


Actually his maths are right. You said your model was 105k per frame, with 30 frames. I figured you missed a zero from your final filesize because clearly 30x100k is not 342k, but maybe your animation sequence is just very simple. Mine is a complex animation with every vertex moving every frame, and Anthony's much nearer the mark in how this would come out. Plus all the MD2 exporters I've seen would vomit on 14,000 vertices anyway.

And 40mb for one sequence for one model is hardly practical in a game that's going to be ( at least partly ) distributed online.


TroM(Posted 2003) [#29]
105k per frame yes, but after importing the frames in a MD2 maker the end result is a 343k MD2 file, not 105k X 30


TroM(Posted 2003) [#30]
I know MD2 is not perfect, but you still have to expect some kind of large file for a 14000 poly with 1000 animation frames.

BTW my MD2 zipped is 136k (2.5 time smaller)


Gabriel(Posted 2003) [#31]
I know MD2 is not perfect, but you still have to expect some kind of large file for a 14000 poly with 1000 animation frames.


Only if you use MD2. It's around 1.5mb as a b3d and gets down to around 500kb compressed. That will presumably get even a little lower when the archive has all the other game files included.


TroM(Posted 2003) [#32]
1.5MB for a 14000 poly with 1000 animation frames? plz...


(tu) sinu(Posted 2003) [#33]
"1.5MB for a 14000 poly with 1000 animation frame"

seriously that can't be right for your model, mine is at 1.2mb for a 300 frame, 4500 poly model in .b3d format. Shouldn't yours be at least around 5mb(taking a guess)


Gabriel(Posted 2003) [#34]
1.5MB for a 14000 poly with 1000 animation frames? plz...


Yeah, because I have nothing better to do than sit on a messageboard telling lies. Don't believe me? That's your loss. Stick with your MD2's.

Sinu : No, it shouldn't be because the filesize is really derived from the number of frames and the number of bones. The number of poly's makea a relatively small difference. I don't have many bones, and I'm guessing your model has more.


TroM(Posted 2003) [#35]
so how many bones do you have? 2?


(tu) sinu(Posted 2003) [#36]
mine has the regular max biped, i always thought it was rather large, now i know it is and that it should be smaller.

ps we're still using the max to milkshape route too, if that makes any difference. I will use the new max plugin from pudding when we remodel.


Gabriel(Posted 2003) [#37]
I'm using a cutback biped with only one spine bone, no fingers and no toes. I'm not using the Milkshape route, so that might make a difference. But I'm not using Pudding's Exporter either. I'm using Ultimate Unwrap, which has never let me down so far. I can't see any reason to change for animated characters.


TroM(Posted 2003) [#38]
Ultimate Unwrap is for texturing, what does it have to do with anything?


(tu) sinu(Posted 2003) [#39]
"Ultimate Unwrap is for texturing, what does it have to do with anything?"

chill TroM, if you've seen/used it you'll know that it can import and export many file formats just like milkshape can, so you can import a different file format that you've exported from max and then export it from UU into .B3D


TroM(Posted 2003) [#40]
will it make my 14000 poly, 1000 anim frames under 1.5MB? :)


Anthony Flack(Posted 2003) [#41]
No, it will make Sybixsus's 14000 poly, 1000 anim frames under 1.5MB.


Gabriel(Posted 2003) [#42]
Ultimate Unwrap is for texturing, what does it have to do with anything?


It comes with a 3dsMax to U3d exporter which has always worked better for me than either Pudding's Exporter or the Halflife & MilkShape route. Conversion from U3d to B3d in Ultimate Unwrap has always been flawless, and since I have it in U3d format, I can tweak the model whenever I want without having to go back into Max and reexport the whole thing.


Rob(Posted 2003) [#43]
For the ending I would just render some quality fmv that runs smoothly and looks great on all machines?


Gabriel(Posted 2003) [#44]
That did occur to me, but in order to look great on all machines, I would have to avoid optional codecs like DIVX and XVID, and it's going to end up adding a lot to the download size. I do hope to publish to cd as well as download, but it would be a shame to only offer the credits scene in the CD version, and would probably put off online publishers. At the moment, I can get an intro scene and an end scene into about 4mb uncompressed, including models, textures, fonts, etc.

It gets over 30fps on an Intel onboard chipset, and I doubt the game will work on anything lower anyway. I mean let's face it, TNT2's and GF1's are usually more capable than an onboard Intel.


Ross C(Posted 2003) [#45]
Ultimate unwrap is a really good converter. I use it for all sorts of things, like making groups and stuff :) Love it to bits !


ronbravo(Posted 2003) [#46]
I am an artist with limited art knowledge and was wondering what weighted verts will provide. You know pros and cons and why vertex weights are needed. Also if someone could provide a nice visual example would be nice. I ask because I would like to know any problems before I start modelling a character.


ronbravo(Posted 2003) [#47]
I am an artist with limited art knowledge and was wondering what weighted verts will provide. You know pros and cons and why vertex weights are needed. Also if someone could provide a nice visual example would be nice. I ask because I would like to know any problems before I start modelling a character.


Gabriel(Posted 2003) [#48]
There are no cons, at least from an artistic standpoint. The reason for having them is to allow vertices to deform more smoothly and more naturally by having them affected by more than one bone, according to the weight associated with it.

It gives you massive improvements to the way the joints deform, particularly with higher poly models. And as videocards get more and more advanced, "low" poly models are getting higher and higher.


Mustang(Posted 2003) [#49]
Vertex weighting has the standard way of doing smooth bends after seamless skin charcters started to appear years ago - first in renders, then in games. The old way of doing things using separate "blocks" (hierarchial animation) just relied on hierarchy and "limbs" themselves (vertices) were not modified runtime, just rotated (like what .3DS format animation is only capable of).

When you don't have separate limbs at all and the whole charater is made of "seamless chicken wire mesh" then the bones that animated that have to move / deform vertices inside the mesh. First examples used rigid way which cause creases and general ugliness because you don't get smooth vertex deformation but sharp "edge" between two vertices that belong to different bones, and soon weighting appeared that allowed bends to act more naturally.

Sadly Blitz is still in the dark ages of character animation and can only use non-weighted seamless characters - which is useless basically. You COULD try to overcome the lack of weighting with more bones, but that would require more CPU time when drawing that because there's 2-3 times more complex bone hierarchy for Blitz to solve... also rigging character with excessive amount of bones is PAIN and animating it PAIN^2.

Few random links roughly about the subject:

Introducing multiple weights per vertex improves the smoothness of the mesh-hull. This process is called vertex blending. This is achieved by allowing more than just one bone to influence each vertex, effectively mimicking the way that a bone in the real world would affect the skin of a living being. Each vertex is given information about which of the bones in the skeleton influence it and how great the influence of those bones is (skin weight). What we need is a skin that will blend smoothly between the rigid joints.


http://www.cg.tuwien.ac.at/studentwork/CESCG/CESCG-2002/MPutzKHufnagl/02_related.html

http://www.geocities.com/rgkovach/wp_tut.htm

http://www.geocities.com/rgkovach/altwp_tut.htm

http://www.okino.com/conv/skinning.htm


ronbravo(Posted 2003) [#50]
I was thinking I could create a model in 3DS max with weight information then export it to the B3D format. I know that the weighted information wouldn't transfer but I would have it there on the model for whenever B3D does support this. Would the model still work decently event thou it is rigid with weight information? In other words would I still be able to use the animations as a place holder until blitz supports this feature?


Mustang(Posted 2004) [#51]
I know that the weighted information wouldn't transfer but I would have it there on the model for whenever B3D does support this. Would the model still work decently event thou it is rigid with weight information? In other words would I still be able to use the animations as a place holder until blitz supports this feature?


This is what I do - I model and animate my characters like I do them "normally" (ie at work). They will "work", sort of, even without the weights look so horrible that I don't want anyone to see them :) I trust that we will get the weights someday and then they will work correctly.