|
Introduction
JJ_Superspherize is a variant of the old Lightwave spherize tool and can act
as a rudimentary volume deformer. At
a
basic level it will take an object with volume and 'inflate' it into a sphere.
Unlike
my jj_wrap tool, the points 'collide' with an implicit
sphere and so are
perfectly
smooth (with jj_wrap if you collide points with a sphere
then the collision points will reflect the faceting in the collision sphere's
polygons). The inflated
object uses its own bounding box centre as the origin for the inflation and let's
the
user specify a radius. modo 10x users should continue to use version 1.0 available at the bottom of this page. Here are the bells
and whistles:
- Updated to work with modo 201
- You can control the strength of the spherize effect to simply attenuate the
effect e.g. to slightly round something.
- You can use it on whole objects or any selection type - point, poly, edge.
Works across layers.
-
You can offset the 'centre' of the virtual sphere by using the centre of a background
object.
- You can use either the background object's centre or it's 'radius' or both
to help visualise the spherize effect.
- By default the projection of all points is towards the centre of the virtual
sphere, but you can choose to project the points onto the sphere using any
of the axis-aligned projections or point normals
Julian Johnson
julian@exch.demon.co.uk
Classic Spherize
Does what it says on the tin. It takes the centre of
the foreground object or selection and 'inflates' from there. This
mode is the default mode when you hit apply and the background
options are turned off.
|
 |
Spherize With
Attenuation
By using the 'strength' setting you can adjust the amount
the object is spherized.. |
 |
Spherize Selections
You can spherize specific selections. Here, the bounding
box centre around the selection will be used. It's probably only
sensible to use this option with selections that have a bounding
volume. 2D inflations will work e.g. you can create a 'circle'
from random points but I'm not sure how useful that is. |
 |
Spherize Selections 2
..and then layer on other spherize selections to create
bulging effects on selections by increasing the radius size slightly. |
 |
Offsetting the
Sphere Centre
By using the centre of a background object you can 'force'
the virtual sphere to exist outside of the volume of your selection/object.
This will cause the projection to travel towards the centre of
that sphere..
This mode is accessed by turning bgcentre on and with bgradius
off.
|
 |
Offsetting the Sphere Centre
2
Here, you can see what's happening. The bounding box centre
is used to create a virtual sphere away from the geometry
to be spherized. The object is projected towards the centre of
the virtual sphere. You can use any bg object you like including
a single vertex. The radius setting is taken from the setting you
specify. It's often helpful to use a sphere as your bg object just
so you can 'visualise' the effect. |
 |
Offsetting the Sphere Centre
3
If you adjust the strength setting the curvature of
the projected geometry and the distance it travels will be adjusted
accordingly. |
 |
Offsetting
the Sphere AND Using the Bounding Box Radius
This one is tricky to explain but easy to visualise. I scripted this
so that you could directly use a sphere as your bg object and the projection
would always conform to both the centre and the radius of that sphere
- that way you can see exactly what you're doing. This method derives
both the centre of the sphere and the radius from whatever you have in
your bg layer. If it's a sphere then you get exactly that - a sphere
with the radius you 'draw' and the position you place it. If you use
a box or rectangle (or any other geometry) the centre is derived from
the bounding box centre and the radius is the radius of the largest sphere
that will sit inside the bounding box.
This mode is accessed by turning bgcentre on and with bgradius on.
|
 |
..Cont.
...here I've placed the background sphere much closer to the
projection geometry and you can see how this affects the
results.
|
 |
..Cont.
By adjusting the strength of that sort of projection you can get different surface
curvatures..
|
 |
Axial Projection
In all of the preceding examples the projection has been towards the
sphere centre. There is another mode you can use which will project
along the major axes or along point normals. If we use the same example
as the one immediately above you can see the difference. This one
is projected along Z.
This mode is accessed by using the project drop down menu.
|
 |
How to Install JJ_Superspherize with the Form

There are currently two components to jj_superspherize - the script itself, and
a configuration file to set up the form. Using the inbuilt arguments you can
use
the script from
a key without having to install the form if you want.
jj_superspherize.pl - the perl script itself
jj_superspherize.cfg - the file that creates the form.
Option 1 (Modo 2 only)
On both a PC and Mac you have a default location for Application Data. Inside the application data directory there is a Luxology directory which usually hosts your config/preference files and licence data. Within that directory modo provides the ultra useful Configs and Scripts directories. Any scripts and configs you place in here will be automatically available to you. This has to be the preferred option.
Option 2
The way the form is configured at the moment means that if you place it directly
into your modo resrc folder (on OSX you'll need to open the modo package contents
and place it in the Resources folder), the form will become available to you
next time you launch the application. This relies on modo's default behaviour
but can result in a very cluttered resrc directory. If you then place the script
itself in the same directory as modo.app/modo.exe it will be available to the
form without
any further alterations being required.
Option 3
Alternatively, you can create your own location to store both the script and
config file but will need to adjust the path locations in the jj_superspherize.cfg file.
The benefit of this approach is that you have control over where you keep your
external files and they won't get overwritten should you update modo.
It doesn't really matter where you put them so long as you make sure you have
correct paths in the relevant files.
Once you've chosen a location for both files then you need to open up the jj_superspherize.cfg
file in a text editor and put in the relevant path to the actual script using
search and replace so that every time the script is called it has the correct
path. Here's an example of how a single entry should look (but, remember, every
entry for the script should be changed to the correct path using a single search
and replace).
On a Mac:
<list type="Control" val="cmd @{/Users/julianjo/Desktop/current
pbs/jj_superspherize.pl} user">
<atom type="Label">jj_superspherize</atom>
<atom type="Hash">54409416674:control</atom>
</list>
On a PC:
<list type="Control" val="cmd @{C:\Directory
with Spaces\subdirectory\jj_superspherize.pl} user">
<atom type="Label">jj_superspherize</atom>
<atom type="Hash">54409416674:control</atom>
</list>
If the path has a space in it then the script needs to enclosed in curly brackets
e.g.
@{/Users/julianjo/folder with spaces/jj_superspherize.pl}
It's easy to mistakenly delete a quote mark or a space, so make sure you find
and replace just the path.
Once you've configured the path in the config file you're nearly ready to roll.
Fire up modo, go to File:Config Import and import the jj_superspherize.cfg file you've
just amended. This tells modo to load that file (i.e. the menu for Loop Hop),
every time you launch modo.
For ease of access to the form simply assign the form to a key.
When The Script Runs I Get Bombarded With an Error Message (modo 10x only)
The 'General Failure' message is a known issue with modo and can be easily
fixed.
Luxology themselves have released a patch for this error message on Vertex
Monkey:
http://www.vertexmonkey.com/scripts_bugfix.php
Alternatively, you can just set the 'In the future' drop down to let modo know
you don't want to see this message again. The error sounds dramatic but isn't,
it's totally inconsequential. Luxology's bugfix script does simply that - it
turns off that specific error message.
Why do I get a dialogue box asking me to 'Confirm' (modo 10x only)
There is currently a bug in modo when processing a large number of points/polys
via scripts. This dialogue box prevents modo from crashing during this process.
I Hate The Way the Form is a Popover and Vanishes if I Move My Mouse
Too Much

To get a permanent window with the spherize form as above:
1. Go to Layout:New Window
2. Set the window to Form View by LMB clicking on the right hand arrow.
3. RMB on the Form View header and select JJ spherize. Now you have a window.
Known Issues (modo 10x only)
1. When you first use the form, the values for each of the fields don't exist
and the form looks corrupted. You need to run the script once so that modo
is aware of the existence of the form fields etc. You can do this by using
F6 to navigate to the script and firing it off once.
Versions
Version 2.0: jj_superspherize.pl
-Updated for compatibility with modo 201
Version 1.0: jj_superspherize.pl
- Original version 08.12.2005
|