Graswald - News and Work in Progress

I’m not sure I understand… Could you share an image perhaps?

After some sleuthing I discover a potential cause, it happens with huge number of particles and child optimization off. Presumably optimization and number of particles are directly linked.
(I tend to have child optimization off in attempt to get rid of the “lumpiness”)

Blender particle system needs to be emitting something like 800,000 before this shows… Guessing it is a blender particle bug… probably not worth you guys stressing over :slight_smile:

In the image below, that odd grass is the emitter object origin.
random

Side note, I tend to have child optimization off in attempt to get rid of the “lumpiness” of clumps and have even manicured grass, is there a better way perhaps?

Hello

im just leaving this here

this might give new ideas to devs about a “cluser map”

1 Like

The basic Graswald system worked without the children particles, we simply added it for better optimization. So I find myself disabling them quite a lot for some systems. For now, I guess that’s the only thing to do. One could test how it works in combination with density maps though to further break everything up… I might look into that in a bit if I can find enough time.

these actually look stunning! You do a good job in creating plants. it is one of my nightmares for my projects!

1 Like

Will we be seeing a cheeky Christmas discount? :slight_smile:

I’d have a hard time resisting that… I’ve been so tempted to buy it so many times but I just can’t justify it when I don’t have a pressing need for it. I just want it. :smiley:

2 Likes

Hello. Sorry to disturb You in here, but I really need to get things done :slight_smile:

I have bought, downloaded and installed the plugin as usual. The problem is, when I try to create new system, there is no way to select show system in render/wievport icon. These icons seem to be disabled.

When I try to create a new system while having object activated (let’s say a plane) a strange object (custom.var.plane) shows up.

If that helps, in info area I can see the code:

Traceback (most recent call last):
_ File “C:\Users\F\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\Graswald\ui_list.py”, line 1013, in draw_
_ emission.prop(item.psettings_ptr, “emit_from”)_
TypeError: UILayout.prop(): error with argument 1, “data” - Function.data does not support a ‘None’ assignment AnyType type

location: :-1

Repeated multiple times.

Has anyone encountered the same problem?!

Blender version: image

This is quite odd…
Quick question, did you get it from blender market or gumroad?
They should be the same, but it could point to something.

BlenderMarket, if that helps

When will you be updating to 2.8 since its now beta?

I started porting it on Saturday. All the base code is done, save for some bugs. See my Twitter: @KareemAlgalaly

I do intend to add new features though, so it will take some time. Though I may have Julius release a beta version on top of 1.15 for y’all to play around with. Lemme know if there are any features you want.

1 Like

@KareemAlgalaly any plan for adding LOD’s. It realy helps in large scale scenes.

Perhaps…

What I’ve seen is that meshes themselves don’t matter as much as the materials, but those parameters are already exposed. Perhaps an LOD that may work would break scenes by distance from camera into the low, med, high materials, and reduce density in the background. This would increase memory usage, though it might reduce render-times.

Or do you know of another way/have another idea?

I’m not too familiar with what LOD systems are typically in place. And also, mesh-LOD didn’t—in my tests—make much of a difference.

@KareemAlgalaly
I just started using UE4. Scattering whole 5km x 5km terrain with dense trees doesn’t effect viewport performance or rendering. I dont know how they do it.

I have used Vue too. In Vue, It estimates the number of instances that needs to be scattered and its memory requirement. If it exceeds our available system memory, it alerts us and suggests us to use Dynamic EcoSystem(The Ecosystem will b automatically populated at render time ) .
Vue also uses Billboards to display and full quality mesh at specified distance from camera.

u can watch some features in the following video

So I’ve been doing some tests with LODs, and they all increase memory, though the render time savings in some cases are pretty good. One of these methods is compatible with animations, so I’ll be exploring that.

For those curious as to my early results:

  1. Instancing models instead of using a particle system saves a couple seconds, but multiplied memory significantly. Doubling number of particles barely nudges memory, but it doubles memory when using instances.
  2. The difference between one particle system on a large plane, or two on two half-planes is minimal for both render-time and memory (though 2 barely higher)
  3. The difference between two systems on two objects that sum to another, vs two equivalent systems on one object where the separation is entirely by vertex paints, is that the first is faster with less memory, but the second may be more convenient/easy to update.
  4. Using lower detail materials in BG can save a significant amount of render-time, while slightly increasing memory.

I will try mesh LODs later today.

Oh, and Julius has a holiday gift for those still considering Graswald over on Graswald RELEASE

1 Like

For bigger areas maybe you have to use bigger grass patches (50cm wide or more for each patch) I didn’t test grasswald yet because it seems only adapted to close-up but I know that other solutions in other sofware usually use bigger patches for bigger terrain covering. This would mean less particles or instances for the same amount of final geometry.

1 Like

Hi @KareemAlgalaly and @Yukon

Trying to install Graswald 1.2 Alpha in Blender 2.8 and I get the following error:

Traceback (most recent call last):
File “D:\Blender\blender-2.80.0-git.e5e885d0ecb9-windows64\2.80\scripts\modules\addon_utils.py”, line 351, in enable
mod = import(module_name)
File “C:\Users\Carlos\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\Graswald_init_.py”, line 48, in
from . import gdata, ui, operators, handlers, error, package_manager
File “C:\Users\Carlos\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\Graswald\gdata_init_.py”, line 61, in
class GData(bpy.types.PropertyGroup):
File “C:\Users\Carlos\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\Graswald\gdata_init_.py”, line 90, in GData
default = GGD.addon_prefs().DEFAULT_EMFILTER,
File “C:\Users\Carlos\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\Graswald\gdata\gtypes.py”, line 67, in addon_prefs
user_preferences = bpy.context.user_preferences
AttributeError: ‘_RestrictContext’ object has no attribute ‘user_preferences’

Funnily enough, the error message is very similar to another error I caught and reported for a different plug-in with 2.8:

https://developer.blender.org/T59881

bpy.context.user_preferences was recently renamed to bpy.context.preferences, in 2.80.

Which may be causing the issue.

Cheers,
Carlos Cidrais

1 Like

Graswald_28_01a got error. Can add in preference. but can not active addon

mac osx blender-2.80-82e0739f6481-OSX-10.9-x86_64_emphasized text_