Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by wallworm

  1. Furthermore, since you might be using masks from other channels (instead of channel 0, you might use another channel like a UVW channel instead), there should be a Channel spinner that defaults to channel 0 (which is the vertex color channel). Changing to channel 10, for example, will use the uvw coordinates as colors. For example, you can use Vertex Paint Modifier to paint vertex colors into channel 10 (or any channel).
  2. I meant to add: So the Surface distributor would need a new Dropdown under the Use Vertex Color checkbox with these options: RGB (default and legacy) Red Green Blue
  3. Eduard, Attached is an example scene. This is a simple example of how the vertex colors might drive a system (in this case, the base blue channel of the vertex colors is displacing the landscape down for the river). The other colors are not used to displace in this example, so are added to the second vertex paint. If you select the object GFX_Ecosystem1 there are three paths: WaterPlants(blue) BankPlants(red) Grass(green) What I'd like is that the distributors allow you to use just that channel for distributing--so in this case the waterplants paths only appear where there are non-zero blue values in the vertex colors. Etc. Notice also if you hit Render you will see that the materials are also using these as masks. (Open slate to see that the texture masks are using R/G/B sub-channels). If the surface distributor could use sub-channels like the material is using, it would make it very easy to populate the plants along the environment easily. Even more valuable is this method used in conjunction with the DataChannel modifier added in 2017.1. In that case, the vertex colors can be driven by the landscape topology--meaning that automatically we can make some kinds of plants only appear on vertical surfaces and others only on flat, etc etc. Having the plants and materials update automatically and together is what I'm looking at accomplishing. Hopefully this makes sense. GFX_vertex_color_example.zip
  4. It would be nice if we could use arbitrary map channels for the Vertex Color. Also, it would be nice if we could use specific rgb/uvw channels. For example, if I want to distribute just from the Red channel of vertex color (or X value in map channel 10).
  5. This works great. Thank you Eduard.
  6. Sometimes it's easy to forget all the exceptions. You can see methods of Structs in Max with showproperties. showProperties polyops :/
  7. Thanks. This helps a lot. Those methods didn't appear when using ShowProperties().
  8. I will share my script for this when done. This is awesome. Thank you again Eduard. A few suggestions/requests: Can we get a couple methods to access the paths/modifiers by index instead of name: gfx.getPath 1 And for the paths, accessing the distributors/modifiers by index as well? (gfx.getPath 1).getDistributor 1 (gfx.getPath 1).getModifier 1 The reason being easier to access dynamic properties by index instead of name. Also, it would be great if meshbuilders (and potentially after mesh modifiers) were also added to this setup. I'd like a few properties added to Path: (gfx.getPath 1).distributorCount --# of distributors in path 1 (gfx.getPath 1).modifierCount -- # of modifiers in path 1 (gfx.getPath 1).meshBuilderCount -- # of meshbuilders in path 1 Finally, how would I instance the parameters? For example, if I can get meshbuilder support, I'd like to be able to instance the meshes among all the paths.
  9. Thanks Eduard. We are using 2016/2018.
  10. Thanks Eduard Yeah I was grasping at straws with the length affects.
  11. Thanks Eduard. The more MAXScript access to the paths and sub-attributes, the better
  12. It would be nice if the Distance and Max Strength spinners in Object reaction had graph support. Right now I'd like to set a path to use ZERO object reaction until at the very end of the paths and then give it 100%. In this case, the direction is controlled by Spline Dir modifiers and then changes to Object reaction at the very end. I'm considering how to do this currently with affects but it's being problematic for me. If the strength/distance had graph controls, it would be easy to just set the values to 0 until end of graph. My current tests have been to add a Length Affects > Object Reaction Strength with a Factor at 0 for most of the Factor Graph and then setting it to 1.0 for end of graph. But the Object reaction seems to apply to the entire path.
  13. Eduard, I'd like to be able to have access to Paths that would allow me to script the set up GrowFX distributors, etc. For example, if needing to utilize multiple splines as paths for a GrowFX node, manually setting them up can be tedious. I'm creating a tool to generate the needed Point Helpers but now I realize that there is no way (that I know of) to automate setting up the creation of the paths to use these PointHelpers and splines.
  14. Perfect! Thank you Eduard! You are a genius.
  15. Thank you Eduard. I've installed and so far the ability to affect the MatID is brilliant in itself. I'm still unable to figure out a way to force all the Distributor in Point to control the materials. For example, if I use a Surface Distributor with a Distributor in Point Count of 4 / chaos 50, then how can I force each cluster of meshes spawned at that point to affect the material ID? I am trying to figure out how to have each cluster from the distributor point to share the same IDs and make them random between each cluster.
  16. Awesome! I'm mostly in 2018/2016. Is there an ability to affect by Distributor spawn ID?
  17. Eduard, I have a situation where I need to apply a specific material to plants based on their root distributor. I am attaching an example simple screen shot where the material IDs are random per mesh. But I need the meshes from the same distributor point to share the material IDs as in the sample on the right. I've been trying to think of a way to do this with various Affects setups but don't seem to find a solution. Can you assist?
  18. I would like the ability to limit the distribution of spawn points in the Surface Distributor to these parameters: Angle Vector: Choose vector for angles. Should default to World Z. Have options to change vector like in the Vector Dir direction modifier. Used for both the face angle and height below. Limit to Face Angles: Boolean. When On, uses the following two parameters: Min Face Angle: Minimum angle from axis. Max Face Angle: Maximum angle from axis. Limit to Height: Boolean. When On, use the following two parameters. Min Height: Minimum Height for spawning. Max Height: Maximum Height for spawning For the height, the zero value should be calculated from the angle vector choice. (So origin of the axis in Angle Vector)
  19. Is the Distance to Object parameter in Surface Distributor broken? When using the Pick Object button, the UI never assigns the picked node. I also noticed that the docs do not cover this parameter.
  20. Thanks for the info. I had a hunch it wouldn't work for metamesh, but it was worth a shot. In terms of the paths, I guess it would depend on how much time it could save to baking the directions.
  21. Similar. What I was thinking was more of a bake of the entire path, not just the Object Reaction modifier. For example, say you have a plant with several paths and the root paths are calculation intensive (maybe several Path Reactions between the paths and meta meshes). When done with those, "Bake/Freeze" them so that the calculations for the final paths preview faster (maybe just leaves at the end of the tree, for example, that you are still tweaking) . For each path, it would be a bake of the completed path (including mesh and after mesh modifiers). Mainly, I'm thinking of this in terms of helping change parameters and seeing results faster. Essentially, I'm thinking of getting the speed increase you get by turning the visibility off on a path but still seeing the path results for reference while working on sub-paths, especially when working with metamesh. Maybe it isn't practical based on how metameshes merge between paths? In any event, I'm mainly just thinking about making it easier to work with complex trees.
  22. ​I'm trying to get a metamesh to create a cap like a mushroom head and for some reason the radius won't go past a certain point. In the example image, the GFX object is selected and highlighted. The head path radius is set to go out about 20 unites, but instead it's only going out to about ~6 units. I'm trying to replicate the simple template in the background. I've attached the scene. GFX_Shroom.max
  23. I think that the Point Helper objects should have several new controls that can be used inside the GrowFX nodes. I think this will help cases where you have a species that generally works but need to add some specific variation to specific plants in the scene. Just a few examples/ideas: New Parameters in Point Helper: Radius Multiplier: Allow per point radius multiplier for any distributor using this. Default to 1. Density Multiplier: Allow the density to be multiplied per point's multiplier. Default to 1. Associated Functions inside GrowFX: Point Distributor: if the point's density multiplier is other than 1, multiply the density results by the multiplier. Direction Modifier: Add new checkbox to Use Point's Vector Size as Path Length to override the length of that path. Should still utilize Chaos (if the distributor count is other than 1). Mesh Builder: If the mesh comes from a Point Distributor path and the point's radius is other than 1, multiply the results of the radius by the radius multiplier.
  24. I think it might be helpful to add an option for each path similar to the Enable/Disable and Show/Hide that lets you freeze/cache the current path so that it doesn't need to be calculated anymore (so in essence, a snapshot of its paths and mesh internally). Assume you have a fairly complex plant that utilizes object/path reaction that is slow to calculate and you want to tweak some settings of a sub-path. Each change can be slow if you want to see the plant in context of all paths. Since changes to parent paths might invalidate accuracy, this case should be considered by letting the user know there could be discrepancies if the parent path(s) change. If the parent paths are also frozen, then no notice is necessary.
  • Create New...