Creating an Avatar Using Immediate Editing



 

Because  making an avatar using NurbsPatches now seems an easier, more versitile way to make an  avatar, I now recomend  the Nurbs Patch Avatar tutorial over this tutorial. However this tutorial documents some of seamless3d's lesser used features in greater detail than any where else and shows some techniques such as using a background guide that can be used for nurbs modeling.

This tutorial is written to accompany the robot demo immediate avatar demo

This demo requires first that the contents of the files_for_demos.zip file be manually unzipped and put in the folder:

My Documents\Seamless3d\Application Data For Seamless3d\For Robot Demos Only

To see this demo, move the mouse to the top left corner of the 3d window and select: The demo shows all the actions needed to make the model ready to be animated.

Immediate Editing

Immediate editing is the seamless specific term to clarify you are not using seamless build nodes to construct your shapes.

Seamless build nodes generate shapes using mathematical formulas where as with immediate editing you create shapes by tugging at the vertices directly using the mouse. Because Immediate editing uses a minimum of computer magic it is generally click intensive, however immediate editing allows one to work on a more intuitive level and because immediate editing is less intellectually taxing, it is much easier to be able to get work done while enjoying listening to music.

Technically there is very little to immediate editing, all you have to do is start with a pre-made shape and tug the vertices to change it. Coloring vertices is on par with this too for being dead simple. One can also take baby steps from here, deleting triangles and joining vertices using immediate editing. As simple as immediate editing is, there are few limits as to what can be done. It is much like painting or drawing in that it requires lots of time and practice to develop skills to do it well rather than lots of technical knowledge.

To be an immediate editing purist we can start with a single triangle and split it up to make a complete avatar, however this tutorial will begin by using RingBuild nodes just to get the triangles sketched out because RingBuild nodes are simple and intuitive to use much like immediate editing is and they and will save us a lot of time in getting started. After the build nodes have served their purpose they will be deleted leaving the triangles in the parts (converted to blue parts to be exact) ready for immediate editing.

The Basic Idea

A pre-made empty skeleton of parts is imported that is already set up with mirror edit nodes referencing the parts so that the left side of the avatar can be created from the right side.
The triangles for the torso, head, arms and legs are initially made using RingBuild nodes. The mouse is used to drag the control points for each ring and a background image is used as a guide to sketch out the model.
After the triangles have been created by the build nodes the white parts are converted to blue parts so that immediate editing can be used to join and paint the vertices and add detail to the shape.
The pivot points are moved into place for the joints allowing for the model to be animated.
Accessories such as the hair is imported.

How Long Does it Take?

The robot takes about 3 hours and 20 minutes to complete making the avatar. This may seem like a long time. However the robot does everything slowly to show what it is doing and it does not utilize short cut keys and so many of the operations can actually be done significantly faster by a human. Having said this though you should not expect to work faster than a robot over all due to the fact that a robot is much less indecisive in what it does following it's carefully scripted sequence of operations. The goal of this tutorial is to provide something more on par with painting or drawing, offering the same amount of creative freedom. I can not think of a good argument that suggests to me that immediate editing is any more difficult than using crayons or a paint brush, it requires the same sort of time spent practising and developing artistic skills. If you can already paint or draw you will have a big head start as much of the skills are being able to judge proportions well.

Many belive creating 3d art has to be more work than creating 2d art but I question much this assumption. Consider how long it would take to be able to paint an image like this robot creates (think of all that shading the computer does effortlessly for us for each frame) and then consider how with 3d you can take an unlimited number of photos from different angles and with different lighting effects without needing to paint the whole thing again from scratch. Also consider how easy it is to change the clothing or some accesory. You never have to make a new avatar from scratch ever again after you have made just one because no matter how simple it is it can be improved. With immediate editing we can gradually keep changing an avatar until it is a compleatly new avatar with it's own unique look and we can of course swap different cloths or even body parts from different avatars we have made and/or from a shared open library.

Begin

Start the robot demo:

immediate avatar demo

All of the titles for the robot demo operations will be shown here in bold beginning with the operation number followed by the title itself. Any comments  for the operation will be explained under the title.

0. Create a new Seamless file

1. Import mirrored empty skeleton

Begin with a pre-made skeleton of empty parts. Part names that begin with l_ are the left parts and names that begin with r_ are the right parts. To avoid using double names for a part, the part for the upper arm for example is referred to by it's joint (shoulder) that attaches it to it's ancestor part.

Part Includes
shoulder upper arm
elbow forearm
wrist palm
hip thigh
knee shin & calf
ankle foot

The empty skeleton for this demo contains a MirrorGroup node populated with MirrorEdit nodes which are set up with references to the part nodes. MirrorEdit nodes specify which parts will mirror vertex tugging in the X dimension.
If a MirrorEdit node references 2 parts such as the l_shoulder and r_shoulder for example, when ever a vertex is tugged on one of these parts the corresponding vertex in the opposite part will be tugged in mirror form too.
If a MirrorEdit node references only one part such as the head, when ever a vertex is tugged on one side of the part, the corresponding vertex in the opposite side within the same part will tug in mirror form too.

Besides mirroring vertex tugs, MirrorEdit nodes have influence over RingBuild nodes, the moving of pivot points, the coloring of vertices and triangles and a number of other functions.

2. Import background guide

It can be helpful to put a photo or drawing inside the 3d window to guide us when tugging vertices into shape. Here we import 6 photos, each contained in a Seamless node and each with it's own unique orientation and each positioned to form the inside of a cube. The Seamless nodes used for containing the background guides have their ignoreWireFrame fields checked so that the guides will appear solid in wireframe  mode. The Seamless nodes are all contained in a NoOutputGroup node so that they will not be output with the avatar.

So that the background image will not distort in size with the distance it is from the triangles we wish to edit, perspective must be off

3. Make edge verticies bright red

While light colored vertices are typically best viewed with a black background in wireframe mode, we can most clearly see the edge vertices for our model with a white background. Because of this seamless is designed to easily toggle the background color between white and black. Because we can't shape the background of a image like this when a background guide is used the ambianetIntensisty field is set to 1 0 0 (red) so that the edge vertices always appear bright red in contrast to the dark shading on the edges of the background image.

4. Build leg rings

This operation takes about 10 minutes to complete. Most of it is much the same however, tugging rings.

To add a RingBuild node for the leg the l_hip part is selected and is clicked from the main tool bar. This causes a RingBuild node to be added to the Seamless node with it referencing the part l_hip.

The RingBuild node is set up initially with 2 rings of vertices forming a cylinder. We orientate this cylinder upside down using the RingBuild's rotation field (while holding down control) so that all of the rings will increment in index order (each ring is indexed from 0 to the number of rings - 1) from the upper end of the leg to the lower end. This will be important for a later stage when rings close to the joints are specified to rotate at fractions of the amount of the part's full rotation in order to form smoother animated joint bends.

For the last ring (the tip of the foot), the scaleX and scaleZ fields are directly written with 0 to to make them both equal 0, 0 which results in the last ring being a single vertex rather than a ring of vertices.

Before we add all of the rings for the leg we first mark out key rings such as those for the knee and hip and then insert rings between these points. This has the advantage of letting the computer work out many of the distances for the rings so that they are evenly spaced.

All of the rings are being built for the whole leg including the foot yet they have all been specified for the left hip. At a later stage the rings for the lower leg will be transferred to the appropriate parts. It is important to note at this stage we are building a leg with the intention of animating it so there must be an adequate number of rings for the joints so that they bend smoothly. This is why a noticeable amount of extra rings of vertices have been inserted for the knee.

See RinbBuild for more information on this node.

5. Build torso, neck & head rings


This operation takes about 8 minutes to complete.

Here we will see how the MirrorEdit nodes influence the RingBuild nodes. That is tugging the left control points causes the right control points to move in sympathy.

In this operation the locationXZ field is kept unchecked except for when dragging the torso and head rings with the side on view.

More rings for the pelvis will be inserted in a later operation when aligning the pelvis rings to the hip rings.

When building the rings for the torso, neck and head we have to bear in mind what rings will be owned by what parts so that we can get an idea in our mind how the parts will animate.

6. Set leg staves to 14

Although we want smooth legs for our model, 16 staves is a little more than we really want considering our torso only has 16 staves and it is a much wider object than the legs. The legs are changed from 16 to 14 at this stage because we needed 4 to fit into the number of staves so that we could see where the RingBuild's control points were located for the non selected rings (by looking at the vertices generated for the part while in wireframe mode). Because changing from 16 to 14 makes the leg slightly thinner from a front on view the leg's scale field's X and Z components are slightly increased to compensate.

7. Align pelvis rings to hip

Five rings are inserted into the pelvis and are dragged so that they are aligned with the leg vertices where they are to join to the pelvis.

8. Round pelvis base

Here we have to guess a little because the background guide does not show the exact shape of our imaginary pelvis base shape for the legs to join onto. Most of the triangles on the side of the pelvis will be deleted because this is where the hips will join however we still have to form a shape for the side of the pelvis because this will help form the shape for the front and back of the pelvis and we want to form a shape that the hips will join onto smoothly.

9. Match hip tangent to pelvis

An appropriate side on view is found to tug the hip's rings side on so that the hip joins tangently match to the torso.

10. Build arm rings

11. Widen arm base rings

We can not match the arm base to the torso quite so nicely at this stage like we did for the hip to the pelvis but we will use a different technique in a latter operation to make a smooth join. This technique will involve projecting the arm's base ring vertices onto the torso's polygon surface. For this purpose the arms base rings are widened at this stage while the parts remain as white parts (before the RingBuild nodes get deleted).

12. Build index finger rings

13. Build middle finger rings

Rather than begin from scratch with a brand new RingBuild node for the middle finger, the previous Ringbuild node used for the index finger is copied to begin with. This saves a lot of time. Copying a node is the same as when copying a file in windows Explorer, we hold down the control key when dragging the node to a new location so that a "copy of" is performed instead of a "move".

14. Build ring finger rings

O dear the word "ring" pops up to mean the ring finger (the finger the wedding ring is put on) so can be a little confusing that all of the fingers use a RingBuild node.

15. Build pinky finger rings

16. Build thumb rings

17. Build breast rings

We have a ring very close to the base ring for the breast because when you have a feature like this where the joining triangles will dramatically change in orientation from one triangle to the next, undesirable shading can result for the joining triangles. This is because a vertex can not shade 2 triangles well if the 2 triangles that share the vertex are set to very different orientations. This problem is decreased by increasing the density of the vertices in these specific areas so that there is a more gradual change in the orientation from one triangle to the next.

18. Build mouth rings

Because it may be getting to slow to drag the control points for the RingBuild node with this many rings, an ExitBuild node is inserted temporarily in front of the existing RingBuild nodes. No building is performed after an ExitBuild and so this frees up a lot of CPU power for the new RingBuild nodes that will be added for the face. (its the equivalent of turning off all RingBuild nodes after the ExitBuild node). This is only to speed up editing and so on a fast computer this may be unnecessary.

19. Build nose rings

20. Build eye crater rings

21. Remove background guide

The background guide is removed because it has served it's purpose and because it can get in the way. We could keep it for a longer period of time if we like and we can import it back later at any time. A guide can be very useful for getting proportions right but it can also restrict our freedom in being artistic if we get too dependent on it.

22. Specify ownership for torso, neck & head

RingBuild nodes can specify which parts shall own what rings by referencing a list of parts and setting the ownership field to a list of corresponding values to specify the number of rings for each part. For the RingBuild node that builds the torso, neck and head rings, the following ownership values are specified for the list of parts it is set to reference
index ownership part
0 7 pelvis
1 1 tummy0
2 1 tummy1
3 1 tummy2
4 5 thorax
5 1 neck0
6 1 neck1
head


Note: The last part referenced by the RingBuild node takes ownership of the remaining rings not specified and so there is no need to set a value for the ownership field for the last part.
 

23. Specify ownership for leg

index ownership part
0 1 pelvis
1 7 l_hip
2 9 l_knee
l_ankle

24. Specify ownership for arm

index ownership part
0 4 l_thorax
1 8 l_shoulder
2 7 l_elbow
l_wrist

25. Specify Ownership For Index Finger

index ownership part
0 2 l_index1
1 1 l_index2
l_index3

26. Specify ownership for middle finger

index ownership part
0 2 l_middle1
1 1 l_middle2
l_middle3

27. Specify ownership for ring finger

index ownership part
0 2 l_ring1
1 1 l_ring2
l_ring3

28. Specify Ownership For Pinky Finger

index ownership part
0 2 l_pinky1
1 1 l_pinky2
l_pinky3

29. Specify ownership for thumb

index ownership part
0 1 l_thumb1
1 2 l_thumb2
l_thumb3

30. Convert white parts to blue

Build nodes such as RingBuild nodes can only build triangles for white parts. To be able to perform immediate editing we must convert them to blue (ImmediatePart) parts. The command that converts the parts also deletes all of the build nodes.

31. Delete pelvis triangles for hip

32. Join vertex

A vertex is joined to another by first selecting the vertex whose position we want to keep and copying it. The other vertex is then selected and the join vertex button is clicked to join the 2 vertices together. Using the short cut keys R to copy and J to join can speed up joining vertices significantly. A vertex is selected by clicking on any vertex. Holding down the control key while doing this prevents the user from accidently dragging the vertex.

33. Continue to join hip to pelvis

34. Quick triangle

A triangle is created from the copied vertex and the selected edge of a triangle (the red and green points of the selected triangle is the selected edge) when is clicked or when the short cut key Q is pressed.

See Selecting a Triangle/Triangle Edge

35. Continue to join hip to pelvis

36. Split triangle

A triangle is split by selecting a triangle and clicking the split triangle button (or the key S).

The triangle is split in the middle of the selected edge (between the red and green dots). If the selected edge is also the edge of a neighboring triangle it too will be split in the middle of this edge.

37. Continue to join hip to pelvis

38. Delete left half of pelvis

39. Create bikini bottom

40. Swap traingle divide

The slected edge that divides the 2 triangles is swapped for the alternative edge by clicking 

For more information on swapping the dividing edge between two triangles see: Changing the dividing edge between two triangles

41. Paint bikini bottom

A single vertex is made the color of the bikini using the toolbar's color buttons . Then this vertex is copied and used for pasting in the color for each triangle.

42. Add extra triangle row for bottom

This operation shows how an extra row of triangles can be inserted by splitting up a row of triangles along the horizontal edges and then swapping the diagonal edges for the newly formed triangles.

43. Continue to create bikini bottom

44. Refine leg join

45. Mould breast to thorax surface

The base ring vertices for the breast are made to lay exactly on the thorax's polygon surface by projecting the base ring vertices onto the thorax's triangles. The project selected vertex command simply makes the selected vertex hit at the point where you see it over (or under) the polygon. Therefore the view orientation must first be set so that you see the vertices over the polygon surface as desired before projecting them. This command may look tedious for the robot to do because it is projecting them one at a time using the toolbar but if the short cut keys for the same commands are used instead (F4 = Next Vertex, P = Project) the 12 vertices can be projected comfortably in less than 5 seconds.

46. Delete thorax triangles for breast

Notice how this can be done in non wireframe mode by first deleting 4 points around the breast and then hiding the breast.

47. Join breast to thorax

48. Mould shoulder to thorax

49. Delete thorax triangles for shoulder join

50. Join shoulder to thorax

51. Create bikini top

52. Check & fix ownership strays

Vertices owned by the wrong part can be created when splitting triangles on the border of 2 parts. Because of this vertices should be checked and transferred to being owned to the rightful owner. To change the ownership for a simple vertex, the targeted ownership is first copied. This can be done by first clicking on the part in the scene tree you wish to specify and then copying the part and then selecting the vertex you wish to transfer and then selecting paste ownership . Instead of selecting the part in the scene tree to select the part so that its ownership can be copied, the robot selects a vertex owned by the part to select the part. This can make pasting the ownership from a part to a vertex faster especially if the short cut keys are used (R = copy, Alt o = Transfer single vertex) as well as making the possibility of being able to perform the operation without having the scene tree window open.

Note that the part only has to be copied once for any number of vertices that are to be transferred to that part.

53. Smooth out breast join

54. Color skin for all parts

The paste copied color to all parts that match the selected color command is used to change the white colored triangles to skin color.

55. Copy left side to right side

The copy and paste mirrored part command is used to create the right side in mirror form to the left side for the legs arms, pelvis and thorax. The MirrorEdit node contained in the MirrorGroup that references the selected part specifies how this task will be done. If the MirrorEdit node contains 2 parts it will copy all of the triangles from the other part it references (that is not selected). If the MirrorEdit node contains only one part the left side of the part is copied and pasted to the right side. The right side's triangles are deleted automatically prior to the mirrored triangles being added to the single part.

56. Join broken vertices

The join close vertices for all shown parts command is used to join all of the vertices that got broken at the borders in the process of creating the right side from the left.

The mouth part is hidden to prevent the upper lip being joined to the lower lip for the operation.

57. Remove unwanted creases

Although the vertices in the middle of the pelvis are all joined from the previous operation, a crease in the crotch can be noticed. Because we are dealing with polygons that approximate a smooth surface, some unwanted shading has to be allowed for but here is an example where the shading can be improved significantly. This is done by tugging the vertices a little to make the curve simpler and more continuous. However this is a bit of a black art I find in that I have to do a bit of trial and error to get results that improve it. Experimenting with the swap triangle divide can also improve how the triangles are shaded in these complex areas.

58. Move the pivot points

The pivot points are moved for the parts to specify point where the parts hinge onto they ancestors (for animation). This hinge or pivot point for the selected part is represented by a little yellow in the 3d window. The robot uses the button for each part to begin with, to move the pivot point to the location that is the average of all the vertices contained in the part. Then it uses the buttons to move the pivot point to it's final location.
Same as with most other non rotation buttons, they increment and decrement in 1 centimeter amounts and 1 millimeter amounts when the control key is held down.

The MirrorEdit nodes affect this command.

59. Set vertex weights

A ring of vertices can be specified to rotate at a fraction of the part's rotation field. This makes it possible to make the rings in a joint like the arm bend smoother than would be possible if all of the rings rotated the full amount.

The amount a ring (or group of vertices) rotates for a part is specified using the Part's weight field. 1 equals a full rotation where as .5 equals half the amount.

The coordGroup field specifies how many vertices are contained in the ring so this matches the number of staves specified by the RingBuild node that built the limb.

The RingBuild node is guaranteed to generate the order of the vertices consistently.

For example, the first 10 vertices that make up the shoulder will be indexed from 0 to 9, the next ring will be indexed from 10 to 19, and the next ring will be indexed from 20 to 29 and so on (incrementing in 10s because 10 staves were specified for the ring build node that made the arm)

There is no need to specify 1 for any of the rings because if a vertex is not specified it will rotate the full amount and therefore for the shoulder for example, we will specify only the first 3 rings of vertices for the 4 different groups. The first ring will rotate one quarter the full rotation (weight set to .25) the next ring 2 quarters (weight set to .5) the next 3 quarters (weight set to .75) leaving the rest to rotate the full amount (4 quarters)

Shoulder
index weight coordGroup
0 .25 10
1 .5 10
2 .75 10
Hip
index weight coordGroup
0 .33333 14
1 .66666 14
Elbow
index weight coordGroup
0 .33333 10
1 .66666 10

Knee
index weight coordGroup
0 .33333 14
1 .66666 14
Wrist
index weight coordGroup
0 .5 10
Ankle
index weight coordGroup
0 .5 14

Note: A MirrorEdit node that references 2 parts will match it's corresponding part's weight and coordGroup fields if any of these fields are modified.

60. Square head

Before projecting any of the facial features onto the polygon surface of the head the head shape is squared up a little for the upper region to make it a little more like a realistic head is shaped.

61. Colour lips

62. Soften lip border

In the previous operation, whole triangles were pasted with the color using

For the most outer ring of triangles, only vertices within the triangles that border the lip color are pasted in using so that a softer more natural edge for the lips is achived.

63. Project mouth on to head surface

64. Project nose on to head surface

65. Project eye crater on to head surface

66. Trim & join face

67. Tug mouth, front view

68. Refine triangle structure for face

This includes increasing the density of the triangles for the chin by splitting the existing triangle rows.

69. Insert eyebrow

70. Mirror right side of head

Because we don't want all of the vertices joined that are close to each other in the mouth the mouth part is hidden before clicking the join close vertices button for all parts.

71. Join head

After this operation is complete we have all of the triangles needed for the head. From now on we will only tug the vertices to modify the shape of the face. The vertices can be tugged to create a wide range of different faces without needing to change the way the triangles are structured.

72. Join mid mouth vertices

Because the mid vertices could not be joined using the join close vertices command the mid moth vertices must be joined one at a time.

Note how the robot takes care not to join the upper lip to the lower lip where the upper and lower lips meet by first selecting the triangle before selecting the vertex.

73. Sink in eye craters

It would be good if possible when sinking in the eye craters,if the tugging is done at a side on view because this would only need to affect the Z components for the vertices which is all we wish to change at this stage but because this is not an easy view to work from, the eye crater is sunk in using a different view to this that lets us easily see all of the eye crater vertices and which lets us also change the Z components. Tugging in this easier orientation however comes at the price of also changing the X and Y components but this damage will be fixed in the next operation.

74. Repair eye crater, front view

This operation not only fixes the damage done to the x and y components from the previous operation but also gets the eye crater shape ready for the next operation.

75. Project inner most ring on to eyeball

76. Tug mouth, side view

77. Tug mouth, near front view

When tugging a vertex for maximum efficiency, we would only tug the vertex at a view orientation where we can tug it also from a orientation that is at a right angle offset to this orientation. This lets us tug a vertex in full 3 dimensions using only 2 orientations. From here on we will refer to the other orientation as the "complementary view".

All of the vertices for the mouth are easy to see from a front on view but this is not the case when tugging the vertices from the side (which would be the complementary view).

Because of this the robot will tug all of the vertices for the mouth (except for the middle vertices, which don't need to be tugged from any other angle than the side) at a near front on view so that the same vertices can be easily accessed at the complimentary view to this view.

78. Tug mouth, near side view

The same vertices are tugged after setting the view to the complementary view for the previous operation. The complementary view is set using the buttons.

79. Work more on eye craters

80. Tug upper head, near side view

81. Tug upper head, near front view

Complementary view for the previous operation

82. Tug upper head, front view

83. Tug upper head, side view

Complementary view for the previous operation.

84. Tug chin

85. Tug chin, complementary view

This operation completes the shaping for the head. A human should not expect to get the head shaped with this few number of tugs. It is necessary to keep looking at the head from different orientations and from different distances to be able to get a sense of proportions and how everything relates to each other though out the process of shaping the head.

86. Add eye liner

87. Prevent eyeballs popping out of head

When we show the eyes we will likely see the eyeball not being covered by the eye crater as desired. This is because the inner most ring of the crater is at the exact same height as the eyeball, which is how we left things after the inner ring was projected onto the eyeball. If we move the eyeball in a bit, say 2 or 3 mm like the robot shows in this operation, it will look fine except when we zoom out some distance we will start to see the eyeballs popping back out of the head again. By what amount we zoom out we start to see this happen will vary on the type of video card and the internal hardware settings for the card. For non real time rendering such as Pov-Ray this wont be a problem at all but for real time graphics unless we always want to see the head up close we will have to do something else. One simple remedy is to push the eyeballs back far enough (way more than just 2 mm) but this causes another problem where it will look like the eyes are to far back into the head at times and it may not prevent the eyes popping out from the sides of the head. A better solution perhaps is to trim the eyes so that there is no overlapping of the eyeball behind the eye crater but this will result in us not being able to animate the eyes. How much this is a problem will depend on how much there is a need to animate the eyes for real time rendering. In existing Virtual Reality often no one notices the eyes animate and so this is the solutions that will be used for now by importing a eyeball that's already been trimmed and tugged to fit this avatar. The eyes are also translated forward 2mm so that the eyeballs meet right up with the crater. With this compromise we still have the option of being able to animate the eyes for close up movie scenes by importing the original non trimmed eyeballs and translating them back into the head 2 mm as before.

By using a VRML/X3D LOD node it should be possible to have 2 sets of eyes for real time rendering that switch automatically from one set to the other depending on how close the eyes are to the screen but I have never tested this idea out.

88. Add blush to cheeks

Before pasting in blush to the cheek's vertices, the join matching colors for all joined vertices button is clicked.

This is done to avoid the problem we see in the following image to the left when we change a vertex's color.

 

We want all of the triangles in the cheeks to share the same color component for each vertex so that when we change a vertex's color, we see the result shown in the right image.

For more information on the subject of breaking and joining a vertex's color component see: breaking and joining vertices

89. Import hair

90. Import shoe

91. Paint shoe straps

92. Attach strap to sole

93. Copy left foot to right

94. Build belly button rings

This operation is left to this late stage because it is not necessarily wanted. For example if vertices are tugged from the torso to create cloths that do not show a belly button, we wont need a belly button to begin with. This operation also demonstrates how it is possible to add extra rings of vertices via a build node after the avatar is complete. If we were to add the new part for the belly button rings as a child of a tummy part, the 3d control points for the RingBuild node will not be positioned where they would make any sense to us. We could use the fields instead to control the rings, however we will add the new part as a sibling of the pelvis (so that the part is not translated by a translation field in the part hierarchy) and transfer the vertices at a later stage to a part that is dynamically translated (a part that is a descendent of the pelvis) so that we can use the 3d control points for the RingBuild node.

95. Paste tummy0 ownership into belly button

Since most of the vertices for the new rings will be owned by tummy0, the vertices are transferred to this part first using the command for a whole part transferal. This leaves part "a" empty and so it could be deleted after this operation. To delete this part however the MirrorEddit node must be deleted first.

96. Paste pelvis ownership into lower vertices

97. Paste tummy1 ownership into higher vertices

98. Mirror right side of tummy


[3d Modelling Software] [Tutorials] [Forum] [Features] [Download] [Gallery] [FAQ] [Worlds] [Avatars] [Links] [Thyme]