5 Specialised Geometry Build Nodes Added for 2.109

News, Discussions, Questions and Answers

5 Specialised Geometry Build Nodes Added for 2.109

Postby thyme » 10 Sep 2006, 23:17

Image

2.109 is ready for download from:
http://www.seamless3d.com/download


For the last 3 days I have completely shut myself away from the world/internet while I created 5 new specialised build nodes for seamless. I feel these new nodes will make it a lot easier for beginners to get accustomed to working with build nodes.
These 5 build nodes are highly specialised for creating the basic geometric shapes, Sphere, Cylinder, Cone, Box and Torus.

The 5 nodes for making these shapes are called:

SphereBuild
CylindersBuild
ConesBuild
BoxBuild
TorusBuild

The CylinderBuild node can also have each end variably rounded independently, making it much more versatile than a regular flat ended only cylinder. It should be much more suited for making simple type avatars from cylinders and spheres.
The ConeBuild also has an extra feature, same as PovRay, the top end can finish with a flat top (like a tradition Welsh woman's hat), by specifying a top radius "topRad".
These build nodes should not only make life easier for beginners but also for advanced users, especially when I add a disassemble feature that will let the user convert these simple nodes to nodes like Stem, CCLathe, CCBend etc. which in fact create the shapes for these node behind the scenes.

Most of the development on seamless for the last 5 years has been spent on developing the functionality for the Build nodes and the interfaces for them.
Unfortunately, for beginners I present the immediate way of editing polygons as in introduction because I have thought this way is probably the easiest way to begin with seamless but I am hoping these 5 build nodes will change all this.

What I realise, is build nodes are not only faster for getting perfect smooth shapes made, they are typically more stimulating than immediate editing and they actually bypass a number of problems that get encountered by beginners who use immediate editing!

Scaling can be very intuitive way to make big changes to a shape but it also can invite problems such as counter scaling parts if the scaling is affecting lots of descendent parts.
Each one of the build nodes has a "descendents" field that is off by default. Only when it is on will it affect the decedent parts so this should bypass this common problem beginners fall into.
Also because these build nodes do all their transforming statically, they don't modify the part's dynamic scale fields and so there is no need to use (or explain) an immediate "compileTransform" command.

Please see my simple example file:

http://www.seamless3d.com/img/5_new_geo ... nodes.smls

to see the new nodes being demonstrated and how they are used in the scene tree.

Anyone should be able to play with these new nodes and pretty much figure out what all the fields do without needing a manual :)

Some Points that might help to note:

Build nodes creates there whole shape from scratch each time you change any field in a build node.

A Build node is not a shape in it self, it creates the shape for the Part it references.

To reference a Part node, hold down the ALT key and drag a Part node to the right of the Build node. (the part node must be an existing node that belongs to the Seamless node (including any parts that are decedents))

Build nodes function sequentially in order as in like a list from top to bottom in the scene tree.

Because build nodes keep building everything from scratch, if you want to tug vertices or delete triangles in an immediate editing way, you must delete all build nodes that reference the part you want to hand edit. But please consider using other means to modify the shape because once it is no long being built in a build cycle, it no longer has all the advantages (such as being able to change the staves and vertices at any time in the future)

If you are a beginner always check clearCycle for any part that is referenced by a build node (unless you want to delete the build node after). clearCycle erases many of the fields for a part (including scale, rotation, transform coord (and all triangles belonging to the part)) at the beginning of a build cycle. This results in more efficient unDo operations and reduces smls file size significantly. Also it can avoid confusion to begin with a blank slate (a cleared part) I have found a number of times.

Besides the new 5 build nodes for 2.109.
TimeSensor nodes can now be converted to Anim nodes by right clicking on a TimeSensor and selecting "convertToAnim"
2.109 has undergone a number of important bug fixes.
2.109 introduces the option of letting the user add a setup function to any Build node. This MemberFunction is called each time just before the build node performs it's "doBuild". This feature should be very powerful, enabling the user to write complex mathematical formulas for build nodes. Just being able to assign a field to PI * a value (as opposed to remembering long numbers) should be usefull.

The following changes wont be understood by anyone except for more advanced Build node users:
-1 can now be used instead of adding very large numbers for any fields that is called "numOf"
The "vertexLen" field from the branchJoin fields have been renamed to "numOf" (old names will automatically be changed by seamless when loaded)
The TransferVertex field's "toVertex" has been changed to a "numOf" type (and renamed to "numOf") making the different build node concepts more uniform. (thanks to bumpy for this suggestion)
The ECScale, CCScale and CCRadialScale have had their fields fNegX, pNegX, fNegZ, pNegZ changed to negX, negX, negZ, negZ and the concept simplified. You can think of these values as scaling the "scale envelop". For example by default 1 is the value that has no scaling effect, If changed to .5 then .5 with be the value that has no scaling effect in the "scale envelop".
Place nodes now have a descendents field (same as the new specialised node) When it is checked it's Transform fields affects all descendent parts. It shares it's meaning from the BranchJoin node.

Sorry I missed the weekend, I am totally exhausted from getting this version ready to be uploaded but it is nothing a good sleep wont fix and I am very happy about where everything is heading :)
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39

Postby Lilly » 10 Sep 2006, 23:55

rélisé en 2 mn avec le nouveau seamless
youraaaa thyme !!
très facile pour les débutants
---------------------
relized into 2 mn with new the seamless youraaaa thyme!! very easy for the beginners
bisouowowowowow


http://pageperso.aol.fr/SUGAR7306242888/gift_thymou.wrl
User avatar
Lilly
 
Posts: 1097
Joined: 22 Apr 2006, 00:10
Location: France

Postby thyme » 10 Sep 2006, 23:59

Wow Lilly that was lightening fast!!! :P
and such an artistic reformation of my example :wink:
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39

Postby Lilly » 11 Sep 2006, 00:02

http://pageperso.aol.fr/SUGAR7306242888/nouveau.wrl

ehehehhe thymou better now

thank you
bisousssssssssssssssss
Lilly
User avatar
Lilly
 
Posts: 1097
Joined: 22 Apr 2006, 00:10
Location: France

Postby griff » 11 Sep 2006, 00:28

But where is the *traditional welsh lady's hat* ???

<grins>

griff :)
griff
 
Posts: 55
Joined: 09 Jun 2006, 22:50

namebuildnodes.jpg

Postby Alain » 11 Sep 2006, 15:55

hello Thyme , Lilly and griff.....

well...nice nods ..ok .....

but can I say that the "beginner" must absolutly know that logic :

Image

may be not so evident on first time ...

.....

humm..just to "help" ...

and I will use them ......
User avatar
Alain
 
Posts: 387
Joined: 29 Apr 2006, 14:26
Location: France

Postby thyme » 11 Sep 2006, 20:20

But where is the *traditional welsh lady's hat* ???


Lol griff :) when I wrote that I thought if anyone understands what I mean you will :) I just did a quick google search to find your VRML traditional lady but could not find her :( Do you have the url please to share here what we are referring to in case someone does not have a clue heheh
It was amongst one of my first examples I first saw of VRML back in 2000. It was not something I would have expected to see as an introduction to VRML but there was no mistake what it was :)


but can I say that the "beginner" must absolutely know that logic



I agree Alain, a build node making the geometry for the part node may not be the most intuitive concept for a beginner to grasp straight away.
However being able to reference parts and process them sequentially is what makes build nodes have all sorts of endless possibilities.

It is the concept of something referencing something else in the scene tree that has always worried me a little as to how hard this might be for beginners.
However it is far from an alien concept in every day life for anyone, especially those who use computers.
For example most understand the concept of having a shortcut to an image in one folder (typically the desktop) referencing an image file in another folder.
Or simply telling your desktop to reference this image file is much the same thing as referencing. (you are referring to this thing)
Part nodes, like your monitor, display the image but they do not make the image.
To use the same analogy for build node, build nodes make the geometry for the part nodes like a paint program makes an image for a monitor.

There are other things here that can confuse beginners too.

What is the name of the node type and what is the name we use to refer to it as an individual.
My example having the names the same as the types in my example picture could be confusing. Its the same as giving a pet dog the name "dog" but most would be able to understand the way dog is being used 2 different ways when they encounter someone referring to their pet as "doggy".

Often we feel we understand concepts well until we start to think about them in more detail so explaining everything is not the answer I think :). I think the important thing is to make things fall into place easily for beginners.

Perhaps I should have it so when the user clicks on a Sphere, Cylinder etc from the main toolbar (the ImmediateSphere) seamless will create a SphereBuild automatically in the scene tree and a reference to the part node that is currently selected (gives a message if no part is selected to inform the user they must select a part first) or perhaps even make it so it creates a Part node automatically with a reference to it and leave it to the user to rename and move the part node to where they want it in the part node hierarchy when they go to animate it.
This could still be compatible with immediate editing because the Build node can be deleted afterwards leaving the geometry in the part node. However it would make things not quite so straight forward perhaps for someone beginning using immediate editing but perhaps immediate editing should take second place in priority to making things easy for beginners? Sorry I hate making drastic changes but until things present them selves like this it makes us question if things could be changed just slightly to make this or that easier for something else. What are your thoughts Alain (or anyone) ?
Perhaps just improving developing seamless robot to demonstrate how to make spheres and cylinders etc would be enough?


A Welcome Embarrassment

One very positive change I want to make that wont be hard to decide on is get rid of the clearCycle field from part nodes (or at least hide it). I realise now this can be done automatically by seamless! I came to this realisation because I tried making up a set of guidelines for beginners and then thought why don't I just make seamless follow the rules lol. This would be one more concept that does not have to be understood or explained to a beginner.
Realisations like this is what I would call a "welcome embarrassment" (like a welcome surprise) because its so simple to do and I wonder why I have not thought about doing this years ago :)
Often we don't question why something has to be there until we try to justify it's existence :)
Last edited by thyme on 11 Sep 2006, 20:39, edited 5 times in total.
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39

Postby thyme » 11 Sep 2006, 20:27

I forgot to say thanks for your examples image Alain it may help some a lot to understand reference by name the way you show it here.

Amicalement
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39

Postby thyme » 11 Sep 2006, 23:45

Thinking some more I just remembered Seamless already has a "record" mode.
When this is checked in the Settings control panel, Seamless converts a number of immediate actions performed by the user into build nodes and adds them to the scene tree automatically. For example when a vertex is joined to another vertex a JoinVertex build node is added automatically to the scene tree with all the appropriate fields set instead of directly joining the vertex.
I am thinking when the user clicks on a sphere from the tool bar in this mode a SphereBuild node should be added to the scene tree Therefore this logically is a nice way to see how this works without making any changes to immediate editing. If this proves to be a practical way for beginners perhaps then "record" should be on by default however I warn at the moment about using it because it can cause some ugly side affects to happens to immediate editing if you forget you are in record mode!
For some time I have also wanted to make it so sine tugs can be added too by just tugging on vertices.
Perhaps I will add this in a day or 2 and upload it in a day or 2 if anyone wants to try it out ;)
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39

Postby thyme » 12 Sep 2006, 13:49

Thinking things over more during the day, I have come to the same conclusion I arrived at some months ago, I hate "modes" lol and think they should be avoided when they can be because it is to easy to forget what mode you are in. However I think record mode should be maintained for some specific tasks but not used all the time.

This has led me to come back in favour of the idea of making it so that when a sphere or cylinder is clicked on from the tool bar, a SphereBuild or CylinderBuild is always(record mode or not ) automatically added to the scene tree referencing what ever part is selected. I no longer see this as a very radical departure to how things are currently done. Nor do I see it in conflict with immediate editing. I now see it as a nice way to combine the 2 different techniques (build and immediate editing) to be more integrated and complimentary to each other. It is easier to mix build nodes with immediate editing now that clearCycle is out of the equation.

I am now envisioning that the introductory seamless tutorial for beginners should show how to make a simple animated avatar from spheres and cylinders using the new SphereBuild and CylinderBuild nodes. These build nodes will be kept in the scene tree right up to and during the animation stage of editing. Then if the user wants to, they can delete all the build nodes (which will leave the polygons in the parts) so that the user can tug vertices, join vertices delete triangles etc using immediate editing. Or they can continue to keep the build nodes and advance onto using other techniques to deform and trim the vertices. I say both techniques can be complimentary to each other because when editing polygons at the "flat stage" for build nodes, immediate editing is employed. If record mode was left on for most of the time like I suggested in the previous post, it would cause problems here because we would have to keep remembering to turn it off and on again to be able to switch back and forth between immediate editing and using build nodes. This would make things most awkward.
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39

Postby griff » 13 Sep 2006, 08:40

It was amongst one of my first examples I first saw of VRML back in 2000. It was not something I would have expected to see as an introduction to VRML but there was no mistake what it was


Have I been doing VRML that long ? .......... sheesh ;-)

Well here is one of them (the pretty one):

http://www.3dworlds.ca/bron/index.html

Click on the closet button at in the top vrml space ... then the bottom tab in little piece that slides out .... voila .... a welsh lady. That was done for Cosmo Player ... and a 2mb video card (remember those?). It was before I had ever heard of avatar studio, and I had never been to a blaxxun chat world.

I got ppl from all over the world send me emails about it. I will see if I can find the other one ... the grouchy old lady ;-)

griff :)
griff
 
Posts: 55
Joined: 09 Jun 2006, 22:50

Postby thyme » 14 Sep 2006, 20:59

Thanks griff :) I remember now it's one of the outfits for your mix and match Bronnie's World :)
Mix and match like this is fun and immediate :) and something you don't need a manual for :) which is one of the most important things for a "killer app".
Making all the different parts would be the main challenge I would imagine.


As a result of finding some bugs in 2.109 I have uploaded 2.110 with these bugs fixed.

Part nodes no longer have a clearCycle field for 2.110 because clearCycle is now handled by seamless automatically behind the scenes. This simplifies seamless significantly.

CenterJoint or Place nodes no longer alter descendant parts if the descendant parts do not have a build node that builds them.
This means Parts intended for immediate editing can now be more freely mixed with parts built by build nodes.

In the help I have changed the "seamed av demo" to "build av demo"
This demo is much simpler than any of the previous demos partly because it utilises the new SphereBuild and CylinderBuild nodes. I am also currently working on a tutorial to explain some of it too though not much I hope has to be explained.
It no longer shows how to texture map or animate but this will be added later as well as many other techniques that can be applied to this introduction av that is built by build nodes.

Bugs that have been fixed for 2.110:
ROUTEs not outputting.
CylinderBuild nodes not centring on their base if the baseHeight had a value greater than zero and yCentered was not false.
The state of the descendants field not saving correctly for any of the new 5 build nodes.

Hope you find the grouchy old lady griff ;)
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39

french ava

Postby Alain » 18 Sep 2006, 09:40

I will do * like that , Thyme :

http://dumenieu.free.fr/louiseforum/bui ... rench.html

using absolut url images ...

* ( with isa )
User avatar
Alain
 
Posts: 387
Joined: 29 Apr 2006, 14:26
Location: France

Postby thyme » 18 Sep 2006, 14:19

That will be super Alain :) and Isa :)
I will then be able to add a reference from my englsh tutorial to your site with the French translation :)
merci!!!
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39


Return to Seamless3d Forum

Who is online

Users browsing this forum: No registered users and 0 guests

cron