Jump to content

Eduard

Moderators
  • Posts

    2388
  • Joined

  • Last visited

  • Days Won

    133

Everything posted by Eduard

  1. Баг исправлен, спасибо! Странно, в предыдущих версиях макса этого не требовалось, видимо разработчики серьезно взялись за вьюпорт, и все дыры закрыли...
  2. Ok, we've added the following functions: getNumPaths() Returns the number of paths. getNumDistributors <path_index_integer> Returns the number of distributors for the specified path, index are 1-based. getNumModifiers <path_index_integer> Returns the number of modifiers for the specified path, index are 1-based. getNumMeshBuilders <path_index_integer> Returns the number of mesh builders for the specified path, index are 1-based. getNumAfterMeshModifiers <path_index_integer> Returns the number of after mesh modifiers for the specified path, index are 1-based. Now you can try this code: gfx = $ for i = 1 to gfx.getNumPaths() do ( path = gfx.getPath i; format "%\n" (classOf(path)); format " Distributors:\n" for j = 1 to (gfx.getNumDistributors i) do ( distr = gfx.getDistributor i j; format " %\n" (classOf(distr)) ) format " Modifiers:\n" for j = 1 to (gfx.getNumModifiers i) do ( dir = gfx.getModifier i j; format " %\n" (classOf(dir)) ) format " MeshBuilders:\n" for j = 1 to (gfx.getNumMeshBuilders i) do ( mb = gfx.getMeshBuilder i j; format " %\n" (classOf(mb)) ) format " AfterMeshModifiers:\n" for j = 1 to (gfx.getNumAfterMeshModifiers i) do ( amm = gfx.getAfterMeshModifier i j; format " %\n" (classOf(amm)) ) ) Please contact me by email, and I'll send you an update... Thanks!
  3. Yes you are right! We'll add these functions... Regarding the arrays, yes we wanted to implement this, but I don't understand how to do it in the Max SDK, because I've not found an example... Thanks!
  4. Hi Steven, Yesterday, we added the following functions: getPath <path_index_integer> Returns the indexed path, index are 1-based. getDistributor <path_index_integer> <distributor_index_integer> Returns the indexed distributor for the specified path, indexes are 1-based. getModifier <path_index_integer> <modifier_index_integer> Returns the indexed modifier for the specified path, indexes are 1-based. getMeshBuilder <path_index_integer> <mesh_index_integer> Returns the indexed mesh builder for the specified path, indexes are 1-based. getAfterMeshModifier <path_index_integer> <aftermeshmodifier_index_integer> Returns the indexed after mesh modifier for the specified path, indexes are 1-based. I hope this is the best way to get a components list... What do you think about this? Thanks!
  5. You can check the component type as follows: if classOf(gfx.trunk.Meta_mesh_01) == GrowFX_sMESH_Meta do ( ... Here's a list of types for the Mesh builders: GrowFX_sMESH_Cyl GrowFX_sMESH_Meta GrowFX_sMESH_Leafs GrowFX_sMESH_IG GrowFX_sMESH_STDLeafs Cheers!
  6. Hi Steven, Yes, some MaxScript functions are not yet available in GrowFX, because few people use it. However, we can add the necessary functions and properties... If you have any more wishes regarding the MaxScript functionality, please let us know, we'll add it. Thanks!
  7. Eduard

    Offset Z

    Hi Shawn, Ok, we'll think how to implement it... Thanks!
  8. You can create an Affect from the Trunk->Parameter: Length to the Trunk->Vector_dir_01->Strength. See my example: Sunflowers_2.max I also created growth animation for the trunk length from 100 to 600mm. And the flowers turn to the sun within trunk length from 400 to 600mm, see the Source parameter range values in the Affects rollout. That is, when the trunk length is less than 400mm, the flowers will be directed to random directions. Cheers!
  9. Eduard

    Summer Tree

    Very nice image Thanks!
  10. Hi Midge, It is not always possible. To create a flat end, requires a certain distance from the trunk or parent branch. Otherwise, there may be some artifacts in this area... Cheers
  11. I'm not sure, but try using the RealFlow plugin for 3ds Max: http://support.nextlimit.com/display/rf2013docs/FAQ+-+Connectivity+Plugins Cheers
  12. Hi, I wonder why vector direction does not work? Maybe you did something wrong. If possible, please send me your model, I'll try to fix it... In this example you can see how it can be solved: Max file: Sunflowers_1.max (GrowFX ver: 1.9.7) Cheers!
  13. Please see the help in the Preference parameters: Also see the Density parameter in the Path distributor: That is, avoid using the graph for the Density, because for large values of Subdivs, calculation will be slow. It's desirable to use the graph only for the main branches... Cheers
  14. Please set the parameter SubDivs=100000! Your model is still has SubDivs=100. Cheers
  15. Please take a look at my adjusted tree: 01_2.max Also note that all Wind modifiers I applied into Direction Modifiers, because if we use them in After Mesh Modifiers, then during the plant growth will be shake of branches. Cheers
  16. Hmm, this is very strange... Try the new version GrowFX 1.9.7, maybe it will solve the problem. Yes, you can also render without conversion to Proxy, for installation on a render farm use the GrowFX Rendernode version...
  17. Yes, please turn on the Convert to Mesh in the Preference parameters rollout, then you can convert to Vray Proxy... Regarding your growth animation, now I'm trying to adjust your tree to make it look more realistic...
  18. In your case, you must set the SubDivs equal to about 50000 (in the Preference parameters rollout), because you're using a graph for Density, in some Path distributors... Also for the trunk2->Deviation_dir_02 need to set Distribution paths equal to "B1->PathDistr_02" instead of "B1->PathDistr_01". Then to increase the calculation speed, you can disable the Density graph for the paths B2, B3, B4 and B5. See these changes in the corrected scene: 01_1.max Cheers
  19. Приветствую! Нет, мы ничего там не меняли. Это просто был допущен небольшой баг на фоне улучшения кода обслуживающего списки Listbox. Это нужно было сделать для правильной работы команд Undo/Redo при добавлении/удалении компонентов. В итоге, при добавлении в список Instanced Geometry одинаковых элементов, элемент добавляется в память, но в списке не отображается, собственно поэтому генерится рандомное число появления объектов. Сейчас я уже исправил этот баг, и на этой неделе мы обновим все установочные пакеты. Также попробуем что-нибудь придумать с алгоритмом распределения в Instanced Geometry... Спасибо за подсказку, способствующей поимке этого бага!
  20. Hi Everyone, GrowFX 1.9.7 has been released. What's new: Added full compatibility with 3ds Max 2015 and 3ds Max Design 2015 (64-bit); Improved viewport performance in 3ds Max 2015; Added a new parameters group called Alarm limits to the Preference parameters. By setting these parameters, you can be sure that your model will not cause a memory overflow; Some minor improvements and bugfixes. How the Alarm limits settings works: This settings controls the basic limits for critical algorithms... Path segs limit Specifies the maximum number of segments for the paths lines, while editing the Length path or Steps on the Direction modifiers rollout. Density limit Specifies the maximum number of distributed lines, while editing the Density parameter in the Path distributor. Distr count limit Specifies the maximum number of distributed lines, while editing the Count parameter in the Distributor in point rollout of some distributor. Mesh segs limit Specifies the maximum number of faces around the circle for the Cylinder mesh. Also specifies the maximum number of faces on the leaf width for the Leaves mesh. Meta verts limit Specifies the maximum number of vertices during the build Meta meshes. If some values exceed the specified limits, the system will display a message recommending change some settings to solve the problem. After that will be automatically enabled the Manual update mode. Please feel free to ask if you have any questions. Thanks!
  21. Just Corona renderer calls Object::ConvertToType() function, instead GeomObject::GetRenderMesh(). Of course the best way to call a functions: GeomObject::NumberOfRenderMeshes(), GeomObject::GetMultipleRenderMesh() and GeomObject::GetMultipleRenderMeshTM()... ConvertToType() function is mainly used to convert into Editable mesh. So, for proper rendering in Corona we must turn on the Convert to mesh option... Or Corona developers must change their own code. Cheers
  22. I hope we'll release this version in Monday, May 26... Cheers
  23. We'll test it, but a little later this or next week... Thanks!
  24. Ясно. Ну, такую задачу можно решить и другим способом Если у Вас бутон сделан с помощью GrowFX, то значит наверняка Вы сможете сделать один вариант этого бутона, но который будет иметь анимацию распускания, от закрытой стадии, до открытой поздней. Затем Вы сможете применить параметр Current time, как в уроке GrowFX 1.8.6 - Creating growth animation of some tree, в частности нужно будет только Creating growth animation: Fruits. Саму анимацию роста дерева делать не нужно, нас будет интересовать только разные фазы бутона. Скорости раскрытия и временные интервалы тоже не важны. Делайте хоть всего 4 кадра на открытие бутона (1-бутон закрыт, 2-ранняя стадия, 3-открыт, 4-поздняя). После чего задайте хаотичную длину для верхушек, где эти бутоны будут сидеть, буквально не намного, если не нужно, чтобы этого было заметно. И вообще, можно использовать пути, не имеющие меш-построителей, т.е. dummy-пути, которые используются только для распределения на них бутонов. Теперь создайте влияние от длины этих верхушек в нужном диапазоне (т.е. проследите, чтобы Source parameter range был в том диапазоне, в котором изменяется длина верхушек), на параметр Current time как в уроке. Все, этого должно хватить. Если нужно разное соотношение кол-ва вариантов бутонов, поиграйте графиком коэффициента влияния Factor. Также можно повлиять на длину верхушек от веток нижнего уровня, для придания некоторой формы распускания бутонов, но при этом потребуется уменьшить хаотичность их длины. Т.е. приблизиться к анимации роста всего растения. Но это уже по желанию... Если что-то будет не ясно, пишите... Как ни странно, но не задавали
×
×
  • Create New...