When it comes to optimizing game assets I've learned (from articles like this one:
http://www.ericchadwick.com/examples/provost/byf2.html) that it´s the number of vertices that's important rather than the polycount and that the number of uvs and vertex normals affect the total vertcount.
My question is if anyone know a good way to find out the exact vertcount of a model as Maya only display the "original" vertcount, not the effects of uvs and normals?
I'm currently working with XNA and use .fbx file format. Is there a way to get vertcount information by exporting as fbx ascii? I'm not able to make much sense of such a file due to lack of technical skill but I suspect that the information is there somewhere.
Any ideas on how to go about?
Replies
http://boards.polycount.net/showthread.php?p=934301#post934301
http://wiki.polycount.net/Polygon_Count
But really one more time, this kind of optimization is very difficult to estimate.
To create a script it returns Uvs Border and vertex with no soft normal info and then to separate vertex they are affected in multi vertex giving a vertex count is probably possible...
... but to deduce from a stripping algo what vertex will be divide or not is a very difficult part. (depending of the programmer algo work)
Also epend of your exporter... Importer in your engine... etc...
Just make good uvs reducing the number of border edges...
Use hard edge when you need....
And after that... it should be ok....
The documentation your read is first to understand how it works and how an artist can improve in creating 3D...
Also your 3D will get involved in many tools, then all depend of the work of each programmer on each tools.
In France I know a stupid game...
Take 10 persons, speak to hear of the first guy, and he will also repeat your words to the next guy etc...
And ask to the last guy to repeat the main subject...
3D is often same....
You work in Maya (Made in Alias and Autodesk)... export with FBX (Made in Autodesk to communicate between Autodesk product) ... Import in XNA (Made in Microsoft)...
Then I do not know if they use the same algo for the strip... but....
I've understood too that theres not much use to get caught in numbers when optimizing as long as you use common sense and make sensible choices when working on your model. The reason why I need this though is for my degree project and my plan was to use the vertcount as a way to measure the effects of the optimizations I've made.
I'm a bit confused here, sorry... but this seams to be a lot more complicated than what I thought at first. Some people referred this to "vertcount before and after transformations" which made me think that it was something that "happened" in the GPU, then I heard that it sort of happens when you export a model from your for instance Maya.
What I dont understand is how the vertcount can change depending on game engine and what tools you use... Isn't the vertcount constant?
I might have gotten this all wrong, and if so then I'd appreciate if someone could explain it to me
(just noticed your last post - so yeah i agree)
As for different engines ... I would think it all depends on their specific optimization choices. For instance, it used to be impossible to export custom normals to unreal 2.5, since the engine/editor recalculated at import. I am sure there was some kind of optimisation reason behind this.
Good luck for your project! - another piece of data for you would be the unreal3 optimization Kevin was doing on the environments. He mentionned that being anal on the tricount only brought a marginal fps increase - meaning that when it comes to optimization, its all about spending time on what really matters...
What I like the most when it comes to optim is to cut out pieces of the model that I know can be straighten out in the UVs (surrounding them by a clean line of edges) to ensure super clean mipmapping and clean edge lines in the texture. More of a visual approach than a 'by the numbers' approach, I find it to work very well.
Pior what you said about unreal 2.5 that it recalculates the model at import makes sense to me now, thanks.
For my project I'll be doing a comparison of a model from before and after it's been optimized and I was planning to use the vertcount as a variable in that analysis so what I'm after is really a way to get hold of that number.
So if anybody has, or know where I can find, a vert counting MEL script I'd really appreciate it.
The right vertex count is written in the top left of your viewport in Maya.
If you want a vertex count as mel script, you need to list the specification of your exporter or engine.
It works like that and not like you would like it works.
I tried out the MaxScript and got it working but I've no experience with 3ds and I ran into some issues with the normals. The script didn't seem to care whether an edge was hard or soft although it's supposed to. I guess that has something to do with the export/import?
I am playing to create a directX exporter under Maya and I think I got new information.
About directX in the export file, vertex count seems to change depending of the Uvs.
For exemple to build a geometry WITHOUT uvs, you will only need to list vertex and then to list the triangle with the connection on each vertex.... something like that :
(exporter from Maya with my script)
This object is a simple pyramid of 4 sides with no bottom face and UVs
You can read : 5 vertex and 4 triangles.
No lets export similar pyramid from 3dsmax (yeah 3dsmax because my script do not export uvs yet... )
Uvs are done with flatten tools, and there are 4 triangles separated in the Uv map editor.
Now you can read 12 vertex, 4 triangle and 12 uvs.
And then 3rd test using the unfold mapping in 3dsmax :
Result : 8 vertex, 4 triangle and 8 Uvs...
======================================
Now my conclusion could be the "Uvs count" of Maya could help you understanding better the vertex count when exporting...
I am not 100% sure about it, but it could be answer....