here is an OSL Projection node to randomise position, rotation and scale of the uvs of scattered objects. It uses the Random Color Texture node to obtain the random values, but you can use any other texture node:
https://vimeo.com/296310449
Hint #1:
Connect the same Random Color Texture node used to drive the OSL Projection, firstly into a Gradient node to batter control the range, and then in the Power pin of the ImageTexture node, to randomly change also the aspect of the texture over clones:
Here is the OSL script:
an .orbx example scene:
and a c4doctane example scene:
Hint #2:
If you use the following OSL Texture node RandomInstanceColor.osl, provided by Milanm here:
- Code: Select all
#include <octane-oslintrin.h>
shader RandomInstanceColor(
int Seed=0,
output color c = 0)
{
c = noise("cell",_getinstanceid(),Seed);
}
Instead of a Random Color node, the BGRandomUVProjection OSL node works also with non instanced objects too.
In Standalone you need to have a Scatter object connected to each different object:
While in c4doctane you need to add an Octane Object tag, with differet Instance ID numbers, for example selecting all the tags, and entering num+1:
Here is a a Standalone .orbx, and .c4d example scene with both osl scripts working together:
Happy GPU Rendering,
ciao Beppe