PointCloneExtra3 (BETA) LScript version 2.5.1)
(Tested with 2.5.1 but may work with versions 2.3 and above.)
written by faulknermano, Lernie Ang

 

BRIEF

PointCloneExtra is an LScript version of the native LightWave plug-in called Point Clone Plus. Although it wasnt my original reason for creating this script, PointCloneExtra keeps weight maps intact, while, for some reason, Point Clone Plus does not.

PointCloneExtra is currently in its third revision and sports a couple of extra features.

The basic usage of this script is as follows: the geometry that will be cloned should be the foreground layer and the geometry (e.g. points or polygons) should be in the background layer prior to running the script.

 

INTERFACE

Clone Mode

This feature is the latest addition, that is, the Polygon Clone Mode. In Polygon Clone Mode, the script will clone to the center of each polygon in the background layer. Using the Align Normals option will align the polygons to the normals the polygons are facing.

One important note: the script's normal alignment code was written with forward vector in mind. This means that you must initially align your geometry heading towards the z+ axis (e.g. forward) if you expect it to align with polygon normals (See illustrations.)

   

Random and Progressive Rotation and Scaling

In the Rotation and Scaling sections there are choices for Rnd, Prg, and Off. Rnd (or Random) will take the minimum and maximum inputs and randomize values between them. Prg (or Progressive) will take the minimum value and 'progress' towards the maximum value. If you had four clones, a minimum value of 0 and a maximum value of 270, the first clone will have the value of 0, the second 90, the third 180, and the fourth will have 270. Note that this is dependent as well with the order of points / polygons on the background layer. To predictably use Progressive you must know the point / polygon number of the mesh in the background layer. Off will disable both features and will use the value of 0.0, for rotations, and 1.0 for scaling.

Random and Progressive rotations and scaling can work in conjuction with Align Normals.

Center

If you click on Use Origin, then the position of the mesh in relation to Modeler space will be taken. If this deactivated, then only its 'local' space is considered. This also activates the controls for specifying where the center should reside within the extents of the geometry. (See example below)

Setup

 

Use Origin

Rest X, Y, and Z at Center

Note when using the -, =, and + Center choicebox. This behaves oppositely of Point Clone Plus. Point Clone Plus relates to the side of the point in the background layer. In Point Clone Extra, the Center choiceboxes refer to the geometry that you are cloning. Therefore, if, for instance, you want to have your tables resting flatly on a point, the Y center must be at "-" (e.g. negative).

Random Center

Random Center is used when you want to break up the uniformity of the rotations and scaling. Since both functions use a point center to determine the effect of their functions, randomizing this will produce a more 'jittered' feel. The inputs are in meters, by the way.

Random Center can work in conjunction with Align Normals.

 

OTHER INFORMATION

The button Save As Defaults on the lower-right hand side of the panel captures the settings currently inputted. This allows you to save your settings instantly and quit PointCloneExtra3, without having to run the script entirely. I dont know if you find any use for this, but I know I do. :)

 

LIMITATIONS

There are no current bugs that I am aware of.

Since this is an LScript (not a .p plug-in) you may have some slow processing times especially on more numerous clones. The only single test I've done is a 3040-point clone (at Polygon Mode) of a five-poly object took 1m 18s on an Athlon XP 1600+.

 

***APPENDANT (11.07.02)***

Scaling feature did not work. This is fixed now, thanks to Sami for reporting the bug.

 

***APPENDANT (03.14.03)***

The script has been recompiled to work with LScript v2.6.

 

Contact me at: faulknermano1@yahoo.com