Chaos Scatter > [Scatter] I need help!
Convert to Max Geometry Multiple Scatters
Aram Avetisyan:
--- Quote from: RTstudio on 2024-02-05, 19:30:45 ---
--- Quote from: Aram Avetisyan on 2024-02-05, 10:20:20 ---But why do you want them converted?
If you can provide some more details, I may be able to help you better.
--- End quote ---
Guys Come on? really? I know that you need a good reason in order to prioritize updates or make adjustments but..... Does it really matter why I need to convert them?
I need to convert them as a favor to my client that provide me these models, They dont have anyway to do this, and they need them as mesh.
What about if Im modeling forniture or something that in certain point I want to sell it on 3dsky or wherever, I need to provide a model so everyone can open it without any problem if they dont have certain plugins in order to avoid incompatibility.
This is something that I can do really easy and fast in ForestPack/RailClone
This could be something that you could improve, an easy way to convert multiple or every scatter in the scene as a mesh in order to use them if we dont have Chaos Scatter or any other special reason.
--- End quote ---
The question was not coming out from curiosity, but from trying to understand what you are after, and trying to be helpful.
Converting Scatter geometry to Max, even for one scatter object, can be very taxing for the scene - even if the instanced mesh can be simple, creating a large number of objects in the scene, which the conversion does, will most probably lead to scene freeze. I am not talking about hundreds of scatters. This will surely be the same for ForestPack conversion (if it does not attach all the scattered geometry into one object).
Unfortunately there is not way to do this in batch. I was trying to create a batch script for you with maxscript for this, but seems there is no way to do it.
This will be registered as a feature request, but this is not something that is regularly done, I believe.
If having the geometry "on place" was the end goal (given the screenshots, I think these are linear scatters), maybe other ways of modeling could be beneficial, e.g. the array modifier (which has solid scattering options too), which would later be easily converted into mesh.
I don't see any other option than to convert them one by one, I am afraid.
pokoy:
--- Quote ---Thanks but this.... didnt do anything, it created a new scatter object with same properties, no new meshes :(
--- End quote ---
Oh sorry, I assumed it must work since it works with anything else that produces/instances geometry procedurally. Seems Scatter was deliberately blocked from passing geometry to these methods in Max.
@Aram
Not passing geometry to other tools in Max makes no sense, especially since you provide a way to convert Scatter instance to Max instances. Please just make sure it's passing its output internally, no need for additional scripts then.
Aram Avetisyan:
--- Quote ---@Aram
Not passing geometry to other tools in Max makes no sense, especially since you provide a way to convert Scatter instance to Max instances. Please just make sure it's passing its output internally, no need for additional scripts then.
--- End quote ---
I am not sure what you mean. What I was saying, is that e.g. array modifier is placing the geometry as-is, and it can be readily converted to editable mesh/poly. Scattering plugins on the other hand, place/show instances in the viewport, generate mesh on the render time, there is no readily available/interactive geometry to be converted. In fact, not even full mesh display scatter can be converted to editable poly. And when listening the maxscript when converting scatter geometry into max, it actually reads the data (transform) of the instances and creates the instances one by one. That is another reason why it can take very long times to do the conversions, not mentioning the display of high poly meshes in the viewport.
Frood:
Hi,
--- Quote from: RTstudio on 2024-02-05, 19:30:45 ---This could be something that you could improve, an easy way to convert multiple or every scatter in the scene as a mesh
--- End quote ---
I agree. We need interfaces for scatter and CoronaCamera at least to be able to script them properly. Here is another (ugly) one for you: select the scatter objects you want to convert and then run this snippet, I hope it works for you:
--- Code: ---(
AInterface = (dotNetClass "Autodesk.Max.GlobalInterface").Instance
cPanel= (windows.getHWndData (AInterface.UtilGetCoreInterface16()).CommandPanelRollup.Hwnd)[7]
max modify mode
sObjects=for o in selection where (classof o==ChaosScatter) collect o
for o in sObjects do (
format "Processing '%'\n" o.name
select o
ConvertButton=windows.getChildHWND cPanel "Convert to Max geometry"
windows.sendMessage ConvertButton[1] 0x201 0 0
windows.sendMessage ConvertButton[1] 0x202 0 0
-- optional, deletes the scatter object after creating meshes:
-- delete o
)
)
--- End code ---
--- Quote from: Aram Avetisyan on 2024-02-06, 08:44:11 ---This will be registered as a feature request, but this is not something that is regularly done, I believe.
--- End quote ---
Sorry, but if Corona/CScatter will call itself professional, there just has to be proper(!) script access for everything. Those mentioned ForestPack options aren't there because iToo was bored and implemented them Friday evening as a chips'n red wine job, but because users need and requested it. At the very least, converting to mesh has to be implemented into the scatter lister as an option (edit: of) the actions column. But script access is superior because you do not depend on any UI.
Good Luck
pokoy:
--- Quote from: Aram Avetisyan on 2024-02-06, 09:42:51 ---
--- Quote ---@Aram
Not passing geometry to other tools in Max makes no sense, especially since you provide a way to convert Scatter instance to Max instances. Please just make sure it's passing its output internally, no need for additional scripts then.
--- End quote ---
I am not sure what you mean. What I was saying, is that e.g. array modifier is placing the geometry as-is, and it can be readily converted to editable mesh/poly. Scattering plugins on the other hand, place/show instances in the viewport, generate mesh on the render time, there is no readily available/interactive geometry to be converted. In fact, not even full mesh display scatter can be converted to editable poly. And when listening the maxscript when converting scatter geometry into max, it actually reads the data (transform) of the instances and creates the instances one by one. That is another reason why it can take very long times to do the conversions, not mentioning the display of high poly meshes in the viewport.
--- End quote ---
I think if a user needs/wants to convert a scatter object to a mesh he's probably aware of the mesh polycount, there is no need to 'protect' him from a wrong choice if the choice was a deliberate decision or needed for whatever reason in the first place.
If the mesh is shown in the viewport it already *exists* as a mesh, Corona is just not passing the data internally (Frood is hopefully proving me wrong with his script above, didn't test).
I guess the story went like this:
1. Corona develops a Scatter plugin, doesn't add passing geometry data internally because of either being overly protective (Scatter needs to be purchased/installed) or because no one thought of it.
2. Users request an option to convert to Max instances, it is added. Because of that, no one thinks passing geometry internally is needed anymore so it's left in that state.
We might have valid ideas and requests that are not making sense for developers/support. A user might have to hand out his scene to another studio that doesn't use Corona. Or I might want to convert all my Scatter objects because I know I'm going to have to re-render the scene in the coming years and I don't want to lose the scene's content to whatever the future holds for me as a cllient or Corona as a software/company. There are many reasons why I might want to use meshes or need them.
Also, not everyone has access to latest Max tools like Array - for example, I personally don't as I didn't go with the SAAS licensing for Max and am stuck with Max 2022.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version