Nurbs Girl, Polar Maps & Coloured Ownership for 2.139

News, Discussions, Questions and Answers

Nurbs Girl, Polar Maps & Coloured Ownership for 2.139

Postby thyme » 30 Aug 2008, 22:12

Image

Open Source Seamless3d 2.139 (including French and English versions and the server) is available for download from:

http://www.seamless3d.com/download

I was about to upload the new version about 2 weeks ago but because our phone line needing fixing twice this was not to be.
During this time I have kept my self very busy writing and updating tutorials and continuing to refine seamless.

Because of all the changes that have been made to Seamless3d to simplify its use the task of writing tutorials has been made a lot easier.


New & Updated Tutorials

For the first time I feel what seamless3d is all about is quite well documented because of the following 4 tutorials:

ImageBeeline to Animation

ImageNurbs Lathe Avatar

ImageWorm Animation

ImageNurbs Patch Avatar

These tutorials take baby steps all the way to show how to make a smooth seamless avatar using polygon independent surfaces and all of the tutorials are accompanied with robot demos to show all the clicks involved

The worm animation tutorial has been around since the earliest versions of seamless3d. It is now greatly simplified (and its accompanying robot demo). If you thought this tutorial was difficult before please take another look at it now because I believe it must be one of the easiest tutorials on the Internet that teaches the basics in skinning at least if one stops at operation 5.
The new nurbs patch demo has also had many changes made for 2.139 and this is the first time I have actually written the tutorial for it.

I have updated the bring to life demo to take advantage of the new coloured ownership mode.

I have also updated the immediate avatar tutorial/demo to take advantage of the new coloured ownership mode but because using NurbsPatches now seems an easier way to make an avatar and offer the advantages of using polygon independent surfaces I now recommend the Nurbs Patch Avatar Tutorial over this tutorial.

Blue Bikini Nurbs Girl Avatar Free to Download

Anyone can now download my blue bikini nurbs girl and change her to their liking:

http://www.seamless3d.com/av/blue_bikin ... 80830.smls

Anyone can keep making subtle changes to her by mostly dragging on the nurbs control points until she looks like a completely different avatar.
One can make significant changes by dragging the control points alone but big changes may require triangles in the poly map to be edited from time to time. What one needs to know should be covered in the nurbs patch avatar tutorial.

Patch Trees

I have made it so that a Stem now can be plugged into a NurbsPatch, a FuseSurface plugged into a Stem and a NurbsPatch plugged into a FuseSurface.
This arrangement not only makes it so that there is no longer any need to reference patches when fusing them, it reduces clutter in the scene tree and makes for a more intuitive node structure.
Now when making a model out of NurbsPatches, Stems and FuseSurfaces, the nodes form a "patch tree" which is simular in concept to a skeleton of Part nodes.

The old way of plugging a NurbsPatch into a Stem and a NurbsPatch referencing a FuseSurface still works for backward compatibility but I have prevented the user from being able to create new node strucures like this to avoid confusion in the future.
If you have patches and stems pluged in the old way I advise re plugging them to the new way because the old way will stop being supported for bug fixes etc in the future.
I doubt these changes will cause much if any disruption to anyone but if you run into problems as a result of using patches the old way please send me the files so that I can fix them for you which I will be only to happy to do.
A ColorSweep can now be plugged into a Stem much like a TextureMapper. Same as a TextureMapper it colours the vertices at the poly map stage.

Other FuseSurface Refinements

Some of the ideas that evolved from the PolyToNurbs node have been applied to the FuseSurface node to make it easier for both beginners and advanced users.
Because of these changes the user can now drag control points where one patch is fused to another and Seamless3d will automatically adjust the control points so that the joining patch always moulds itself to the surface it is fused to.

New TransferOwnership Node

Allthough TransferVertex nodes can still be used they have been made obsolete by the TransferOwnership node. The TransferOwnership greatly simplifies the task of transfering ownership to a list of parts. This node is well documented in the worm animation and nurbs patch avatar tutorials.

Colored Ownership

Transferring ownership and weighting groups of vertices is much more fun now that seamless3d has Colored Ownership mode. This mode shows which part owns what vertices by coloring vertices in accordance to who they are owned by. Different weighted groups within a part will also be coloured differently.

Image

Polar Poly Mapping
Polar poly mapping existed in the original on-line Seamless3d C++ modelling library but there has never been support for it using Seamless with a GUI untill now.
Although anything achieved with polar mapping can be achieved with default mercator mapping, I found when instructing the robot to edit the poly map for the pelvis for the avatar demo it was hard to make the operation look straight forward. Not only does a Mercator map get increasingly distorted at the polar regions it can cause triangles to overlap each other as they reach to the single vertex at the center of the pole. This does not cause a problem for the end result but it can make hand editing very awkward.
The following image shows the difference between a hand edited polar map and a hand edited Mercator map:

Image

Polar poly mapping is documented in the nurbs patch avatar tutorial.

Export/Import Single NurbsPatch to/from a wrl
Because of vnomad's request and because I could see this would allow one to import a NurbsPatch from a smls file without modifying the node structure, I have added a feature that lets one export/import a NurbsPatch node to/from a VRML file. When exporting, the NurbsPatch node is converted to a VRML NurbsSurface node and when importing, the VRML NurbsSurface is converted to a NurbsPatch.
Right click on the NurbsPatch and select import or export

Multiple World Server
The Seamless3d server can now serve more than one world at one time.
Peter worked on some php scripts for the previous version so that there would be no need to upload any thing but the smls file in order to chat in it.
Because I have not had much experience in PHP I did not understand Peter's PHP scripts well but this lead to me to simplifying 2.139 to allow anyone to open a smls file without uploading anything (other than the smls file) and without needing any extra PHP scripts for the server.
Because of these changes I have updated the seamless3d chat tutorials:

http://www.seamless3d.com/tut/chat/index.html

Many thanks to Peter, vnomad's colored ownership suggestion and all who have helped influence 2.139 to be what it is :)
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39

Re: Nurbs Girl, Polar Maps & Coloured Ownership for 2.139

Postby vnomad » 31 Aug 2008, 14:48

OK!
Grabbing this one.
Looking forward to explore Seamless' NURBS.
I'll report back with any suggestions/issues that emerge in the process.

Thanks again for being SO responsive to my whims and wishes :)

(edit) goodnessGracious, you work fast. My download says Seamless3d 2.140
What other goodies did you sneak in there? I wanna know!! :mrgreen:
creativity is great but plagiarism is faster
User avatar
vnomad
 
Posts: 35
Joined: 22 Oct 2006, 13:57
Location: Vardo, Norway

Re: Nurbs Girl, Polar Maps & Coloured Ownership for 2.139

Postby thyme » 31 Aug 2008, 15:26

lol vnomad, Thanks :)

I have just uploaded 2.140
It just has 2 bugs fixed that were soon found after 2.139 was uploaded
One which Lilly found prevented textures working correctly for the BoxBuild node so many thanks to her for her swift response
The other I found would cause problems if local urls for textures were used when using seamless3d chat
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39

Re: Nurbs Girl, Polar Maps & Coloured Ownership for 2.139

Postby vnomad » 31 Aug 2008, 20:16

Yes! The NURBS export works great. A file that weighs in at 20KB as an IFS takes a mere 2.5KB with NURBS.

I find that BS Contact 7.1 wants an externprotodeclaration with the generated WRL NURBS exportfile to keep it from complaining (I like to keep verbose warnings ON) Also I find that including this proto gives a welcome opportunity to control the tesselation used when the geometry is actually displayed. Setting the u/vTesselation parameters to, say 100 gives a very dense mesh, whereas using 10 actually makes the geometry lighter than the IFS version of the same shape.

Since not everyone may be aware of this PROTO and its parameters I take the liberty of including the whole NURBS vrml file here.

Code: Select all
#VRML V2.0 utf8
#Generated by Seamless3d  Copyright © 2001-2008 Graham John Perrett (AKA thyme) thyme@seamless3d.com www.seamless3d.com
NavigationInfo {type "examine"}
EXTERNPROTO NurbsSurface[
   field SFInt32 uDimension
   field SFInt32 vDimension
   field MFFloat uKnot
   field MFFloat vKnot
   field SFInt32 uOrder
   field SFInt32 vOrder
   exposedField MFVec3f controlPoint
   exposedField MFFloat weight
   exposedField SFInt32 uTessellation
   exposedField SFInt32 vTessellation
   exposedField SFNode texCoord
   field SFBool ccw
   field SFBool solid
   ]
["urn:inet:bitmanagement.de:node:NurbsSurface","http://www.bitmanagement.de/vrml/protos/nodes.wrl#NurbsSurface","nodes.wrl#NurbsSurface"]


Shape {
appearance Appearance {material Material {}}

geometry NurbsSurface{
controlPoint [0 -.122952 -.485392 -.343224 -.08694 -.343224 -.485392 -.122952 0 -.343224 -.08694 .343224 0 -.122952 .485392 .343224 -.08694 .343224 .485392 -.122952 0 .343224 -.08694 -.343224 0 -.122952 -.485392 0 -.012558 -.143912 -.101761 -.00888 -.101761 -.143912 -.012558 0 -.101761 -.00888 .101761 0 -.012558 .143912 .101761 -.00888 .101761 .143912 -.012558 0 .101761 -.00888 -.101761 0 -.012558 -.143912 0 .385371 -.112567 -.079597 .272498 -.079597 -.112567 .385371 0 -.079597 .272498 .079597 0 .385371 .112567 .079597 .272498 .079597 .112567 .385371 0 .079597 .272498 -.079597 0 .385371 -.112567 0 1.061763 -.089428 -.063235 .75078 -.063235 -.089428 1.061763 0 -.063235 .75078 .063235 0 1.061763 .089428 .063235 .75078 .063235 .089428 1.061763 0 .063235 .75078 -.063235 0 1.061763 -.089428 0 1.145578 -.132327 -.093569 .810046 -.093569 -.132327 1.145578 0 -.093569 .810046 .093569 0 1.145578 .132327 .093569 .810046 .093569 .132327 1.145578 0 .093569 .810046 -.093569 0 1.145578 -.132327 0 1.323964 -.609666 -.431099 .936184 -.431099 -.609666 1.323964 0 -.431099 .936184 .431099 0 1.323964 .609666 .431099 .936184 .431099 .609666 1.323964 0 .431099 .936184 -.431099 0 1.323964 -.609666 0 1.214769 -.027325 -.019322 .858971 -.019322 -.027325 1.214769 0 -.019322 .858971 .019322 0 1.214769 .027325 .019322 .858971 .019322 .027325 1.214769 0 .019322 .858971 -.019322 0 1.214769 -.027325]
weight [1 .707107 1 .707107 1 .707107 1 .707107 1 1 .707107 1 .707107 1 .707107 1 .707107 1 1 .707107 1 .707107 1 .707107 1 .707107 1 1 .707107 1 .707107 1 .707107 1 .707107 1 1 .707107 1 .707107 1 .707107 1 .707107 1 1 .707107 1 .707107 1 .707107 1 .707107 1 1 .707107 1 .707107 1 .707107 1 .707107 1]
uKnot [0 0 0 .25 .25 .5 .5 .75 .75 1 1 1]
vKnot [0 0 0 1 2 3 4 5 5 5]
uDimension 9
vDimension 7
uTessellation 40
vTessellation 40
solid FALSE
}
}


Also, note the last line, "solid FALSE" This is a handy way to make the inside of a shape with holes visible.
To ascertain that the .wrl file controls tesselation, I have found it neccessary sometimes to go into "Options/Preferences/RenderOptions" in Contact and set the "NURBS tesselation mode" there to "Static". Otherwise it tends to do its own thing- at least on my display adapters.

I'm looking forward to playing a bit with texturing next . . .
It might be challenging to set UV coordinates on NURBS, since they don't really exist.. :mrgreen:

Thanks for a great update. I like the way you simplified your wiggly worm tutorial as well! Very friendly.

Cheers,
vnomad
creativity is great but plagiarism is faster
User avatar
vnomad
 
Posts: 35
Joined: 22 Oct 2006, 13:57
Location: Vardo, Norway

Re: Nurbs Girl, Polar Maps & Coloured Ownership for 2.139

Postby thyme » 02 Sep 2008, 16:52

thanks for the feedback vnomad :)

I copied and pasted all of your nurbs example into a new wrl file and opened it in Contact and found I get the same results as I did before when I tested specifying the tessellation values for Contact.
When I specify the tessellation fields to reduce the poly density, the poly density is reduced soon as I open the file but after I change the view in contact it automatically increases in density and soon it is the same as automatic tessellation :?

I don't think it should do this if you specify anything for tessellation

have you tested moving about and observing the tessellation?
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39

Re: Nurbs Girl, Polar Maps & Coloured Ownership for 2.139

Postby vnomad » 02 Sep 2008, 23:12

Interesting.

Yes, on both my 'puters I also found, initially, that tesselation would increase/decrease dynamicly as the geometry is moved onscreen.

However, after modifying the display settings in Contact, I have found that the tesselation stays fixed, even as the object is moved, zoomed, or rotated onscreen.

Do you still see these sporadic tesselation changes after you have set your BS Contact display preferences according to my suggestions above?

So now, after what you report, I'm uncertain as to which settings has the last say- those in the .wrl file, or those in the player itself, although my own testing suggests that the file would control this aspect when the settings in the Bitmanagement browser's tesselation mode is set to 'Static'.

Feedback would be appreciated, as it is quite important, IMHO.

vNomad
creativity is great but plagiarism is faster
User avatar
vnomad
 
Posts: 35
Joined: 22 Oct 2006, 13:57
Location: Vardo, Norway

Re: Nurbs Girl, Polar Maps & Coloured Ownership for 2.139

Postby thyme » 02 Sep 2008, 23:42

thanks for the tip vnomad :) I remember seeing these settings years ago before I used nurbs and had forgotten about them.

I selected "Static" for NURBS tessellation mode in Contact and it now stays fixed to a low tessellation.
However I specified:

uTessellation 10
vTessellation 10

and I see 11 not 10 vertical rows of vertices, is this correct?

Seeing that Contact can utilise these fields I feel motivated to make the next version of Seamless convert the Stem's staves & bands to uTessellation & vTessellation but of course this would only make sense when using a single segment and when having the Stem generate the triangles from scratch as opposed to referencing a source part for manual poly map editing.
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39

Re: Nurbs Girl, Polar Maps & Coloured Ownership for 2.139

Postby vnomad » 04 Sep 2008, 17:47

Hmmmm.
I have not been able to determine if there is an EXACT algorithm tied to the u/vTesselation parameters' functionality in BS Contact. It seems more of a generalized hint that takes other factors into account as well. But I may be wrong (hopefully) in which case you could very well do the sort of things you mention. I think this needs to be tested on various hardware configurations.

Bitmanagement also appear to confirm that they support the trimmed NURBS extention http://www.bitmanagement.de/developer/contact/relnotes6.html but I have not been able to find any working examples of this. Sure would be nice if this could be done though! However, I imagine it would be a very intricate and complex programming challenge to do this in vRML/X3D!

But as it stands, Seamless3D is alredy very useful in generating NURBS objects that lend themselves to fascinating Web3D content. I'm planning to experiment with this in the coming weeks. It also happens to be a lot of FUN :D :D
creativity is great but plagiarism is faster
User avatar
vnomad
 
Posts: 35
Joined: 22 Oct 2006, 13:57
Location: Vardo, Norway


Return to Seamless3d Forum

Who is online

Users browsing this forum: No registered users and 1 guest

cron