- Home /
Polygons, NURBs & Sub-Divisions
Hi I'm new with this game engine. A few questions: What's the difference in performance with NURB's and Sub-Division as opposed to Polygons? Example: Say I have a 100,000 polygon model and I convert it to either NURBs or Sub-Divisions and now my face count is say 20,000... does Unity still treat it like it's 100,000 Poly's? What is better to use in Unity between Poly's, NURBs or Subs? I'm working in Maya 2010 and Blender 2.5... is it better to do the animation sequences in those programs or in UNITY3D and only import the model and textures over? Example: I modeled a minigun and I want when user presses fire to have animation A start with the barrel slowly building up rotation speed before firing, then go into animation B where it's the full speed rotation of the barrel with muzzle flash and bullet shells flying out of the side... then into final animation C where the user lets go of fire and the barrel slows down to a stop. Any help is greatly appreciated. Thanks!
Answer by Eric5h5 · Jul 18, 2010 at 08:15 AM
You can't have nurbs or anything else in Unity, only polygons (specifically, triangles). That's the only thing that graphics cards actually render. Anything else you encounter in 3D apps that's different is merely a software abstraction that gets rendered down to triangles in the end anyway.
It's frequently easier to animate in your 3D app, but it depends on what you're doing. I'd be inclined to do the type of animation you describe in code, actually. (And, in fact, have done so.)
Not completely anything else is triangles, just as a comment (totally unrelated to the question :) ) You can render mathematical functions through a shader. You could even write a shader which renders true NURBS.
Answer by Colin 3 · Feb 06, 2011 at 09:21 AM
I had exactly the same questions. Check out the Unity3D Lerpz Tutorial. It doesn't actually tell you what is going on but the clues of how it works are all there.
Lerpz looks as if he is done with nurbs/subdivisions but he isn't, he's actually only done with polygons and very clever textures. Export just the Lerps character into your 3D program (I use Cheetah, which is truly fantastic with Unity - I used to use Lightwave). Then import that back into Unity and you should see Lerpz is just polygons that get the curved look through textures. Very clever.
Re the animations. Again check out the Lerpz character thoroughly by exporting his animation files into your 3D program and you'll see his walking, running, jumping is just one long animation. All that happens is walking calls up frames 0 - 33, Running - frames 41 - 57 etc.
In Unity if you open Lerpz in Objects in the Project window and click on Walk you will see the animation frame calls. Cheetah is particularly brilliant, if you double click on Walk in Unity it will open in Cheetah as a polygon animation. Similarly double click on Run or Jump etc and you will open up exactly the same animation.
Note you can both export and import animations between Unity and Cheetah. However the game animations are all finally rendered on the fly in Unity as the game progresses. I'm guessing that opening back-story animations are usually pre-rendered and Unity simply runs the film when you load the game, allowing a more detailed look.
Your answer
Follow this Question
Related Questions
World of Warcraft Model Import 1 Answer
Swapping out parts of a model in code 3 Answers
How to get and use animation clips of a model via script? 1 Answer
Maya Import Problems 0 Answers
Rigged model facing the wrong way 1 Answer