<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML ><HEAD ><TITLE >DupliVerts</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="HOME" TITLE="Blender Documentation Volume I - User Guide" HREF="book1.html"><LINK REL="UP" TITLE="Special modelling techniques" HREF="c9165.html"><LINK REL="PREVIOUS" TITLE="Special modelling techniques" HREF="c9165.html"><LINK REL="NEXT" TITLE="DupliFrames" HREF="x9347.html"></HEAD ><BODY CLASS="section" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Blender Documentation Volume I - User Guide: Last modified April 29 2004 S68</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="c9165.html" ACCESSKEY="P" ><<< Previous</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Special modelling techniques</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="x9347.html" ACCESSKEY="N" >Next >>></A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="section" ><H1 CLASS="section" ><A NAME="special_modelling_dupliverts" ></A >DupliVerts</H1 ><P > <SPAN CLASS="QUOTE" >"DupliVerts"</SPAN > are not a rock band nor a dutch word for something illegal (well maybe it is) but is a contraction for <SPAN CLASS="QUOTE" >"DUPLIcation at VERTiceS"</SPAN >, meaning the duplication of a base Object at the location of the Vertices of a Mesh (or even a Particle system). In other words, when using DupliVerts on a mesh, an instance of the base object is placed on every vertex of the mesh. </P ><P > There are actually two approaches to modelling using DupliVerts. They can be used as an arranging tool, allowing us to model geometrical arrangement of objects (eg: the columns of a Greek temple, the trees in a garden, an army of robot soldiers, the desks in a classroom). The object can be of any object type which Blender supports. </P ><P > The second approach is to use them to model an Object starting from a single part of it (i.e.: the spikes in a club, the thorns of a sea-urchin, the tiles in a wall, the petals in a flower). </P ><DIV CLASS="section" ><H2 CLASS="section" ><A NAME="special_modelling_arranging" ></A >DupliVerts as an Arranging Tool</H2 ><P > All you need is a base object (eg: the <SPAN CLASS="QUOTE" >"tree"</SPAN > or the <SPAN CLASS="QUOTE" >"column"</SPAN >) and a mesh with its vertices following the pattern you have in mind. </P ><P > I will use a simple scene for the following part. It consists of a camera, the lamps, a plane (for the floor) and a strange man I modelled after Magritte's famous character (<A HREF="x9177.html#BSG.SPE.F.MAL.001" >Figure 1</A >). If you don't like surrealism you will find this part extremely boring. </P ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.001" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/verts-basicscene.png"></P ></DIV ><P ><B >Figure 1. A simple scene to play with.</B ></P ></DIV ><P > Anyway, the man will be my <SPAN CLASS="QUOTE" >"base Object"</SPAN >. It is a good idea that he will be at the centre of the co-ordinate system, and with all rotations cleared. Move the cursor to the base object's centre, and From Top View add a mesh circle, with 12 vertices or so (<A HREF="x9177.html#BSG.SPE.F.MAL.002" >Figure 2</A >). </P ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.002" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/dupliverts-02.png"></P ></DIV ><P ><B >Figure 2. The parent mesh can be any primitive.</B ></P ></DIV ><P > Out of Edit Mode, select the base Object and add the circle to the selection (order is very important here). Parent the base object to the circle by pressing <B CLASS="keycap" >CTRL-P</B >. Now, the circle is the parent of the character (<A HREF="x9177.html#BSG.SPE.F.MAL.003" >Figure 3</A >). We are almost done. </P ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.003" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/verts-base-parent.png"></P ></DIV ><P ><B >Figure 3. The man is parented to the circle.</B ></P ></DIV ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.004" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/verts-buttons.png"></P ></DIV ><P ><B >Figure 4. The Animation Buttons</B ></P ></DIV ><P > Now select only the circle, switch the Buttons Window to the Object Context (via <B CLASS="guiicon" > <IMG SRC="PartAT/effects/gfx/AnimationButtonsIcon.png"> </B > or <B CLASS="keycap" >F7</B >) and select the <TT CLASS="literal" >DupliVerts</TT > Button in the <TT CLASS="literal" >Anim Settings</TT > Panel (<A HREF="x9177.html#BSG.SPE.F.MAL.004" >Figure 4</A >).</P ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.005" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/dupliverts-05.png"></P ></DIV ><P ><B >Figure 5. In every vertex of the circle a man is placed.</B ></P ></DIV ><P > Wow, isn't it great? Don't worry about the object at the centre (<A HREF="x9177.html#BSG.SPE.F.MAL.005" >Figure 5</A >). It is still shown in the 3D-views, but it will <I CLASS="emphasis" >not</I > be rendered. You can now select the base object, change (scale, rotate, Edit Mode)<A NAME="AEN9232" HREF="#FTN.AEN9232" >[1]</A > it and all DupliVerted objects will reflect the changes. But the more interesting thing to note is that you can also edit the parent circle. </P ><DIV CLASS="note" ><P ></P ><TABLE CLASS="note" WIDTH="100%" BORDER="0" ><TR ><TD WIDTH="25" ALIGN="CENTER" VALIGN="TOP" ><IMG SRC="./stylesheet-images/note.gif" HSPACE="5" ALT="Note"></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P >The base Object is not rendered if DupliVerted on a Mesh but it <I CLASS="emphasis" >is</I > rendered if DupliVerted on a Particle System!</P ></TD ></TR ></TABLE ></DIV ><P > Select the circle and scale it. You can see that the mysterious men are uniformly scaled with it. Now enter the Edit Mode for the circle, select all vertices <B CLASS="keycap" >AKEY</B > and scale it up about three times. Leave Edit Mode and the DupliVerted objects will update (<A HREF="x9177.html#BSG.SPE.F.MAL.006" >Figure 6</A >). This time they will still have their original size but the distance between them will have changed. Not only we can scale in Edit Mode, but we can also delete or add vertices to change the arrangement of men. </P ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.006" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/dupliverts-04.png"></P ></DIV ><P ><B >Figure 6. Changing the size of the circle in Edit Mode.</B ></P ></DIV ><P > Select all vertices in Edit Mode and duplicate them (<B CLASS="keycap" >SHIFT-D</B >). Now scale the new vertices outwards to get a second circle around the original. Leave Edit Mode, and a second circle of men will appear (<A HREF="x9177.html#BSG.SPE.F.MAL.007" >Figure 7</A >). </P ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.007" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/dupliverts-18.png"></P ></DIV ><P ><B >Figure 7. A second row of Magritte's men.</B ></P ></DIV ><P > Until now all Magritte's men were facing the camera, ignoring each other. We can get more interesting results using the <TT CLASS="literal" >Rot</TT > Button next to the <TT CLASS="literal" >DupliVerts</TT > button in the <TT CLASS="literal" >Anim Settings</TT >Panel. With this Tog Button active, we can rotate the DupliVerted objects according to the normals of the parent Object. More precisely, the DupliVerted Objects axis are aligned with the normal at the vertex location. </P ><P > Which axis is aligned (X, Y or Z) with the parent mesh normal depends on what is indicated in the <TT CLASS="literal" >TrackX,Y,Z</TT > buttons and the <TT CLASS="literal" >UpX,Y,Z</TT > buttons top in the <TT CLASS="literal" >Anim Settings</TT > Panel. Trying this with our surrealist buddies, will lead to weird results depending on these settings. </P ><P > The best way to figure out what will happen is first of all aligning the "base" and "parent" objects' axis with the World axis. This is done selecting both objects and pressing <B CLASS="keycap" >CTRL-A</B >, and click the <TT CLASS="literal" >Apply Size/Rot?</TT > menu. </P ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.008" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/dupliverts-11.png"></P ></DIV ><P ><B >Figure 8. Show object's axis to get what you want.</B ></P ></DIV ><P > Then make the axis of the base object and the axis and normals in the parent object visible (<A HREF="x9177.html#BSG.SPE.F.MAL.008" >Figure 8</A > - in this case, being a circle with no faces, a face must be defined first for the normal to be visible (actually to exist at all)) </P ><P > Now select the base object (our Magritte's man) and play a little with the Tracking buttons. Note the different alignment of the axis with the different combinations of <TT CLASS="literal" >UpX,Y,Z</TT > and <TT CLASS="literal" >TrackX,Y,Z</TT > (<A HREF="x9177.html#BSG.SPE.F.MAL.009" >Figure 9</A >, <A HREF="x9177.html#BSG.SPE.F.MAL.010" >Figure 10</A >, <A HREF="x9177.html#BSG.SPE.F.MAL.011" >Figure 11</A >, <A HREF="x9177.html#BSG.SPE.F.MAL.012" >Figure 12</A >). </P ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.009" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/verts-trackminYZ.png"></P ></DIV ><P ><B >Figure 9. Negative Y Axis is aligned to vertex normal (pointing to the circle's center)</B ></P ></DIV ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.010" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/verts-trackYZ.png"></P ></DIV ><P ><B >Figure 10. Positive Y axis is aligned to normal</B ></P ></DIV ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.011" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/verts-trackXZ.png"></P ></DIV ><P ><B >Figure 11. Positive X axis is aligned to normal</B ></P ></DIV ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.012" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/verts-trackZZ.png"></P ></DIV ><P ><B >Figure 12. Positive Z axis is aligned to normal (weird, huh?)</B ></P ></DIV ></DIV ><DIV CLASS="section" ><H2 CLASS="section" ><A NAME="AEN9298" ></A >DupliVerts to Model a Single Object</H2 ><P > Very interesting models can be made using DupliVerts and a standard primitive. </P ><P > Starting from a cube in Front View, and extruding a couple of times I have modelled something which looks like a tentacle when SubSurfs are activated (<A HREF="x9177.html#BSG.SPE.F.MAL.013" >Figure 13</A >). Then I added an Icosphere with 2 subdivisions. </P ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.013" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/verts-polipo.png"></P ></DIV ><P ><B >Figure 13. Strange tentacle and SubSurfed version.</B ></P ></DIV ><P > I had special care to be sure that the tentacle was located at the sphere centre, and that both the tentacle axis and the sphere axis were aligned with the world axis as above (<A HREF="x9177.html#BSG.SPE.F.MAL.014" >Figure 14</A >). </P ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.014" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/verts-axisaligned.png"></P ></DIV ><P ><B >Figure 14. Local reference of the tentacle.</B ></P ></DIV ><P > Now, I simply make the icosphere the parent of the tentacle. Select the icosphere alone and made it <TT CLASS="literal" >DupliVert</TT > in the <TT CLASS="literal" >Anim Settings</TT > Panel (<A HREF="x9177.html#BSG.SPE.F.MAL.015" >Figure 15</A >). </P ><P > Press the <TT CLASS="literal" >Rot</TT > button to rotate the tentacles (<A HREF="x9177.html#BSG.SPE.F.MAL.016" >Figure 16</A >). </P ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.015" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/dupliverts-25.png"></P ></DIV ><P ><B >Figure 15. DupliVerts not rotated.</B ></P ></DIV ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.016" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/dupliverts-24.png"></P ></DIV ><P ><B >Figure 16. DupliVerts rotated.</B ></P ></DIV ><P > Once again to make the tentacle point outwards we have to take a closer look to its axis. When applying <TT CLASS="literal" >Rot</TT >, Blender will try to align one of the tentacle axis with the normal vector at the parent mesh vertex. </P ><P > We didn't care about the Parent circle for Magritte's men, but here we should care about the Sphere, and you will soon notice that it is <I CLASS="emphasis" > not</I > rendered. You probably would like to add an extra renderable sphere to complete the model. </P ><P > You can experiment in Edit Mode with the tentacle, moving its vertices off the centre of the sphere, but the object's centre should always be at the sphere's centre in order to get a symmetrical figure. However take care not to scale up or down in one axis in Object Mode since it would lead to unpredictable results in the DupliVerted objects when applying the <TT CLASS="literal" >Rot</TT > button. </P ><DIV CLASS="figure" ><A NAME="BSG.SPE.F.MAL.017" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartAT/special_modelling/gfx/dupliverts-26.png"></P ></DIV ><P ><B >Figure 17. Our model complete.</B ></P ></DIV ><P > Once you're done with the model and you are happy with the results, you can select the tentacle and press <B CLASS="keycap" >SHIFT-CTRL-A</B > and click on the <TT CLASS="literal" >Make duplis real ?</TT > menu to turn your virtual copies into real meshes (<A HREF="x9177.html#BSG.SPE.F.MAL.017" >Figure 17</A >). </P ></DIV ></DIV ><H3 CLASS="FOOTNOTES" >Notes</H3 ><TABLE BORDER="0" CLASS="FOOTNOTES" WIDTH="100%" ><TR ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="5%" ><A NAME="FTN.AEN9232" HREF="x9177.html#AEN9232" >[1]</A ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="95%" ><P >and also Object Mode, however scaling in Object Mode could bring up some problems when applying Rotation to DupliVerts as we will see soon</P ></TD ></TR ></TABLE ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="c9165.html" ACCESSKEY="P" ><<< Previous</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="book1.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="x9347.html" ACCESSKEY="N" >Next >>></A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Special modelling techniques</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="c9165.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >DupliFrames</TD ></TR ></TABLE ></DIV ></BODY ></HTML >