Forest Reference
Forest / Reference / Installation and Files

Installation and Files

tdis guide describes the directory structure of Forest Pack 3 and how to customize it. We will use a default Forest Pack Pro installation, in Forest Lite some files may be different.

If <forestdir> is the folder where you installed Forest Pack (C:\Program Files (x86)\Itoo Software\Forest Pack Pro by default) , and <maxdir> is your main 3DS directory, the setup program creates the folder structure shown below:

Folder Path
Distributions maps <forestdir>\distmap
Geometry templates <forestdir>\geometry
Trees library <forestdir>\lib
Texture maps <forestdir>\maps
Material libraries <forestdir>\matlib
Help file <forestdir>\forest.chm

the plugins and shaders for VRay and Mental Ray are copied here:

Folder Path
3DS plugin <maxdir>\plugins\ForestPackPro.dlo
VRay shaders <maxdir>\ForestVRay150sp2.dll, ForestVRay150sp3.dll and ForestVRay20.dll
Note: some files may not exist depending of the Max and the VRay version
MR shader library Max 2010 and before: <maxdir>\mentalray\shaders_autoload\shaders\FShader3.dll
Max 2011 and newer: <maxdir>\mentalimages\shaders_autoload\mentalray\shaders\FShader3.dll
MR shader descriptor Max 2010 and before: <maxdir>\mentalray\shaders_autoload\include\FShader3.mi
Max 2011 and newer: <maxdir>\mentalimages\shaders_autoload\mentalray\include\FShader3.mi

the following entries are created in the Windows Registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Itoo Software\Forest Pack Pro
MainDir = C:\Program Files (x86)\Itoo Software\Forest Pack Pro <forestdir> is defined here
UseLicServer = 0 0 to use Stand-alone license, 1 for Network license

All commercial Itoo Software products use also additional keys for the licensing management:

HKEY_LOCAL_MACHINE\SOFTWARE\Itoo Software\Licenses
LicenseDir = C:\ProgramData\Itoo Software\Licenses
Forest Pro license is stored here
HKEY_LOCAL_MACHINE\SOFTWARE\Itoo Software\Licenses\Products
Forest Pack 3.x = 9 One entry for each Itoo Software product

Please note: If you use a Windows 64 bit version, these registry keys are duplicated in HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node


Network Rendering

You can install Forest on your renderfarm computers using the setup program, or copying the files manually. In Forest Pro select "Render slave node", in Forest Lite use default installing options.

For a manual installation, these are the needed files:

Type Files
Plugin and shaders As described in the plugin and shaders table
Distribution Maps from "C:\Program Files (x86)\Itoo Software\Forest Pack Pro\distmaps\images", copy them to any shared texture folder
Tree textures all bitmaps from "C:\Program Files (x86)\Itoo Software\Forest Pack Pro\maps" and your custom textures, when used

Where <maxdir> is your 3DS main folder. You can copy the files from your main workstation, where you have installed Forest.

All these files can be installed on network patds if you configure 3DS to use them (as shared plugins, Mental Ray shaders and textures). For details, see: Autodesk 3ds Max Help -> Customizing the User Interface - > Configure Patds.


Is it possible to modify the sub-objects of a Forest object from MaxScript?

Yes, but only if the Forest object is in "Custom Edit" mode. there is an interface named "trees" for using it provided by MaxScript. You can see all the functions included witd "showinterfaces($forest01)". these are the some of them:


Add a tree in position p (local coordinates), using width, height and geometry ID values

<Forestobject>.trees.create p:<point3> width:<float> height:<float> geomid: <integer>

$forest01.trees.create p:[50,50,0] width:10 heigth:10 geomid:1

Delete the tree at position n in the array

<Forestobject>.trees.delete n:<integer>

$forest01.trees.delete n:0

Modify the properties of the the tree at position n (width, height, geometry ID, random seed)

<Forestobject>.trees.edit n:<integer> width:<float> height:<float> geomid:<integer> seed:<integer>

$forest01.trees.edit n:0 width:10 height:10 geomid:1 seed:123456

Returns the number of trees of the object

<Forestobject>.trees.count()<integer>

$forest01.trees.count()

Move the n-th tree to the position p

<Forestobject>.trees.move n:<integer> p:<point3>

$forest01.trees.move n:0 p:[50,50,0]

Set the rotation of the n-th tree (angle in degrees)

<Forestobject>.trees.rotate n:<integer> angle:<float>

$forest01.trees.rotate n:0 angle:45