Dogs of War *Finished*!

Started by Mohawk20, April 04, 2008, 12:12:07 PM

Previous topic - Next topic

Mohawk20

So in the default shaders image nodes I select an image function, instead of an imagemap, is that it?
Howgh!

gregsandor

Keep it simple to start until you get the hang of it.  Use a simple image map and plu it in to see how it goes together.  Later you can use functions and fractals and all the complicated jazz.

Mohawk20

#17
No, I mean how do I get an external imageshader connected to the internal input?


[Edit:] Nevermind, found it. The settings of the objectloader has a tab for the surface shader, and there it can be assigned. So now I can use more populations, without filling the render bucket!

Back to the first problem, setting the populations to only use a random part of the grid formation without overlapping... [/Edit]
Howgh!

Mr_Lamppost

This may be a little confusing as I am responding to a specific post I made on the Ashundar counterpart to this thread but this is part of what you are after. Five objects distributed in one population; yes we all know you can't do that so what is needed is five populations all using the same settings and seed to control the points where the instances are placed.  That part is easy, the hard part is masking the distribution of five populations so that each instance point is only used once.

Well this appears to work.  Sorry I had to set the quality of the jpeg so low but I needed a file small enough to be able to upload, you should still be able to see that while some of the soldiers are standing suspiciously close together there are no actual overlaps.  These would be easy to spot as the flanges on the stand in peg objects are at different heights for  each population.
Smoke me a kipper I'll be back for breakfast.

Mr_Lamppost

The nodes to create the five masks from a single Power Fractal are fairly simple; see screen grab.

There is also a zip containing the tgd and the soldier pegs.

Yes I know you also want the soldiers lined up in formations using an array of spots.  I'm working on that.
Smoke me a kipper I'll be back for breakfast.

Mohawk20

Dude, you're the best... If I was a girl you would get a kiss  :-* :P
But I'm not that kind of man, so you'll have to do with 'thanks a lot!' ;)

I did fix the texture problem, so I'm now rendering a fairly simple shot of the 15 populations, with different pop seeds only minimal overlapping...



I promise all of you to do a nice animation with fitting music when we get this working.
Howgh!

rcallicotte

Mr. Lamppost, this is brilliant!  Thank you.
So this is Disney World.  Can we live here?

Mr_Lamppost

The node network is a little more complex and I may not be using the most efficient method of generating the array of dots but it is fairly simple to multiply them with each of the masks and so create a set of distributions.  While the masking of the separate populations still works there is the problem of populating all the dots, without doubling up.  Making the spacing so small that some of the dots contain more than one instance. 

The tgd uses the same stand in pegs as the first version.
Smoke me a kipper I'll be back for breakfast.

Mohawk20

#23
I'm rendering with these settings now!

[Edit:]And this is the result: 5 figures in 3 parts = 15 populations. With centeralized textures ind complex distribution. Waddayathink?[/Edit]
Howgh!

Mr_Lamppost

That is starting to look more like an army.  I can see at least one instance where there are two soldiers overlapping, this can happen if your object spacing is too small allowing two soldiers on one grid dot. Even is the object spacing is large enough to prevent the doubling up a dot that is on the boundary of the mask can get used twice if you use different seed values.  I am working on a solution to this just now.
Smoke me a kipper I'll be back for breakfast.

nvseal

That's looking pretty good.  8)

Mohawk20

#26
Thanks nvseal...

I'll check the seeds again, and set the object spacing from 15 to 20...



[Edit:] When all populations have the same seed they will all use the same spot... If I change the seed they go apart. Strange. I am using your distribution functions. I had to set them to invert otherwise the objects would disappear from inside the populations bounding box...[/Edit]
Howgh!

Mr_Lamppost

This is only a concept preview, I will post the final implementation shortly. 

This version uses a completely different way of generating the masks for the populations, in this demo I have used them as blend controllers for five surface layers to make the grid of coloured squares.  I have overlaid the grid of dots so that you can see that once they are combined it will be absolutely guaranteed that each dot will only be present in one of the masked populations.  This should allow the different populations to use different seed values and even object spacing hopefully making it easier to populate every dot in the grid.

Smoke me a kipper I'll be back for breakfast.

Mr_Lamppost

#28
Here it is; The random square masks applied to the populations, all of which are using different seed values. None of the dots are used twice.

I have left the dots and squares faintly visible.  Just remove the six surface layers from the shaders to get rid of this and make the node network a little less complex. 

As the squares and dots are closely linked there are two master control nodes, both Constant Scalars, which have been labelled Dot Spacing and Dot Size.  These have been placed outside any of the groups.  The way each of the square cell is assigned to the population masks is controlled by the four Colour Adjust shaders, as before. However as the distribution is now based on a Perlin Noise function rather than a power fractal the values needed are less obvious. 

This is only a quick render to show the setup working, there are lots of unpopulated dots, I have made no effort to adjust the population setting to try to cover these. 
Smoke me a kipper I'll be back for breakfast.

Christopher

This is pretty interesting stuff here. Does this mean we can make trees and bushes different colors like what you guys had done with the examples here.