Sculpted Prims III

abstract:The tutorial gives a more in depth introduction
to the most important modelling tools in blender
and shows some nice tricks for the every day usage of this tool.
One highlight is the description of the primstar multi-sculptie export tool
and the corresponding Multi-sculptie-Generator in OpenSim or compatible worlds.
We assume, that you have seen the preceding tutorial parts I and II. But we still provide enough background information, so that even blender newbies should be able to follow the process. The tutorial works for blender 2.49b and Jass-2

intended audience:

  • Creators of “sculpted prims” for OpenSim and similar environments
  • Blender novice (low/mid level skills)

prerequisites (*):

  • download: jass-2 (binary distribution, contains blender-2.49b, python-2.6.4, primstar-1.0.0 and more)

related tutorials:

Separate Downloads:

(*) If Jass-2 is not an option for you, you can download the prerequisites separately:

  • download: blender (2.49b)
  • download: python (2.6.4 for Windows, 2.5.2 for Mac OS)
  • download: primstar (1.0.0 or newer) by Domino Designs


Hello and welcome!
In this tutorial I will introduce the proportional-edit tool
to add some bumps and wrinkles to the top-hat
and make it look a bit more interesting.

I will add some more sculpties to the hat
and during the ongoing course of this tutorial
i will also introduce global-view and local-view.
And i show you how you can add vertices to your object
by using the loop-subdivide tool.
We will also see how we can temporarily hide vertices.
and once we are finished with our model
we will see how we can examine a sculptmap on-the-fly
and how we can transfer a complex object from blender to OpenSim with almost no effort.

Let us start with proportional-edit. So what can we do with it
and where can we find it?
The function can be enabled in edit mode
by clicking on the circular icon at the bottom of the 3D-viewer
and then selecting connected in the upcoming selection box.

Let us select a single vertex to see the tool in action.
As soon as the vertex is moved or scaled
a white circle appears around the center of the selection.
The mesh behaves as if it where made out of rubber
and the circle shows the influence range of the tool.
You can change the range with the middle mouse roller.
The bigger the radius of the circle is,
the more vertices will be moved along with your selection.
So this function allows us to move single vertices around
and move adjacent but un-selected vertices very smoothly
along with our selection.

proportional-edit also applies to rotations and scaling.

Until now we have used smooth Falloff
which happens to be just the default setting for the proportional edit-tool.
Now i will enable random Falloff
which will give me an easy way to introduce some random-buckles to the object.

I select one vertical column of vertices.
Then i scale the column down a tiny bit.
At the same time i roll the middle mouse wheel downwards towards me
until the mesh starts to bump up and down randomly.

I turn the wheel slowly until i find a pleasing shape.
Now i click on the left mouse button
and as result we eventually get a bumpy top-hat.

Let us do one more tweek and switch the tool to linear Falloff.
I select the top edge-loop and scale it up a bit.
You might need to reduce the influence range now
by rolling the middle mouse button upwards
until you can see the white circle again.
Adjust the influence range to your needs.
But be warned. It may take some experimentation time until you can work with it fluently.

Remember that you always can press the escape key to revert your last modification.

Now turn off proportional-edit.

And also take a look at the top pole.
The pole vertices have unintentionally been separated while we randomised the hat.
Let us correct this by selecting the pole vertices and scale them down to zero.
Maybe we also need to move the vertices up or down a bit
to avoid a large bump on the top.

And at the end we get sort of a western top-hat.
It now looks like it is owned by doctor Doolittle.

Now let us add a sculpted bow and let us start with a torus shape.
Go to object mode

Then press the space bar to open the mesh menu
and navigate to add – mesh – sculpt mesh.

Change the shape selector to torus X.
And set the torus radius to 0.1
Then build it.

Well, the new object is partially hidden by the hat.
so let us move it along x until it is infront of the hat
and then go on with modelling.
But we also can hide the hat for a moment.
blender has got something for you here.

Go to view and there you see
that currently Global View is selected.
In Global View all objects of the current scene are displayed.
as soon as we change to Local View
blender will hide all unselected objects.

Hence since it is currently the only selected object
we only see the torus now.
Of course all hidden objects unhide again as soon as we switch back to Global View.
If you have a number pad then you also can use the division-key (%) to toggle between the views.

Now while keeping in Local View go to edit-mode and select side-view.
Ensure that all vertices are selected
and flatten the object along the z-axis by a factor of 0.25.
You can do this by first pressing the s-key, then enter z ,
and finally enter the value 0.25 directly from the keyboard.
Proceed in the same way for all subsequent modifications.

Now scale the object up along the x-axis by a factor of 4.

go back to side-view, select only the middle vertices at the top
and move them down to the object-center.
Do the same with the middle vertices at the bottom. This time move the vertices
up towards the center.
Now go to top view, grab all of the middle vertices
and scale them down along the x-axis by a factor of 0.3 .

Go back to object mode and add another torus.
This time set the radius to 0.2 and build it .
rotate the object along z by 90 degrees.
scale the object down by a factor of 0.25
then scale it up along the y-axis by 4.
Also scale it up along the x-axis by 1.3
and finally scale it down along the z-axis by 0.5 .

Now examine what we got so far.
we face a problem here.
We see an undesired intersection of the objects.
So let us try to correct this now.

To solve this issue
it would be nice to get some more vertices near the intersection.
And again blender has got a helper tool for us named Loop Subdivide.

But hold on! We have to keep in mind that sculpted prims have a fixed face count.
We can not simply add vertices because this would violate the rules.
On the other hand we are currently not working with the sculptmesh but with
a control mesh. The final sculptmesh will be created during bake time.

And the good news is that the primstar baker tool will take care about the correct
transformation from the mesh to the final sculpt-map
so that the online world constraints are fulfilled at the end.

But this does not mean that you can add or remove arbitrary vertices in your model.
However the Loop Ssubdivide tool is sculptie friendly
and we can use it without getting into trouble.

We also can use the image editor to directly monitor the changes in the sculpt-map.

Select the bow and go to edit mode.

Go to the UV-image editor and enable the button “Sync UV-and-mesh selection”.
This makes it easy to see what happens.

Now we will see the Loop Subdivide tool in action.
go to mesh – edges – Loop Subdivide
Or use a shortcut by pressing the control-key, followed by the R-key.

Every time when you position the mouse near to an edge
blender will calculate a new loop which passes through this edge
and cuts it into two pieces.
Move along your object until you find a convenient loop.
Then click the left mouse-button. Now the new loop will be created.
And again by moving the mouse you can move the loop around
until it is located exactly where you want to place it.
then left click and your new loop is added to the mesh.

Deselect all vertices and watch what happened to your sculpt-map.
The new loop is seen in the sculptmap as additional row of vertices.
You immediately see that we have increased the vertex-density
where we added the loop.
And this is exactly what we wanted to achieve:
Have more vertices along the critical areas of the sculptie.

I will show you this again in a moment.
But let me introduce another very usefull feature of blender beforehand.
We can temporarily hide selected vertices of an object.
And this can help us here
to get a clearer view of what happens on the model.

deselect all vertices.
then select all vertices which you want to hide.
You can do this at best in Side View.
Now press the h-key. Immediately all selected vertices disappear
and now it is much simpler to work with the remaining faces.

Please select again the Loop Division Tool by pressing the control-key
followed by the r-key.
Now it is much easier to find good loop locations.
click the left mouse button again and shift the new loop to your desired

Now select both loops. Hold down alt
and right-click on the first loop.
Then hold down alt and shift,
and right-click on the secnd loop.

Scale up both selected loops along x
until they touch the adjacent sculptie.
then select the outer vertices of the loops,
move them along z,
and scale them along x until they fit nicely.
You also can select the top-most vertices of the loops,
enable proportional edit
and move them up a bit so that the bow fits even better.

At the end press the alt-key, followed by the h-key,
to unhide the hidden edges.
You can add some more enhancements to the bow if you like
but that is up to your personal taste.
For me it is good enough as it is by now.

Let us now bake the sculptmap, and see what happens.
After you have baked the sculptie, there is a nice trick to immediately
see the results. go to object mode. and select top-view.

then go to image, import as sculptie.
Move the new object a bit along x.

This is almost what we can expect to see in our online world later.
But there is a small but important difference about
how the objects interact with the environmental lighting-system.
but blender has yet another option to help us here.

Please locate the link and Materials tab.
There select the set smooth button.

Now your object sometimes turns partially black. This seems to be a blender-bug.
If you see this to happen then switch to edit mode
and immediately return to object mode.
The black parts should be gone.

Now we see what we will get in our online world and that does not look
too different from the original object.

Please be aware
that the smooth-button not only
makes your sculptie look much better in the viewer.
there is another very important issue here
which you must know about.

The “set-solid”
and “set-smooth” buttons
define two different lighting models.
And this setting directly influences the way how textures are baked.

For the moment let us say, that the “set-smooth” option will make the sculptie look
very much similar to how it would be seen in our online world.
And let us keep with this mode for now.
I will get back to this in the next tutorial.

Let us now go back to Global View and adjust the size
and rotation of the bow relative to the hat.

I will go to top view first, then also try to scale, rotate,
and align the objects in other views.
It may take some time until the objects are all in position.

Ok, we have eventually created a satisfying shape for the hat. It is made out of 3 sculpties
instead of only one. And this is the moment where we start getting into real trouble.
How can we transfer the 3 sculpties into our online world ?
And how can we keep their relative positions , sizes , and rotations intact?

Now there is another nice trick which is again introduced by primstar.
You can automate the setup of your sculpties in OpenSim and similar worldse,
but We need to do some preparations beforehand.

first, go to object mode.
then select all your objects by holding down the SHIFT key
and then right-click them one by one.
Now go to object – parent – make parent.

This makes the least selected object the parent of the others.
if you select only this parent-object,
then all its children will follow any subsequent transformation.

Now we will prepare the export of the entire object group.
select all objects by right clicking on them
and holding down the SHIFT key at the same time.
Then go to: object – transform properties.
a small window opens.

There you see the current rotation and scaling values of your parent object.
The rotation values should all be zero here and scaling should be set to 1.
If these values are different we might end up
with unexpected rotations when later rezzing the objects in our online world.

You can clear the values without modifying the object itself as follows:

go to: object – clear-apply – apply scale/rotation to Object-data.
Now all object rotations have been set to 0 and scaling is set exactly to 1.

And now the primstar baker can do all the rest for you.
still keep all objects selected.
then: render – bake sculpt meshes.
Keep with the default settings and bake.
It is important that the objects get baked at the same time,
because now primstar will calculate a precise vertex-alignment of the objects.
This is not very important for the hat but later we will see
that we can use this feature to create precisely fitting multiple sculpties.
I will get back to this in a later tutorial when we examine precise sculpting.

After the baker has finished you can control the results by examining the sculptmaps
one by one. Just select each individual object then go to edit mode and see that the sculptmaps have been created.

Now go to your local disk and create a new directory. You can create it at any place in your system.
go back to blender. then navigate to: File – export – LSL.
A file selector opens. Navigate to your just created empty directory.
Then click on the export-LSL button.
If you now check your just created directory,
you will find all sculptmaps there
and besides them
there will be one single LSL-script.

It is time to enter our online world and create a prim.
Rename this prim to “Primstar”. take care to name it with a capital P, and take it to your inventory.

Now Create another prim and place a copy of the primstar-prim into it.

Then import the sculptmaps and put them into the inventory of the primstar-object.
finally create a new script in the object.

Open the generated LSL-script on your disk by using any text-editor of your choice
then cut’n paste the script content into the just created script inside the prim.

save the script and close the script editor.
The Prim-Generator will immediately ask for the permission to link objects.
Answer “yes”.

Now click on the primstar-object to start the generator.
And watch how the object will be created from scratch.
finished. Your object has been rezzed and all proportions are intact.
And even the parent/child relations have been used
to create the corresponding link set .

We are now at the end of this tutorial.
We have learned about the proportional edit tool.
We have used Local View and Global View for easy editing.
We have used the Loop Subdivide tool
to add more vertices at critical areas.
We know how we can temporarily hide vertices.
We can examine a sculptmap on the fly.
And we can get back smooth surfaces after reimporting a sculpt-map to blender.
And we can transport a set of objects from blender to our online world.

The next tutorial will entirely be dedicated to texturing the model.
Until then please take your time and improve your modelling skills by applying
what you have learned in this tutorial.

Have fun, and see you later!

70 Enlightened Replies

Trackback  •  Comments RSS

  1. AQ Koga says:

    Your tutorials have taught me nearly everything I know about Blender! Thanks so much for all the time and effort you put into these!

    I have a problem related to a process shown in this video. I’ve made a multi-sculpt object (a boot) and when I tried to export everything via LSL, it gives me a script for each piece instead of just one script. I tried just having the parent mesh selected when exporting as well, but that didn’t work. I’ve followed every single step word for word here, so I don’t know what’s wrong. Any idea?

  2. Kusha Aabye says:

    Hello Gaia. Can you help me with lsl exporting. I’m still can’t get one lsl file for multi part sculpty but for each mesh. I tried different ways. I’m using Jass-PUB. Should it work in Jass-PUB?? Thank you.

    • Gaia Clary says:

      you have to parentize the parts to a set. just select the set, then object -> make parent
      then bake the set all at the same time (select the set in object mode, then render -> bake sculpt maps)

      Finally export to LSL. You should end up with one LSL file containing the definition of your set.

Post a Reply

Your email address will not be published. Required fields are marked *