Itoo Software Forum

Forest Pack => Forest Pro (*) => Topic started by: Paul Roberts on May 08, 2015, 03:31:58 PM

Title: Scripts for Forest Pack
Post by: Paul Roberts on May 08, 2015, 03:31:58 PM
In this sticky topic we encourage you to share any intersting scripts or tools that you've created to make working with Forest Pack even easier.

If you'd like to share your work with the community, just feel free to upload or link to your script with a brief description below.

To download files from our forums you need to be logged in with an account associated with a Pro license.

Many thanks!

Paul

Disclaimer: Any scripts uploaded to this thread by the iToo Software team are not supported officially by iToo, please use at your own risk.
Title: Re: Scripts for Forest Pack
Post by: Michal Karmazín on May 08, 2015, 04:04:37 PM
Surface Assignment

(http://i.imgur.com/hUiZrLH.jpg?1)

A simple one for quick base surface reassignment, that can be handy in case of having multiple Forest objects.

Its UI is quite simple. To select the "new" surface please Pick Surface button. You can select Forest object(s) manually or if wanted you can select all Forest object in your scene by Select All Forest objects button. By hitting Assign all selected Forest object will now use the picked surface.

Cheers,
Title: Re: Scripts for Forest Pack
Post by: TL1895 on May 08, 2015, 07:39:42 PM
Excellent!
thank you
Title: Re: Scripts for Forest Pack
Post by: SozoDigital on August 10, 2015, 07:14:24 AM
Very nice! Thank you very much for sharing!

Cheers!
Title: Re: Scripts for Forest Pack
Post by: in3des on September 08, 2015, 12:52:12 PM
= Forest Replace Object =
adding this one also
Carlos made it some time ago
(if I remember this scripts helps to change an object in all forests with new one)
Title: Re: Scripts for Forest Pack
Post by: Michal Karmazín on October 07, 2015, 10:22:27 AM
ObjectsToForest

(http://i.imgur.com/Vu89Tww.jpg?1)

This script will automatically add selected items & place them to source object's position. Use the Select Objects to pick all objects that should be inserted into the new "AutoForest" object. Than by clicking the AutoForest button, it'll create a new Forest object with all those objects with transformations corresponding to its "source objects".

Hope, it'll speed-up your work-flow, when this kind of task needs to be performed massively.

Best regards,
Title: Re: Scripts for Forest Pack
Post by: HM3153 on February 03, 2016, 11:50:20 PM
Great!!!
Title: Re: Scripts for Forest Pack
Post by: Paul Roberts on May 04, 2016, 10:50:54 AM
InstancesToForest

(http://i.imgur.com/m3no1Ax.png)

This script looks in the scene to find instances of the objects in Forest Pack's item list. When it finds them they're added to FP, matching the position, rotation and scale.

To use this script:
- Create a new FP object
- Add an object/s to Forest Pack's items list, these are the things with instances in the scene that you'd like to convert to FP geometry.
- Change to Tree Editor mode
- With the FP object still selected, press Instance To Forest.

Here's a video of it working



Note that this is an early version. At the moment the Forest Pack object must be at the world origin (the script changes this automatically though). I'd also like to add the ability to append the instances (at the moment it overwrites the current scatter),an option to automatically find instanced objects and add one of them to the items list (great for automatically converting large scenes), and an option to delete the original instances once added to FP.

I hope it's useful for some people.

Many thanks!

Paul.
Title: Re: Scripts for Forest Pack
Post by: Haider of Sweden on June 21, 2016, 09:45:00 AM
Wish/request

A script that selects all ForestPack nodes, so that I can put them in a separate layer.
Title: Re: Scripts for Forest Pack
Post by: Paul Roberts on June 21, 2016, 11:40:23 AM
Hi,

You could use this line of code to select all the object in the scene:

select (for s in geometry where classOf s == Forest_Pro collect s)

Alternatively you could easily  select all the Forest Objects using Forest Lister. To do this:

1 - Hold down Control and click on the boxes in the first column of Forest Lister for all the Forest Objects you wish to select.

(http://i.imgur.com/ELrpqsL.png)

2 - Click the Select Objects (http://i.imgur.com/RhdWlYg.png) button.

I hope that helps, please let me know if you have any further questions.

Many Thanks,

Paul
Title: Re: Scripts for Forest Pack
Post by: Haider of Sweden on June 24, 2016, 12:54:43 AM

You could use this line of code to select all the object in the scene:

select (for s in geometry where classOf s == Forest_Pro collect s)

Alternatively you could easily  select all the Forest Objects using Forest Lister.

Both your answer helped me perfectly well.


Wish/request 2

A way to set "Auto Assign to Active View" on all forest items in the scene. I encountered huge difficulties when I was setting up a test-scene with several samples. It ended up being too many items to be renderable. I had to go through the forest objects one by one and set Auto Assign...
Title: Re: Scripts for Forest Pack
Post by: Screenscene vfx on August 02, 2016, 05:56:04 PM
Hurray!

I was supplied a scene from another post company who'd written an instancer for maya and arnold to do digital set extensions. We'd been given a huge collection of alembic caches, texture files and a single maya file that had point helpers named after the model that should have been scattered on it. I was able to split the objects into layers based on their names and then bastardize your script to create a forest object with a tree matching the position, rotation and scale of each of the point helpers.

Now rather than 33,000+ vray proxies in my scene, I've a forest object for each of the 90 types of objects scattered in the scene and something way more manageable to deal with.

Much appreciated Paul!

Quote

-- Make a forest object to load stuff into

theForestObj = forest_Pro mode:1

-- Quick function in case I want to loop it later

function MakeForestFromSelection theForest theSel =
(
   
   for i = 1 to (theSel.count) do
   (
      
      -- All nicked from Paul roberts instances to forest script - http://forum.itoosoft.com/index.php?topic=2929.0
      
      local itemMatrix = theSel.transform
      local rot = quattoeuler (theSel.transform.rotationpart) order:5
      local newRot = [degtorad(rot.y),degtorad(rot.z),degtorad(rot.x)]
      local itemLocalBoundingBox = nodeGetBoundingBox theSel itemMatrix
      local size = (itemLocalBoundingBox[2] - itemLocalBoundingBox[1]) * itemMatrix.scalePart
      
      -- Add in a forest tree using the transform data of each selection object
      
      theForest.trees.create theSel.pos 1 1 theForest.specidlist[1]
      theForest.trees.setRotation (theForest.trees.count()-1) newrot
      theForest.trees.setSize (theForest.trees.count()-1) size
      theForest.trees.update_ui()
      theForest.trees.update()            
   )
)

-- Fly my pretties

MakeForestFromSelection theForestObj (selection as array)
Title: Re: Scripts for Forest Pack
Post by: Paul Roberts on August 03, 2016, 11:15:41 AM
Instance lights on Forest Pack items

(http://i.imgur.com/QuROX1d.png)

This script instances any object to match the position and rotation of items scattered with Forest Pack. It can be useful for distributing lights, splines, particle systems or any other non-geometric object that it not able to be scattered directly with Forest Pack

To use this script:
- NOTE: To return correct transform information, Forest Pack object must be scattering custom geometry, not using one of the built in billboard templates.
- Press the "Pick Object to instance" button and choose the object you'd like to instance, for example a light
- Make sure a Forest Object is selected.
- Click "Instances to Forest"

The new instances are created with a combination of the source object and the Forest object's names. To delete these.

- Make sure the source object is chosen using the "Pick Object to instance" button
- Select the FP object
- Click delete instanced objects.

Note: Because the delete function is using the names of the FP object and the source object you should not change their names if you would like to use the delete function.

Here's a video of it working



I hope it's useful for someone.

Many thanks!

Paul.
Title: Re: Scripts for Forest Pack
Post by: raistlin on September 07, 2016, 09:51:26 AM
Hi Itoo

Can you add a little script to "randomize seed" a selection of multiple Forest Pack object in a click, it should be really interesting for scene that we re-use...

Cheers!
Title: Re: Scripts for Forest Pack
Post by: raistlin on September 07, 2016, 10:11:19 AM
Hi Itoo

Can you add a little script to "randomize seed" a selection of multiple Forest Pack object in a click, it should be really interesting for scene that we re-use...

Cheers!

I've done a little thing like that :

$.seed = random 1 999999

But it's really limited, because the result is apply in the same time on each forest object...
Damned...
It work, for sure... But i'm pretty sure it could be better...
Title: Re: Scripts for Forest Pack
Post by: Paul Roberts on September 07, 2016, 10:19:52 AM
Hi!

If you just need a simple line you can use the following -

for i in selection do i.seed = random 1 999999


It will apply a different random seed to each selected Forest Pack object.

I hope that helps.

Cheers!

Paul
Title: Re: Scripts for Forest Pack
Post by: raistlin on September 07, 2016, 03:20:54 PM
Soooo, here my solution!
as you have help me a lot in many times, here is my little contribution...

rollout FFRandomSeed "FF-Random Seed" width:200 height:128
(
   button btn1 "Random Seed" pos:[24,72] width:152 height:32
   label titre "  - Forest Pack - Random Seed -" pos:[16,8] width:168 height:32
   groupBox grp1 "Select at least one FF-Object" pos:[8,40] width:184 height:80
   on btn1 pressed  do
      for i in selection do( i.seed = random 1 999999)
)
createdialog FFRandomSeed

Have a nice day!
Title: Re: Scripts for Forest Pack
Post by: Haider of Sweden on October 15, 2016, 01:14:18 AM
Script wish:

Assign current camera to selected forest(s)
Title: Re: Scripts for Forest Pack
Post by: iToo on October 15, 2016, 08:40:54 AM
Script wish:

Assign current camera to selected forest(s)

If that helps, the "Copy" button in Camera rollout, copies current camera and properties to all FP objects.

Title: Re: Scripts for Forest Pack
Post by: Haider of Sweden on October 29, 2016, 06:14:44 PM
InstancesToForest

(http://i.imgur.com/m3no1Ax.png)
I hope it's useful for some people.

Many thanks!

Paul.

In your video, you're in the Geometry Rollout and press the None-button, and pick a mesh. Even though, the mesh is not visible in the FP object and under Tree Editor it says 0 Items.
In my case, when I press None and then pick a mesh, I immediately see a point cloud of that mesh.
- What am I doing different from you?

Later, you explain "change to Tree Editor mode"
- What does it mean? In the video, you simply enter the rollout, but you're not pressing any button or changing modes.

In my case, I wanted to turn one single object to an FP object. InstanceToForest didn't work for me. The only thing it did was to reset scale and rotation of the picked object. Under Tree Editor, there were 0 Items.
However, when I had multiple instances, it worked, except it skipped the "original mesh" which appears to be the first mesh created, not the one I pick as source.
In your video, you picked one item, and when you pressed Instances to Forest, it turned them all, including the object you picked, to point clouds.
Title: Re: Scripts for Forest Pack
Post by: Haider of Sweden on October 29, 2016, 06:20:07 PM
Script wish:

Assign current camera to selected forest(s)

If that helps, the "Copy" button in Camera rollout, copies current camera and properties to all FP objects.

Unfortunately, this was not what I was looking for.
I meant a better way to assign a camera instead of the current solution where you press the None-button and then pick a camera.
My trick so far is to press auto-assign to active view, then pan the scene and cancel with right click, and the camera gets assigned. Then I untick "auto assign".
This could be scripted and what the script does is assigning the current camera to the selected forest object.
Title: Re: Scripts for Forest Pack
Post by: Kerezsi on January 12, 2017, 11:34:23 AM
Script wish:

Assign current camera to selected forest(s)

If that helps, the "Copy" button in Camera rollout, copies current camera and properties to all FP objects.

Unfortunately, this was not what I was looking for.
I meant a better way to assign a camera instead of the current solution where you press the None-button and then pick a camera.
My trick so far is to press auto-assign to active view, then pan the scene and cancel with right click, and the camera gets assigned. Then I untick "auto assign".
This could be scripted and what the script does is assigning the current camera to the selected forest object.

run in maxscript listener, assigns the current viewport's camera to selected forest objects:

try for s in selection where classOf s == Forest_Pro do s.camera = getActiveCamera() catch()
Title: Re: Scripts for Forest Pack
Post by: Straightface Studios on March 28, 2017, 12:02:12 AM
Here is a script which will take a Krakatoa PRT Loader or a Particle Flow source and places a tree for each particle at the particle's position.   Unfortunately there is a bug in ForestPack which limits the particle system limit to around 20k particles before it's impossibly slow so only use it for smaller particle systems.

#Note only reads position, not orientation or scale of particles.
Title: Re: Scripts for Forest Pack
Post by: raistlin on July 13, 2017, 01:37:16 AM
Hi itoo!

The defy of the day :
is there a way to clean forest  pack pro duplicate geometry in the list??

In a case we merge some scenes with Forest object, we have some duplicate source geometry, without the same name in the forest template layer, but the same Xref name and place...

Is there a script to automate the process of replacement and keep the surface?
It's a way to optimise our scene and clean the assets for renders.

I try to merge fpp object, but first, we lost the surface, and second : we lost our instance which are randomly replaced by the other...

Cheers :) ^^
Title: Re: Scripts for Forest Pack
Post by: Adam86 on March 13, 2018, 03:30:24 PM
Would love one that could add a forest colour map into selected mesh materials, i've got about 15 plant models each with 15 multisub object leaf ID's, going to have to manually add one to each slot!
Title: Re: Scripts for Forest Pack
Post by: Michal Karmazín on March 13, 2018, 04:27:43 PM
Hi,

The Material > Optimize Materials feature allows you Apply Forest Color to a Selection or the Material Library (attaching screen-shot). Hope that helps.

Best regards,
Title: Re: Scripts for Forest Pack
Post by: Adam86 on March 13, 2018, 04:37:43 PM
Hi,

The Material > Optimize Materials feature allows you Apply Forest Color to a Selection or the Material Library (attaching screen-shot). Hope that helps.

Best regards,

Amazing!!! that was quick work :)
Title: Re: Scripts for Forest Pack
Post by: FlynnAD on May 13, 2018, 04:39:37 AM
InstancesToForest

This script looks in the scene to find instances of the objects in Forest Pack's item list. When it finds them they're added to FP, matching the position, rotation and scale.

Paul.

Hi Paul,
Your script is fantastic. I've used it to convert old mental ray proxies into a format that I can now re-use in Vray, as well as grabbing hundreds of 3dsmax instances into one forest object.

However, I've noticed that the script WILL ALWAYS MISS ONE OBJECT. Just one, not two, not none. If you make an array of instances in 3dsmax, then make a forest object from these instances using your script, it's easy to pick out the single object that doesn't make the cut. Can you find the glitch in your script that causes one random item to be excluded?

Thanks,
Matt
Title: Re: Scripts for Forest Pack
Post by: Rokas on May 14, 2018, 03:51:29 PM
Hi Paul,
Your script is fantastic. I've used it to convert old mental ray proxies into a format that I can now re-use in Vray, as well as grabbing hundreds of 3dsmax instances into one forest object.

However, I've noticed that the script WILL ALWAYS MISS ONE OBJECT. Just one, not two, not none. If you make an array of instances in 3dsmax, then make a forest object from these instances using your script, it's easy to pick out the single object that doesn't make the cut. Can you find the glitch in your script that causes one random item to be excluded?

Thanks,
Matt

In 36th line remove "-1" so it look like this:
      for x = 1 to (instanceList.count) do
Title: Re: Scripts for Forest Pack
Post by: Haider of Sweden on June 20, 2018, 12:54:23 PM
A script that sets Display > Viewport to
* Mesh
* Proxy
* Points-cloud
Title: Re: Scripts for Forest Pack
Post by: Rokas on June 20, 2018, 01:35:27 PM
A script that sets Display > Viewport to
* Mesh
* Proxy
* Points-cloud

Please use included  ForestPack lister (https://docs.itoosoft.com/forestpack/forest-lister) for this.
(https://i.imgur.com/ju9Z27u.jpg)

edit:
Also this script seems to work (thank You for edit Haider)
Quote
for obj in selection do if (classof obj == Forest_pro) then obj.vmesh = 0
Title: Re: Scripts for Forest Pack
Post by: leonardo.afanador on June 20, 2018, 02:19:40 PM
A script that sets Display > Viewport to
* Mesh
* Proxy
* Points-cloud

it exists
http://www.scriptspot.com/3ds-max/scripts/v-ray-proxy-tools
Title: Re: Scripts for Forest Pack
Post by: Haider of Sweden on June 22, 2018, 03:49:16 PM
Please use included  ForestPack lister (https://docs.itoosoft.com/forestpack/forest-lister) for this.
(https://i.imgur.com/ju9Z27u.jpg)

I know there are other ways than scripting to do what I ask for, but the script will act much faster than first opening a UI and then making choices. So I went with this solution and thank you very much for your help (I switched out the Railclone_Pro to Forest_Pro to make it work

Code: [Select]
for obj in selection do if (classof obj == Forest_pro) then obj.vmesh = 0

it exists
http://www.scriptspot.com/3ds-max/scripts/v-ray-proxy-tools

But this one doesn't work for Forest Pack, does it? Have you tried? (I haven't tried it)
Title: Re: Scripts for Forest Pack
Post by: Frag Studio on August 31, 2018, 04:28:59 PM
Thank you very much Paul, that script saved me lot of time yesterday.

Everyone sharing script like you are heroes. At one moment in one place, you're one artist's best friend.
Title: Re: Scripts for Forest Pack
Post by: DT on November 08, 2018, 10:27:20 AM
InstancesToForest

(http://i.imgur.com/m3no1Ax.png)

This script looks in the scene to find instances of the objects in Forest Pack's item list. When it finds them they're added to FP, matching the position, rotation and scale.

To use this script:
- Create a new FP object
- Add an object/s to Forest Pack's items list, these are the things with instances in the scene that you'd like to convert to FP geometry.
- Change to Tree Editor mode
- With the FP object still selected, press Instance To Forest.

Here's a video of it working

<iframe width="560" height="315" src="https://www.youtube.com/embed/CuQbinj-U5Y" frameborder="0" allowfullscreen></iframe>


Note that this is an early version. At the moment the Forest Pack object must be at the world origin (the script changes this automatically though). I'd also like to add the ability to append the instances (at the moment it overwrites the current scatter),an option to automatically find instanced objects and add one of them to the items list (great for automatically converting large scenes), and an option to delete the original instances once added to FP.

I hope it's useful for some people.

Many thanks!

Paul.

Does this still work with the latest Forest Pack? I've placed Instances of Xref Objects with object paint. When using this script it adds the right amout of instances to the forest pack but they are all at the same position (first instance placed).
Title: Re: Scripts for Forest Pack
Post by: Dragan on February 20, 2019, 09:57:20 PM
I found Surface and Object Assigment but can`t see Area Assignment?
 
Title: Re: Scripts for Forest Pack
Post by: Rokas on October 24, 2019, 10:33:55 AM
Select Dependent objects.

Usage:
Select Your ForestPack Pro / RailClone Pro objects(can be mixed among other items) and running this script will add dependent objects to Your selection:
(https://i.imgur.com/69MPBrM.gif)

edit updated to make it work faster if max is Modify Tab.
Title: Re: Scripts for Forest Pack
Post by: QL2487 on December 06, 2019, 04:16:17 PM
Hello,

Can anyone help us with a script that replaces the VRayMultiSubTex into the Forest Color for all slots, not just for Diffuse?

Thanks!
Title: Re: Scripts for Forest Pack
Post by: KD4391 on January 10, 2020, 04:27:38 AM
Hi guys - it would be super awesome if you could change all forest pack display to a specific prpxy type - ie thin box.

Also, is it possible to include or provide a script to change all selected forest pack assinged surfaces to 'AUTO'

Cheers
Title: Re: Scripts for Forest Pack
Post by: Rokas on January 10, 2020, 01:07:58 PM
Hi guys - it would be super awesome if you could change all forest pack display to a specific prpxy type - ie thin box.

Also, is it possible to include or provide a script to change all selected forest pack assinged surfaces to 'AUTO'

Cheers

Hi.
See attached. This script works on selected forestPack objects. If none is selected then on all ForestPacks in the scene.
Hopefully. Please test it.

(https://i.imgur.com/eQIkTsi.png)
Title: Re: Scripts for Forest Pack
Post by: KD4391 on January 13, 2020, 04:38:57 AM
Beautiful - very happy - thanks so much.
Hi guys - it would be super awesome if you could change all forest pack display to a specific prpxy type - ie thin box.

Also, is it possible to include or provide a script to change all selected forest pack assinged surfaces to 'AUTO'

Cheers

Hi.
See attached. This script works on selected forestPack objects. If none is selected then on all ForestPacks in the scene.
Hopefully. Please test it.

(https://i.imgur.com/eQIkTsi.png)
Title: Re: Scripts for Forest Pack
Post by: Rokas on March 06, 2020, 11:41:05 AM
New Utility with few functions as requested in our forum before.

Edit .
fixed: operations with multi forests
added: selection->Dependencies

(https://i.imgur.com/J3saO3k.png)

Color ID from Wire Color ->
(https://i.imgur.com/tHzJqhM.gif)

Only 1 of each Geometry ->
(https://i.imgur.com/k0tYpxF.gif)


Remove Unused Items ->
(https://i.imgur.com/0HZifj1.gif)
Title: Re: Scripts for Forest Pack
Post by: Terri Brown on March 06, 2020, 11:50:04 AM
Awesome! Thanks a mil
Title: Re: Scripts for Forest Pack
Post by: RealViz on March 11, 2020, 06:58:26 AM
I getting this error when runing script :-(

With One Forest obj. it works. With more no...
Title: Re: Scripts for Forest Pack
Post by: KD4391 on March 12, 2020, 01:30:16 AM
Hey Rokas

That is awesome!  Excellent!

Can i make a request if possible?  I would love it if you could select multiple forest packs and then exclude (or include) a spline from all thos eselected multiple forests if that makes sense?
Title: Re: Scripts for Forest Pack
Post by: zules on March 14, 2020, 10:22:02 PM
Hello,
does somebody know a tips/script to select all the geometry object of a FP object easily ?
It will be useful to create masks in Corona from selection for exemple.
Title: Re: Scripts for Forest Pack
Post by: Rokas on March 16, 2020, 10:02:11 AM
Fixed some issues with FP_Toolbox script(thanks RealViz), also added selection->Dependencies. Hopefully that is what zules was asking for.
Title: Re: Scripts for Forest Pack
Post by: zules on March 16, 2020, 07:04:47 PM
Thanks I will have a look !
Title: Re: Scripts for Forest Pack
Post by: RealViz on March 17, 2020, 02:34:53 PM
Thanks Rokas! Works well like Corona virus :-D
Title: Re: Scripts for Forest Pack
Post by: TheMan on April 02, 2020, 05:47:09 PM
Hello Forest people,

I wrote one script for myself to Select multiple Forest Objects along with their dependencies.

Select Dependent objects.
(I didn't know that this thread exist and Rokas already wrote a script for it. )

I invite you guys to try mine anyway, it'll only work for Forest Pack, but I promise that mine is FASTER.
(Edit: I found out later that my script will only work faster if your 3ds max tab selection on the right is set to Modify tab. Other than that, they'll both with as fast as each other.
Edit2: I believe Rokas already updated his script, so all the speed issue is gone. Now both our script is as fast as each other, but his will also support Railclone. So, go for his! haha.)




**Note
- The one called DragNDrop is to drag it in the viewport to execute the script.
- The one called Macro is to install the script. Customize > The Man Script > ForestPackDependencies.
- Both scripts do the same thing.
Title: Re: Scripts for Forest Pack
Post by: Rokas on April 02, 2020, 07:06:37 PM
Hi The Man

Your script prorduces an error:
(https://i.imgur.com/YXnvkFN.png)

Maybe You forgot to declare "TM_ForestObjectSel" array ?

With that line added script does not error, but it fails to select all dependencies, and what is more drops other items that were in the initial selection.
Title: Re: Scripts for Forest Pack
Post by: TheMan on April 02, 2020, 08:38:44 PM
Hi The Man
Your script prorduces an error:
Maybe You forgot to declare "TM_ForestObjectSel" array ?
With that line added script does not error, but it fails to select all dependencies, and what is more drops other items that were in the initial selection.

Oops! that for loop is not needed anymore and the selection drop is gone. All fixed! Thank you Rokas.  ;D
Title: Re: Scripts for Forest Pack
Post by: Rokas on June 09, 2020, 02:01:08 PM
new ForestPack toolbox version:

v1.3
added Geometry List naming utility.

(https://i.imgur.com/wBEeawt.png)

You can batch remove first (->) or last (<-) characters from the items name:
(https://i.imgur.com/dnbXCHM.png)

You can batch edit names using %% with numbering:
(https://i.imgur.com/GvYaTKL.png)

P.S. script automatically renames names in FP rollout. So after each rename rollout must be refreshed.
If there are many items You can speed up process by deselecting ForestPack or going out of Modify menu.

If wanted You can rename scene objects to reflect the changes You did in FP names.
Title: Re: Scripts for Forest Pack
Post by: RealViz on June 09, 2020, 03:27:06 PM
Thanks! Rename is good to keep scene clean!
Title: Re: Scripts for Forest Pack
Post by: zules on June 22, 2020, 05:51:42 PM
Hello,
thank you for those updates !! Very useful !

Would it be possible to add options to manipulate Camera setting inside selected/all FP object ?
Like :
- Clear all camera
- Auto assign camera
- Maybe also the Area menu for Limit visibility, clipping plans...

Also, any idea if a script exist for creating mask (Cmask in my case) from all Geometry object from a FP object ?
Will help for PS adjustement..

Thanks !
Title: Re: Scripts for Forest Pack
Post by: Rokas on June 25, 2020, 09:41:11 AM
Update FP Toolbox.
Added batch edit camera settings.
Title: Re: Scripts for Forest Pack
Post by: Rokas on June 29, 2020, 09:12:35 AM
Update ForestPack toolbox
Added batch Clear Material option

(https://i.imgur.com/PMSs8lY.png)
Title: Re: Scripts for Forest Pack
Post by: Kerezsi on July 17, 2020, 12:57:34 PM
Hi,

Is there a way to open a library preset in a forest object with maxscript?
The "scatalog" interface doesn't seem to work for me.
I'm trying to automate the thumbnail rendering for forest presets.

For single models I already solved this: I read the maxfilename and modelname from the library index.xml, then merge and render it in my own template.

Laszlo
Title: Re: Scripts for Forest Pack
Post by: Rokas on August 27, 2020, 08:20:23 AM
As suggested here (https://forum.itoosoft.com/forest-pro-(*)/script-for-finding-not-used-geometry/).

ForestPack Toolbox v1.6
Added:
dependencies->    

(https://i.imgur.com/DKqhS5Z.png)
Title: Re: Scripts for Forest Pack
Post by: Rokas on September 29, 2020, 08:58:59 AM
As suggested here (https://forum.itoosoft.com/forest-pro-(*)/forestpro-specific-number-of-objects/).

ForestPack Toolbox v1.7
Added:
Geometry->   
Delete some scattered items over the specified limit.

(https://i.imgur.com/dsKfLwu.png)

It can be slow, please don't overdistribute too much.
Title: Re: Scripts for Forest Pack
Post by: Rokas on October 05, 2020, 12:17:23 PM
ForestPack Toolbox v1.8

v1.71
-minor fixes

v1.8
-added option to move (selected) FP objects to a (new) defined layer.
-added option to add Unreal Datasmith modifier (helper when exporting to Unreal Engine).

New options in red outline. What is in orange- it used to be available in previous versions.
Now it is re-positioned to other similar actions.

(https://i.imgur.com/QIawFom.png)
Title: Re: Scripts for Forest Pack
Post by: 3DFLOW on February 16, 2021, 11:01:04 AM
is there a function to update the selected material for example to generate a forest edge in the opacity slot or forest color in the diffuse slot?

Alot of time we're dealing with multi materials that have 20+ material slots...
Title: Re: Scripts for Forest Pack
Post by: Rokas on February 16, 2021, 07:17:06 PM
is there a function to update the selected material for example to generate a forest edge in the opacity slot or forest color in the diffuse slot?

Alot of time we're dealing with multi materials that have 20+ material slots...

There is Material Optimizer (https://docs.itoosoft.com/forestpack/forest-plugin/material#Material-OptimizeMaterials) tool built in Forest Pack Material rollout:
(https://i.imgur.com/wkcPXTh.png)
Title: Re: Scripts for Forest Pack
Post by: 3DFLOW on February 18, 2021, 01:13:05 PM
tyvm :))
Title: Re: Scripts for Forest Pack
Post by: Rokas on May 03, 2021, 09:36:12 AM
Updated version of ForestPack Toolbox. Recommended with ForestPack 7.
Many small fixes, some improvements, reorganized UI.

Let us know if You have any feature requests.

(https://i.imgur.com/MxfaT5H.png)
Title: Re: Scripts for Forest Pack
Post by: RealViz on May 05, 2021, 06:12:49 AM
Hello,
would it be possible to add a "Clean unused" item. The "Remove Unused Item" item does remove the object (thank you for using it often), but it does not clean it from the "Geometry list". Thus FP still carries the material information and thus increases the RAM requirements. Usually this is not a problem, but for people with 8k textures it fills up ram unnecessarily.
Title: Re: Scripts for Forest Pack
Post by: Rokas on May 05, 2021, 08:15:02 AM
Hello,
would it be possible to add a "Clean unused" item. The "Remove Unused Item" item does remove the object (thank you for using it often), but it does not clean it from the "Geometry list". Thus FP still carries the material information and thus increases the RAM requirements. Usually this is not a problem, but for people with 8k textures it fills up ram unnecessarily.

Agree about material part. Fixed. But items remain in geometry list, as changing the list would reseed current distribution (unless in custom edit mode).

Maybe I will add this check later: if in custom edit, then remove items from the Geometry list as well. It is not trivial to implement.
Title: Re: Scripts for Forest Pack
Post by: RealViz on May 05, 2021, 08:27:58 AM
Agree about material part. Fixed. But items remain in geometry list, as changing the list would reseed current distribution (unless in custom edit mode).

Maybe I will add this check later: if in custom edit, then remove items from the Geometry list as well. It is not trivial to implement.
Thank you! That's basically enough. Of course cleaning the whole "Geometry List" would be nice. But it's all about convenience :-)
Thanks
Title: Re: Scripts for Forest Pack
Post by: Rokas on May 06, 2021, 09:59:15 AM
New function in [Scene Organization] group ->[Prep Refs]. This converts many selected Reference objects to one that should be used with FP Reference Mode, Mesh Faces option
(https://i.imgur.com/Fw1ncR7.png)

This can speed up viewport performance, and references management.
Title: Re: Scripts for Forest Pack
Post by: 3DFLOW on June 28, 2021, 07:55:18 PM
any way to add "forest edge" to selected material slot or materials of selected geometry? (And if opacity map is present, use it as a subfile still?) - We're clicking alot to handle these on alot of distribution objects :)
Title: Re: Scripts for Forest Pack
Post by: Rokas on June 29, 2021, 07:19:00 AM
any way to add "forest edge" to selected material slot or materials of selected geometry? (And if opacity map is present, use it as a subfile still?) - We're clicking alot to handle these on alot of distribution objects :)
This functionality is built in Material Optimizer (https://docs.itoosoft.com/forestpack/forest-plugin/material#Material-OptimizeMaterials). You can find it in {Material} rollout.
Title: Re: Scripts for Forest Pack
Post by: nubo on August 23, 2021, 04:49:16 PM
That Toolbox script is awesome! :)
Do you think you could add a feature to batch turn the display "Manual update" on and off?
We've noticed that having manual update turned on speeds up viewport performance, so we're using it a lot, especially in big scenes with dozens of Forest Packs.

Thanks!
Best regards,
Przemek
Title: Re: Scripts for Forest Pack
Post by: blanker on January 12, 2022, 02:48:03 AM
This toolbox is an amazing timesaver! Thank you for such a great work!

Is there any way to add Random Select tool for Custom Edit mode? It can be based on the percentage of the elements/objects in Forest Pack.

Recently we started to use Forest Pack 7 to scatter lights for large scenes and very often need randomly selects lights within FP to replace or delete random lights to add more natural variation. And having Random Select option will help a lot to speed up the process.

Thanks
Title: Re: Scripts for Forest Pack
Post by: ritoo on January 27, 2022, 02:12:54 PM
I have some humble request for Toolbox (or it could be a standalone silent script) . This would allow faster reference creating\updating:
Create (or replace) reference objects in the selected Forest object with objects in existing selection set called 'SelSave'*
This selection set is generated with genius Save Restore Selection script  from free
Kstudio scripts pack (aka TrackScripts). Highly addictive script - once you try it you  can't live without it.
https://3d-kstudio.com/product/trackscripts/#SaveRestoreSelection
Thank you for attention
Title: Re: Scripts for Forest Pack
Post by: Paul Roberts on January 27, 2022, 03:43:49 PM
Hi,

Thanks for these suggestions. The member of our team who was developing the toolbox has moved on to new pastures, but we're taking all this into consideration and hopefully we'll be able to look at it soon.

Many thanks,
Paul
Title: Re: Scripts for Forest Pack
Post by: Viz3D on February 08, 2022, 06:01:14 PM
Just to add another suggestion.
Can we have a global "Max Items" spinner for viewport display?
Thanks in advance.
Title: Re: Scripts for Forest Pack
Post by: Florian Albert on August 30, 2022, 03:53:56 PM
Hi Paul,

your Script seems realy intersting to me! Its almost exactly what I am looking for. I need to scatter lots of objects and later export them to a realtime application (Autodesk VRED). Now the tricky part:

1. each scattered object has to be grouped and instanced.
2. The transforms (Position, Rotation, Scale) must be written into the Groups but not in the Object/Geometry itself.

If I use your script and select one grouped Object it is instanced and position-, roatation- matched very well, but all instances are still parts of the source groupe. I need the Groups to be copied/instanced too – so I get x instanced objects in X groups. Or in other words: instead of „instance lights on Forest Pack items“ I need „instance Groups on Forest Pack items“. Maybe it helps if you know that I do not need to distribute Groups with more than one Object… …maybe it seems to be illogical, but this is necessary because this ist the only way to get VRED recognizing the instances.

I hope you can help.
Many Thanks in Advance,

Florian



Instance lights on Forest Pack items


This script instances any object to match the position and rotation of items scattered with Forest Pack. It can be useful for distributing lights, splines, particle systems or any other non-geometric object that it not able to be scattered directly with Forest Pack

To use this script:
- NOTE: To return correct transform information, Forest Pack object must be scattering custom geometry, not using one of the built in billboard templates.
- Press the "Pick Object to instance" button and choose the object you'd like to instance, for example a light
- Make sure a Forest Object is selected.
- Click "Instances to Forest"

The new instances are created with a combination of the source object and the Forest object's names. To delete these.

- Make sure the source object is chosen using the "Pick Object to instance" button
- Select the FP object
- Click delete instanced objects.

Note: Because the delete function is using the names of the FP object and the source object you should not change their names if you would like to use the delete function.

I hope it's useful for someone.

Many thanks!

Paul.
Title: Re: Scripts for Forest Pack
Post by: Paul Roberts on August 30, 2022, 06:56:21 PM
Hello Florian, you might find you have more success using Forest Tools. It's a built-in utility that you can use to Convert a Forest Object to instances. Read more about it here: https://docs.itoosoft.com/forestpack/instantiating-and-exporting/forest-tools


Best,
Paul
Title: Re: Scripts for Forest Pack
Post by: Florian Albert on August 31, 2022, 12:33:18 PM
Hello Paul,

many thanks for your reply!

I know Forest Tools but as far as I know it does not what I need. Unfortunately I need every single scattered Geometry to be grouped in his own Groupe. If I would do it by hand, workflow would look like this: Take a Tree, groupe it, take this groupe and Instance and transform (move,rotate, scale) it x-times as needed. If I use forest tools I get perfectly instanced but ungrouped Trees or all instanced Trees grouped in one only groupe.
I need to import the scatter in Autodesk VRED and VRED is recognizing the instances only if every scattered Tree is "transformfree" and the transforms are a property of a unique Groupe for each scattered tree.
If your Script would instance the grouped Tree, not only the Tree itself,  and match the position and rotation of items scattered with Forest Pack this would be working for us...

Cheers,
Florian
Title: Re: Scripts for Forest Pack
Post by: ritoo on February 07, 2023, 08:50:02 AM
I wanted to  make a shortcut for FP Tollbox and tried to make .mcr myself, but constantly get runtime errors.
Could somebody please make a proper .mcr file out of ForestPack Toolbox v1.8?
Thank you in advance
Title: Re: Scripts for Forest Pack
Post by: zules on March 23, 2023, 02:03:45 PM
Hello there,
any plan to update Forest Toolbox to handle camera menu without crash, and maybe other new function coming from v8 ?

Thanks !

JG
Title: Re: Scripts for Forest Pack
Post by: iToo on March 28, 2023, 08:53:57 AM
Hi,

Forest Toolbox was developed by one of our collaborators (Rokas) as a personal project. Unfortunately he doesn't work anymore at iToo Software.

I'm sorry, but at this moment we have not plans to update the tool.
We would reconsidere that in the future, but currently we have not spare time to dedicate to it.

Regards,
Title: Re: Scripts for Forest Pack
Post by: KT6866 on July 01, 2023, 01:48:57 AM
This Instances to Forest Pack script is terrific, thanks. The original object from which the instances are created, however is not displayed in FP itself, but in the video it is? Being able to convert instanced geometry, maintaining already positioned/transformed geometry is super helpful for efficiency purposes and I'd love to see this built into the plugin.

InstancesToForest

(http://i.imgur.com/m3no1Ax.png)

This script looks in the scene to find instances of the objects in Forest Pack's item list. When it finds them they're added to FP, matching the position, rotation and scale.

To use this script:
- Create a new FP object
- Add an object/s to Forest Pack's items list, these are the things with instances in the scene that you'd like to convert to FP geometry.
- Change to Tree Editor mode
- With the FP object still selected, press Instance To Forest.

Here's a video of it working

<iframe width="560" height="315" src="https://www.youtube.com/embed/CuQbinj-U5Y" frameborder="0" allowfullscreen></iframe>


Note that this is an early version. At the moment the Forest Pack object must be at the world origin (the script changes this automatically though). I'd also like to add the ability to append the instances (at the moment it overwrites the current scatter),an option to automatically find instanced objects and add one of them to the items list (great for automatically converting large scenes), and an option to delete the original instances once added to FP.

I hope it's useful for some people.

Many thanks!

Paul.
Title: Re: Scripts for Forest Pack
Post by: Jean-Brad on October 26, 2023, 02:41:29 PM
Hi Paul,

It looks like this script doesn't work fine when converting light instances to forest objects. There is a scale issue, the lights in the forest object are very very small....
If you have any idea on how to solve that.

Thanks in advance.

regards,