Placing a population on an imported mesh

Started by sboerner, August 31, 2020, 03:34:14 PM

Previous topic - Next topic

sboerner

I'm not sure this is officially supported (this thread indicates it wasn't as of 2008) but it's working for me, sort of.

The catch seems to be that you can't rotate the mesh in Terragen. If you do that, you lose the spacing variation between the instances. The attached image shows unrotated original mesh (left), mesh rotated in TG (center), and mesh rotated in Blender before import (right).

Has anyone else had any luck with this?

Kadri

Population on imported objects works since a while.
But as you see there is a bug since more then 2 years (i think) that makes it problematic when you rotate the population in Terragen.

Kadri

#2
I just got curious how the problem would look in motion.

@Matt looks like the population objects jump-jitter around to find the right place on the object.
There is kind of a banding, wave change in the population.

WAS

Nice investigation. Definitely a interesting effect. Wonder if that sheds some light.

sboerner

I'm seeing the problem when I rotate the mesh. Rotating the population doesn't seem to have any effect. (These are just quick tests, mind you.)

Good idea, Kadri. If I have time I'll try animating this, too.

Kadri

Quote from: sboerner on August 31, 2020, 09:13:42 PMI'm seeing the problem when I rotate the mesh. Rotating the population doesn't seem to have any effect. (These are just quick tests, mind you.)

Good idea, Kadri. If I have time I'll try animating this, too.
Yes that is the problem. But i wanted to see how the population handles the rotation change too more easily.
This is the original bug problem thread:
https://planetside.co.uk/forums/index.php/topic,21503.0.html

Kadri

#6
This example does have only the object rotation (from 0 to 60 degree by the way).
Looks like the population does have a problem with the Y coordinate.
From the old thread i remember that rotating the object in the Y axis wasn't problematic.
Only rotation in X and Z was a problem. This looks kinda consistent here...i don't know.

By the way as i looked now i just got curious why there are only 2 parameters (a,b) for distances between population objects.
Wouldn't be 3 better as an option? I wanted to use smaller distance in Y while animated just to see if that does have any effect.

sboerner

Thanks, Kadri. I completely missed that thread and it didn't show up in my searches.

For the test posted here I just rotated the mesh in Y. Same result when the object was rotated on all three axes though.

Maybe there are only a and b parameters because populations are placed on two-dimensional surfaces, sort of like uvs.


Kadri

Quote from: sboerner on August 31, 2020, 11:02:15 PM...

For the test posted here I just rotated the mesh in Y. Same result when the object was rotated on all three axes though.
...
Really? Interesting. Maybe it was depending on the object. If the object does have changes in Y when rotated it gets problematic.
I mean the position of a population object doesn't change for a horizontal plane that is rotated in Y... Just guessing of course :)

Kadri

Quote from: sboerner on August 31, 2020, 11:02:15 PM...
Maybe there are only a and b parameters because populations are placed on two-dimensional surfaces, sort of like uvs.
Yes could be. But for Terragen still sounds better with 3.
But this isn't any deal breaker as you can control this kinda with the density shader.
Just another option.

Kadri

Arrrggh...
After 4 years there might be a workaround (and a very much stupidly easy one).
I am making another test to be sure.

Kadri

#12

Ahhh...sorry... Just a stupid chance because i used a cube.
Still testing but no workaround unfortunately :(

Dune

There might not be a workaround if it's inherent to the way Matt wrote the population thing. Maybe it calculates not in real 3D space (like noise), but takes a definite number of Y-layers, and calculates per layer. So from the side you'd 'see the layers'. Very interesting thread though, and nice experiments, I like that!