CSS/SCRIPT

Saturday, May 22, 2010

My Method For Classifying 3D Models

In this paper, I propose my method for Classifying 3D models that can be useful to put a common ground in order to plan, design, implement and evaluate models of building, churches and monuments.

This method allows us to assign a specific code-class to 3D models based on their geometric characteristics and texturizing.

The method is built on the exterior inspection of the model and can be applied to models generated with SketchUp (for which it was conceived) as with other 3D modeling tools, and therefore does not take into consideration the technical specifications of implementation (number of sides, faces, size of textures, kbytes, etc.)

The method has no automatic correlation with the assessment of design quality or aesthetic quality of the models - although it may provide some conceptual tools very useful in such assessments!

In other papers I will examine further features, advantages and disadvantages, pros and cons, traps and errors in relation to different classes in order to provide practical guidance and designing help for all people who draw near to the first time in the world of 3D modeling.



The model that illustrates the method
To illustrate my method I used ED_ModelGTClasses_TrapsAndMistakes.skp model, released in 3D Warehouse, where, starting from a typical Romanesque bell-tower, I present some possible versions corresponding to the various classes defined.

Warnings on the model
- the individual elements must be analyzed as representative samples of their Style (or GT Class)
- I took the opportunity to indicate - at the minimum level of complexity which they may arise - the most common (and often annoying) errors and defects in which the modeler often incurs; these errors and defects, which are given here with the red arrows, are not discussed in this article but they will be widely reproduced and described in a later article.





 MY METHOD FOR CLASSIFYING 3D MODELS
  Author: Enrico Dalbosco (Arrigo Silva) - may 2010

Table of Contents
- Terminology
- Warnings
- Step 1. Identifying the complexity of the geometry (G Code)
- Step 2. Identifying the type of texturing (T Code)
- Step 3. Identifying the variants
- Step 4. Producing the GT Class identification code in its complete form (extended GT Code)


 Terminology

GT CLass stays for Geometry-Texture Class
In some cases instead of GT class will be simply used the term Class, and in some cases the term Style - always with the same meanin

G-Code stays for Geometry Code and indicates the geometrical component of the GT Class

T-Code stays for Texture Code and indicates the texturing component of the GT Class


 Warnings

This method allows you to assign a specific code-class to 3D models based on their geometric and texturizing characteristics.

The method is built on the exterior inspection of the model and can be applied to models generated with SketchUp as with other 3D modeling tools, and therefore does not take into consideration the technical specifications of implementation (number of sides, faces, size of textures, kbytes, etc.)

The method makes no investigation on the compliance between model and the represented building (except for one small exception that will be mentioned below).

The method has no direct correlation with the assessment of design quality or aesthetic quality of the models - although it may provide some conceptual tools very useful in such assessments.


 Step 1 - Identifying the complexity of the geometry (G Code)

This step requires that the model is examined in its geometric characteristics, regardless of the type and quality of the textures applied, to identify a code indicating the degree of geometrical complexity.

The result of this step consists of a code, said G Code, which that can take these values:

G CODE:
G0 = Geometry essential
G1 = Geometry at 1° level of detail
G2 = Geometry at 2° level of detail
G3 = ...


G0 - Geometry essential

G0 is the minimal set of geometric shapes that identify broadly the character of a building seen from a medium distance (that is, approximately, from a distance of about ten times its maximum size).

In the case of a church, the Geometry essential might include forms such as the body, the bell tower, the transepts but not the porch, the little apses, buttress, etc.

NOTES
for certain types of monuments, the essential geometry is simple and easy to detect and and consists of elementary geometric figures (cuboids, prisms, pyramids, hemispheres, etc.) juxtaposed to each other - for other types (think of the monuments of China or Japan, Islam, or modern structures) essential geometry can be much more complex to detect.


G1 - Geometry at first level of detail

G1 is enriched with details that can be appreciated by an observer who looks at the building more closely (that is, approximately, by a distance comparable to the maximum size of the building).

In addition to the essential geometry G0, G1 includes relevant details, may be outside the previously defined solid or also inside the walls themselves.

In the case of a church, G1 might include the minor bell-towers, spurs, the maior side chapels, the staircase, etc

The new geometric parts present in G1 can almost be regarded as the budding or branching structure G0, and may in some cases they may come to be of real (little) models!


G2, G3, ... - Geometry at second, third, ... level of detail

The reader can borrow the definition of these classes recursively from previous definitions.



The new geometric parts present in G2, G3, ... can be regarded as budding or branching structures of G1, G2, ...

Analyzing the models in 3D Warehouse, we see that they belong mostly to class G0 (in this category almost all models produced by Building Maker and most of the first models produced by fans who have just learned using SketchUp), the G1, G2 class for most of the remaining, and G3 for a small but significant minority.


 Step 2 - Identifying the type of texturing (T Code)

At this step we must consider how the model il clothed, ie which properties, colors and textures are assigned to the visible surfaces of the model.

The determination of the type of texturing is much simpler than the geometry, though it may hide some pitfalls...

The possible types of texturing are:

T0 = No texturing -  No colors nor textures are assigned to the surfaces

T1 = Covered with flat color - Only colors (characterized by the values R, G, B and Transparency) are assigned to the surfaces

T2 = Textured with repetitive standard textures - Only repetitive standards textures are assigned to the surfaces - for SketchUp, you can choose from a library of a number of standard textured (paving, roofs, etc.) or you can use other sources of ripetitive textures

T3 = Textured with ad hoc textures - Only textures ad hoc created are assigned to the surfaces - many of these textures represent entire walls or specific details of the modeled building , and therefore often they are not repetitive 



Regarding repetitive textures there is no specific automatic criterion for determining whether a texture belongs to the class T2 or T3, but nevertheless finding the 'right' class can also be carried out is fairly easy and unambiguous (this is one of the few cases in which it could be useful to be able to view the actual characteristics of the building that inspired the real model)

Of course in the same model can coexist several approaches to texturing, and thus the outcome of this phase could be a multi-code, perhaps indicating the percentage of frequency of use, eg T1 for a model clad only color or T1 (15%) / T2 (5%) / T3 (70%) for a model where the majority of surfaces are coated with custom textures, while others are covered in standard textures and others simply colored (in this case you could also use the notation T3/T1/T2 highlighting the decreasing frequency or shortly T3.

Analyzing the models in 3D Warehouse we find a great variety of texturing, from T1, to T2/T1 or T2 strictly applied, to T3 applied in conjunction with T2 (and also with T1) or to T3 strictly applied (less frequently).


 Step 3 - Identifying the variants (suffix png and linear)

So far we have considered, respectively, the geometry and texturing.

To adapt the method to the current practices used by (SketchUp) modelers, it is now appropriate to consider two types of a bit... hybrid modeling techniques (ie in between geometry and textures) that may produce  spectacular 3D effects without using strict 3D mode: the first technique is using of textures based on transparent png files and the second is using simple lines and 2D surfaces to suggest 3D details.

Using of transparent PNG files (suffix png)
In the example of Romanesque bell-tower, in Class G0-png you can see how the use of a wall made from a transparent textures can produce the impression that the windows of the tower are in 3D (although with... zero thickness). In this case to the model G-Code G0 must be added the png suffix, thus obtaining G0-png, to indicate that the geometric class (yet) G0, which however have been added textures transparent png with the intent to emulate a higher geometrical order.

Using outlines or cutouts (suffix linear)
Similarly, always in reference to the example of Romanesque bell-tower, in Class G1-linear you can see that the detail of windows is obtained simply marking the contours (as opposed to what happens in G1 tout cour, which was also modeled the thickness of window itself). Here the model class is called G1-linear: G1 because geometrically distinct and more complex, from G0, but with the addition of the suffix linear, to indicate that the detail was not obtained with the full 3D but only by defining the boundary.

The attributes png and linear, if present, must be suffixed to the G-Code and T-Code


 Step 4 - Obtaining GT Code class in its complete form

The code of a GT-Class has the following format:

(geometrical complexity) - (texturing technique) - (png) . (linear)

more formally:
G-Code - T-Code - (png) . (linear)

or also:
Gm-Tn-(png).(linear) 
where m:(0,1,2,3, ...)
and Tn: Ti(/Tj(/...)) with i,j:(0,1,2,3)


Examples of classes in 3D Warehouse
Simple models simply colored: G0-T1
Models created using Building Maker: G0-T3 or G1-T3
Simple models textured with standard repetitive textures: G1-T2 or G2-T2(-linear) or G3-T2(-linear)
Less simples models full textured: G2-T3(-png)(.linear) or G3-T3(-png)(.linear)



3 comments:

St. Pall said...

Many thanks for taking the time to write this concise and useful text.

Anonymous said...

Interesting ideas. The idea of G0-png could be expanded to G0-alpha for similar effects with .PSD, .TIFF where programs other than Sketchup (or future versions of Sketchup perhaps) can use other bitmap textures with alpha map transparency.

Don Shepperson said...

Great work here and on the models
for Google Earth, it's clear that you put much effort into it!

Post a Comment