News:

 

Topic: Smooth Groups  (Read 9358 times)

0 Members and 1 Guest are viewing this topic.

  • No avatar
  • Posts: 2103
  • Polygon
February 28, 2014, 01:46:00 pm
I think smoothing groups should be dumped and removed completely,......

I do not agree.
It may well be a case that Maya does not use smooth groups, but other application do, including some game engines.
If I remember correctly, the Unreal game engine uses smooth groups, if models are imported with split vertex, they are welded.

  • Posts: 546
  • Administrator
  • Polygon
February 28, 2014, 06:12:21 pm
there is no game engine in existence that handles split normals with smoothing groups, in fact game engines cant even render verts with multiple normals, and just split the vertex to get the same effect.

The fbx importer of unreal can read smoothing group data, or it can just explicitly read the vertex normal list from the file. I do it all the time since i work in maya and develop for UE3 and UE4

Like i said multiple times in this thread smoothing groups are just a method to control split normals, and have little to nothing to do with the data underlying it all.

Having both systems, the max like smoothing groups, and the maya like hard and soft edges is just going to lead to confusion.
« Last Edit: February 28, 2014, 06:15:26 pm by Passerby »

  • No avatar
  • Posts: 2103
  • Polygon
February 28, 2014, 07:36:40 pm
there is no game engine in existence that handles split normals with smoothing groups, in fact game engines cant even render verts with multiple normals, and just split the vertex to get the same effect.
Who mentioned "split normals with smoothing groups", well apart from you.

Quote
The fbx importer of unreal can read smoothing group data, or it can just explicitly read the vertex normal list from the file. I do it all the time since i work in maya and develop for UE3 and UE4
Nvil does not export to fbx, so why is that relevant to this thread.

Quote
Like i said multiple times in this thread smoothing groups are just a method to control split normals, and have little to nothing to do with the data underlying it all.
The underlying data is different, one is polygon data(smooth groups), the other is edge/vertex data(Hard_edges).

Quote
Having both systems, the max like smoothing groups, and the maya like hard and soft edges is just going to lead to confusion.
As you are a Maya user, you will want hard_edges, but what about Max users, they would want smooth_groups.

From my own point of view/workflow, I could say "hard_edges should be dumped, removed completely" they are of no use. Would you agree?

« Last Edit: February 28, 2014, 07:38:57 pm by steve »

  • No avatar
  • Posts: 232
  • Spline
February 28, 2014, 07:45:35 pm
Hey guys,
please relax. It's great that IStonia has such experts at disposal. Let's rather think of a proper solution than spend energy on conflicts.

  • No avatar
  • Posts: 3758
  • Developer
  • Administrator
  • Polygon
February 28, 2014, 08:54:13 pm
I have made the tools as requested
http://www.digitalfossils.com/Download/NVil-Feb-28-14.rar
  * Geometry > Common Commands n Tools > Smooth All.
  * Edit > Comstomize > Tools > Polygon Shortcut Tools > P_AutoSmooth.

I will try to stop NVil from creating unnecessary hard edges. Lots work. I have to scan though lots codes.

The data is actually on each individual vertex. Max style polygon base smoothing groups and Maya style hard edge method are the tools to create those data. I will keep both methods so you can use which ever is more comfortable with.

Edit: There is an option setting, Edit > Preference > General > Hard edge threshold angle.
« Last Edit: February 28, 2014, 09:00:49 pm by IStonia »

  • No avatar
  • Posts: 2103
  • Polygon
February 28, 2014, 09:21:04 pm
I have made the tools as requested
Many thanks,

Quote
The data is actually on each individual vertex.
So you only flag the polygon smoothing groups on export?
I am curious as to how Nvil could distinguish between overlapping smooth groups and hard edges if only one method of internal data is stored for both. That will no doubt have me experimenting.


  • No avatar
  • Posts: 3758
  • Developer
  • Administrator
  • Polygon
February 28, 2014, 10:42:23 pm
The related data is not bound to the smoothing groups or hard edges settings, in fact there is no hard edge settings in data. When you use any of the tools, you are setting the smooth data in each affected vertex and the vertex smooth data does not remember which tool has been used. When you try to select hard edges through a tool, the program will check the smooth data of the two vertices of an edge to determine whether the edge is hard or not.

If people want to export smoothing groups and the smoothing group settings are not conform to the vertex smooth data setting, they can use the new P_ tool to generate new smoothing groups base on the existing hard edges(of course they are extracted from vertex smooth data).

  • No avatar
  • Posts: 2103
  • Polygon
February 28, 2014, 10:58:12 pm
The related data is not bound to the smoothing groups or hard edges settings, in fact there is no hard edge settings in data. When you use any of the tools, you are setting the smooth data in each affected vertex and the vertex smooth data does not remember which tool has been used. When you try to select hard edges through a tool, the program will check the smooth data of the two vertices of an edge to determine whether the edge is hard or not.
Thanks for the info.
So how is a determination made of which polygon belongs to which smooth_group?



  • No avatar
  • Posts: 3758
  • Developer
  • Administrator
  • Polygon
February 28, 2014, 11:20:00 pm
There are 32 smoothing flags. A polygon can hold none or any number of these flags. In a vertex, if two polygons has one or more flags in common, they are considered to be in the same smooth group. So polygons connected to a vertex can be grouped into different smooth groups. When rendering, the vertex may be split into a few vertices depending on the smoothing grouping and the uv grouping.

In my opinion, if you don't have to, don't use polygon for smoothing control. It is very confusing and tedious.

  • No avatar
  • Posts: 2103
  • Polygon
February 28, 2014, 11:35:53 pm
There are 32 smoothing flags. A polygon can hold none or any number of these flags.
So hard_edges are controlled by vertex data, and smooth_groups are controlled by polygon data(flags).
Thanks,

Quote
In my opinion, if you don't have to, don't use polygon for smoothing control. It is very confusing and tedious.
As I put forward earlier, I do not use smooth_groups or hard_edges on my models. My request was for trying to get an easy way to control smooth_groups for those who need/use them(or for those who want to remove them without having to open the smooth_group panel).

I still think there will be some concern with smooth+groups, as Nvil will still place new polygons as unassigned(not smoothed), so hard_edges will be produced if exporting to an application that uses smooth_groups. But as I only requested 2 additional commands to be opened for bindings, I will leave the thread for now.

« Last Edit: March 01, 2014, 12:19:37 am by steve »

  • Posts: 546
  • Administrator
  • Polygon
March 01, 2014, 02:38:29 am
@steve can't test right now since not at home, but it might not even export the smoothing groups to OBJ and simply just explicitly define the vertex normals.

Which would mean on import Max would just rebuild the groups based on the explicit normal data, so the visual result would be the same but the numbering would change.

OBJ supports both, it can store normals as a list of normal vectors, or it can just store groups of faces, and let the importing 3d package sort it out based on the groups.

Like both istonia and i said, smoothing groups are just 1 of multiple methods for working with splits in vertex normals, there not really important in the rendering and are not the only way to store the underlying data.

  • No avatar
  • Posts: 2103
  • Polygon
March 01, 2014, 08:02:54 am
@steve can't test right now since not at home, but it might not even export the smoothing groups to OBJ and simply just explicitly define the vertex normals.

There is no way in Nvil to stop the export of smooth_groups to .obj format (they are defined as face groups; S 1, S 2 etc). Vertex normals control the hard_edges, which can be disabled on export to .obj.

Maybe IStonia could change the .obj export so that smooth_groups can be disabled on export(all faces placed in one default smooth group), which may be easier for IStonia than dealing with smooth_group creation/non-creation during modeling.

  • No avatar
  • Posts: 2103
  • Polygon
March 01, 2014, 08:14:22 am
Like both istonia and i said, smoothing groups are just 1 of multiple methods for working with splits in vertex normals, there not really important in the rendering and are not the only way to store the underlying data.

They are important in applications that use smooth_groups. As you use Maya which does not support smooth_groups, then that data is discarded.

The next time you create a model, before you export it, bring up the smooth_groups, and press- "Refresh smooth groups", you will get lots of hard_edges, which is what happens if you export/import (.obj)to applications that support smooth_groups, which includes Nvil.