WBandD

Welcomes

Or... How to make a round hole in a square shape.

This is going to be a very basic tutorial to get you started on some functions. This tutorial assumes you have at least played with a modeling program of some kind, but should still be easy for a beginner to follow, I hope.

First, a little background. For those of us that have been creating and/or building in VRML for a number of years, there was a great program called Spazz 3D. It was one of the few pure VRML modeling and creating programs out there (Along with Internet Space Builder, Platinum VR Creator & Cosmo Worlds). Other programs would save or export to VRML but it wasn’t their primary file type. Spazz evolved into VizX Studio, and then into Flux Studio (the names might be sounding more familiar as we go). Spazz and VizX Studio cost 2 or 3 hundred dollars at the time. With the Release of Flux Studio it became free, much to the chagrin of those who had bought the prior versions. The final evolution of this program is now Vivaty Studio. While no longer merely a pure VRML modeler, it still and as of now, one of a tiny handful of programs focused on VRML/X3D. It is still free and still works as well as its previous versions.

To follow along, you will have to go and download Vivaty for free at: http://developer.vivaty.com/getstarted.php

Let’s get started. Once you have downloaded it and launched it you will see an interface that looks like this. I recommend that you fool around and learn the basic functions first, like zooming, changing and rotating the views, etc.


Looks pretty much like other 3D modeling programs, doesn’t it? You have four windows that are (from top left clockwise), Top, ISO, Front & Right views. Clicking a view window and then moving the mouse wheel will allow you to zoom in and out. On your left side you have tools, such as shape selectors, lights, cameras, etc. On the right you have a “tree view”, top, and parameters for translation (moving), textures, etc. in the lower right box. Don’t worry if you don’t see anything, nothing shows until it’s needed.

We are going to make a little grass hut with an opening in the front as this will utilize the pre-loaded basic shapes that come with the program. NOTE: don’t let the term Boolean Extraction throw you. It is one of those terms you hear or see knocked around in 3D Software circles. What it basically means is that we are going to make holes in things. The steps we will go through here are pretty much the same for most 3D programs. So if you have AC3D (see previous tutorial), or other programs that will perform this function, and not all will, the procedure will be similar.

Once the program is launched, go to the upper right tools and select the cylinder. Your cursor will turn into a small cylinder. Click in the front view window and one will appear. Hmmmmm, it’s kind of puny.

OK, now we get to play with the tools. Look in the upper right, above the ISO view, and you will see four icons that look like this


They are, from left to right, translation (moving), rotating, scaling (sizing), and pivoting. Select the scaling tool (3rd from left). When you click on the cylinder you created you will see tabs appear in the lower right corner.



The second tab from the left has a cross symbol right the translation tool you just saw above. Click on it; go ahead, it won’t bite! You will now see a repeat of the icons you saw above. Where is says “scale” make sure the box that says “uniform” is checked.


This allows you to increase the size of your object uniformly. Now take your cursor and click, and then drag on your object. In the front view dragging to the right will make it bigger, to the left will make it smaller. Once you have it a decent workable size, go back to the lower right and un-check the “uniform” box. Now go back to the front view and drag down slowly. This will flatten the object a little. At this point, your cylinder should be listed in the upper right window as “cylinder 1”.


Now go back to your shapes and select cylinder again and place it in the right view window. Go to the lower right window and to the far left of the “rotate” icon, click the 90 button. This will rotate the new object 90 degrees. Now go to the scale tool and increase the size both uniformly and non-uniformly so it looks somewhat like the illustration.



Now go to your translation (moving) tool and, using your top view, move the new cylinder so it falls inside the first one but NOT all the way through to the other side. You will probably have to move it around but try to end up with something like the next illustration.


In the upper right you should now see both “cylinder 1” and cylinder 2” listed. This is important, but we will get back to it later.

Now, click on the second cylinder you created, then go to the tools menu at the top, go to “Boolean Operations”, and then “Extraction”.


A window will pop up that looks like this


Don’t worry about all the terms you see. Basically it goes like this; the second cylinder you created is cylinder 2. The operation type section has “Node 1 cuts Node 2”. Huh? Note to the right of that it explains that “Node 1” is Cylinder 2, and “Node 2” is Cylinder 1. This is because you selected the second cylinder first. What you see is how you want it for this instance, so click OK. You should see something that looks like the next illustration.


Hmmmm, looks like part of the cylinder was left behind. Remember I said we would get back to the tree view? Select “Index Face Set: Cylinder 2”, and delete. YOU should now have a nice, neat, hole in the wall.

Before we go any further, it may look like the back parts are missing on your model. There is a reason for this. Polygons or index face sets have two faces. When both are visible it takes more resources and size to show them, especially on-line. So, the default setting is to not show (or “cull”, as it is called in some programs) the back faces. In order to see the complete model, go to the far right tab in the lower right window. There you will see a checked box with a phrase to the side that says “Solid (Don’t Draw Back Faces). Un-check it, like in the illustration, and you will see everything. You can always turn it back on later if need be.


From here I have gone a little further and created and resized a cone for the roof and added some textures. I will go into texturing in another installment.


Once you have completed your model, first save it out as a Vivaty Studio file. This will allow to you open it again immediately as needed for changes. Then go to “File”, “Export X3D or VRML”


and when the next window pops up, name it and click save. I recommend that you check the “Uncompressed” button in the compression option section, and the “All Content” button in the Scene section. Saving compressed should only be done if you are ready to upload your model.



I am including a zipped copy of the hut with this article. Play with it and practice. I think you will find that it is easy and fun to do.

Happy modeling.

See this article and more at:

Share

Attachments:

Reply to This

Replies to This Discussion

:))
Is cool ...
With booleans You can make many things.
Is a good ideea to write about these capabilities of 'Vivaty Studio'.
Guys from Vivaty will kiss You for this tutorial. Or maybe, You have a job at 'Vivaty' ? :))

Reply to This

Afraid not. I make newspapers.

Reply to This

Hi Bruce,

Good idea and nice tutorial. Vivaty studio deserves the honour. It is a very effective and free nice tool, also includes accutrans to convert to and from many formats. Even has a script editor! It really replaces many tools at once. Do you want more? Do you need more ? (well, I only wish that guys at vivaty give this pearl a better attention and correct some annoying bugs. I am afraid this is not happening and hope that if we manifest our interest in this studio, vivaty corp will notice that and do what has to be done).

How to remove the unnecessary triangles ?
Looking at your tutorial with some friends, they asked me how to remove the unnecessary triangles from the floor and the ceiling. I share here, for all beginners, what I explained, with these simple steps:
For the Cylinder1
1- select cylinder1 and with the mesh editor (see the figure here) remove all the unnecessary triangles
(its handy to use the "hide all but selected" tool, as pointed red on the figure, so you see only the cylinder1 while you are working with it)
For the Cone1
2- Select cone1 and with Tools menu "convert to indexed face set"
3-then, as in step 1, use the mesh editor and remove all the unnecessary triangles.
4-Finally make the ceiling visible inside. As explained by Bruce in the tutorial, uncheck the “Solid (Don’t Draw Back Faces)" option of mesh tool.

Optionally you can create a group and put all objects inside in order to make easy resizing of the Hut

The files are annexed below :)
Attachments:

Reply to This

vcard said:
Hi Bruce,

Good idea and nice tutorial. Vivaty studio deserves the honour. It is a very effective and free nice tool, also includes accutrans to convert to and from many formats. Even has a script editor! It really replaces many tools at once. Do you want more? Do you need more ? (well, I only wish that guys at vivaty give this pearl a better attention and correct some annoying bugs. I am afraid this is not happening and hope that if we manifest our interest in this studio, vivaty corp will notice that and do what has to be done).

How to remove the unnecessary triangles ?
Looking at your tutorial with some friends, they asked me how to remove the unnecessary triangles from the floor and the ceiling. I share here, for all beginners, what I explained, with these simple steps:
For the Cylinder1
1- select cylinder1 and with the mesh editor (see the figure here) remove all the unnecessary triangles
(its handy to use the "hide all but selected" tool, as pointed red on the figure, so you see only the cylinder1 while you are working with it)
For the Cone1
2- Select cone1 and with Tools menu "convert to indexed face set"
3-then, as in step 1, use the mesh editor and remove all the unnecessary triangles.
4-Finally make the ceiling visible inside. As explained by Bruce in the tutorial, uncheck the “Solid (Don’t Draw Back Faces)" option of mesh tool.

Optionally you can create a group and put all objects inside in order to make easy resizing of the Hut

The files are annexed below :)

Thanks for that :-) I did fail to go that fer with it, so your info is a great add-on. It should be noted also that Booleans are sometimes not the most efficient way to model. They can create too many polys in a complicated model. That's why I kept it for use with simple shapes. Like any other tool, it should only be used where it is applicable. :-)

Reply to This

I learned long ago that it really doesnt matter wether you perform a boolean on an object or use extruded splines to get the same effect. Either way the vertices are still ordered in a similar way providing the shapes used are the same. The biggest problem with booleans is not cleaning up unseen triangles or using double sided mesh when you dont want it. Sometimes it is a big plus to have the 2 sides. You can make one cut, seperate the 2 sides then have 2 different sides of a wall to texture. An inside and an outside. So basically you can get 2 seperate objects with the door hole cut in both pieces from one cut. I do try to use splines whenever possible though since I have seen boolean ops do some strange things to very dissimilar meshes.

Nice tutorial bruce. I am certain this will help alot of people to understand the usefulness of boolean ops :)

Reply to This

Steve said:
I learned long ago that it really doesnt matter wether you perform a boolean on an object or use extruded splines to get the same effect. Either way the vertices are still ordered in a similar way providing the shapes used are the same. The biggest problem with booleans is not cleaning up unseen triangles or using double sided mesh when you dont want it. Sometimes it is a big plus to have the 2 sides. You can make one cut, seperate the 2 sides then have 2 different sides of a wall to texture. An inside and an outside. So basically you can get 2 seperate objects with the door hole cut in both pieces from one cut. I do try to use splines whenever possible though since I have seen boolean ops do some strange things to very dissimilar meshes.

Nice tutorial bruce. I am certain this will help alot of people to understand the usefulness of boolean ops :)
Yes compound objects are very, very enterestings !
'Vivaty Studio' is a litlle '3dMax'. Who know to work with '3dMax', will work wery well with 'V.S.'
:)
I go to check for news on his site ...

Reply to This

tutancamon said:
[...]I go to check for news on his site ...
Yes, ofcuorse for me exist a new: He has same version, but another installer. My installer has 9,632,640 bytes and this has 12,415,088 bytes .
Bruce seems to be an expert in mapping. Mapping is one of the most difficult operations of modeling. Maybe He will want to devote an issue for this ...
I do not know very well the process of mapping.

Reply to This

thank you for this tutorial I applied it and that help me ...

Reply to This

Reply to This

RSS

Badge

Loading…
Who Is Online

NEWS

ParallelGraphics starts beta-testing of Cortona3D Viewer 6.0 Beta (previously known as Cortona VRML Client) and invites participants to take part in the beta testing program. Cortona3D Viewer is a fast and highly interactive VRML viewer that is ideal for viewing 3D models on the Web. It works as a VRML plug-in for popular Internet browsers such as Internet Explorer, Netscape Navigator, Mozilla, Mozilla Firefox, Opera, and Google Chrome.

Cortona3D Viewer 6.0 Beta homepage -


Download Cortona3D Viewer 6.0 Beta -


Cortona3D Viewer v. 6.0 Beta: What’s new

Unicode support

Cortona3D Viewer 6.0 provides full support for UTF-8 in VRML.

Localization of the user interface

Now the menus of Cortona3D Viewer can be easily translated into other languages by licensed users.

Latest Web browsers support

Cortona3D Viewer now supports Mozilla Firefox v. 3.0 and Google Chrome.

Phong lighting support

The support for Phong lighting model is provided for graphical cards supporting the shader model v. 3.0 and higher. Limited support for the shader model v. 2.x is also provided.

Improved performance: new DirectX renderer

- Support for real-time anti-aliasing (multisampling).
- Support idle-time anti-aliasing by means of Direct3D.
- Support for composite textures.
- Improved processing of textures and 3D primitives.

Improved installation procedure

The use of Microsoft Installer (MSI) allows for easier installation of Cortona3D Viewer within an enterprise and as a part of third party applications.

New VRML extensions

- The Transform2DEx node allows for positioning layers on the screen and specifying their size in pixels.
- The CompositeTexture3D and CompositeTexture2D nodes allow for adding composite textures to the 3D scene.
- The GradientBackground node allows for creating horizontal or vertical gradient background that is static relatively to the camera movements.

Changes in VRML Automation interface

- Pick method has been changed:
Layers without background: areas with no geometry are considered transparent for the picker.
One-sided surfaces: invisible side is ignored by picker.
Double-sided surfaces: the normal calculation is based on a visible side of the surface.
- New method of geometry bounding box calculation:
§ Now the bounding box can be calculated in global coordinates.


The FreeWRL team have put FreeWRL 1.21.2 on-line, with source, debian (.deb) and Apple OSX dmg downloads.

http://freewrl.sourceforge.net

Summary of changes:
- Verified MIME types for OSX and Linux plugins.

- Classic VRML/X3D parser:
- fixed memory error when IS fields were large.
- dramatic speed improvement in PROTO expansions; visible when large protos are
instantiated.

- XML parser:
- speed increase in parsing attribute values (one test shows 100x speed increase)
- PROTO expansion and Script invocation being reworked - may still have parse errors.
(in progress)

- Source Code:
- OpenGL Shaders code should compile on OpenGL 1.5 and above now (was 2.0 and above)
- CFuncs/sounds.h - include unistd.h on Linux machines.

- Misc rendering changes:

- Javascript, direct writing to scenegraph, boolean values were not correctly translated from
javascript to freewrl internal values.

- FaceSets with Color node, not taking material properties correctly (especially transparency)

- FaceSets, with RGB Color node, keep track of associated material transparency, and work through
color node changes.

- removal of temporary files - code has been reworked, as some temporary files (specific:
files retrieved by wget or curl) were not removed.

- initial work on CubeMapTextures.

- GeoPositionInterpolator - output value not translated to local spatial units. (fixed)

© 2009   Created by Bruce Lehmann on Ning.   Create a Ning Network!

Badges  |  Report an Issue  |  Privacy  |  Terms of Service

Sign in to chat!