BG Random UV Projection node

Forum for OctaneRender Lua scripting examples, discussion and support.
User avatar
bepeg4d
Octane Guru
Posts: 10328
Joined: Wed Jun 02, 2010 6:02 am
Location: Italy
Contact:

Hi all,
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:
Capture_30.PNG
Here is the OSL script:
BGrandomUVproj_osl.zip
(931 Bytes) Downloaded 1172 times
an .orbx example scene:
BGrandomUVproj_orbx.zip
(368.75 KiB) Downloaded 799 times
and a c4doctane example scene:
BGrandomUVproj_c4d.zip
(465 KiB) Downloaded 1032 times
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:
388C3327-FE25-4BD8-B10A-D7BE6E3E9414.jpeg
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:
7658C759-32E5-405E-97D7-7BD7E97C24A0.jpeg
Here is a a Standalone .orbx, and .c4d example scene with both osl scripts working together:
randomuvsonobjects.zip
(2.32 MiB) Downloaded 941 times
Happy GPU Rendering,
ciao Beppe
Last edited by bepeg4d on Sun Mar 03, 2019 9:53 am, edited 2 times in total.
FxDesign
Licensed Customer
Posts: 110
Joined: Wed Apr 24, 2013 10:47 am
Contact:

That's fantastic, thank you
User avatar
funk
Licensed Customer
Posts: 1206
Joined: Mon Feb 07, 2011 1:24 pm
Location: Australia

Thanks Beppe. Very handy!
Win10 Pro / Ryzen 5950X / 128GB / RTX 4090 / MODO
"I am the resurrection, and the life: he that believeth in me, though he were dead, yet shall he live" - Jesus Christ
J.C
Licensed Customer
Posts: 1855
Joined: Thu May 13, 2010 6:35 pm
Location: Wrocław

Wow!. Awesome script. Thanks for sharing Beppe!
CPU – i9 13900KF, 128GB RAM, GPU – RTX 4090
System – Windows 11
My Behance portfolio, Blender plugin FB support group
User avatar
bepeg4d
Octane Guru
Posts: 10328
Joined: Wed Jun 02, 2010 6:02 am
Location: Italy
Contact:

Hi,
I have updated the first post with the great hint provided by Milanm here, of using the OSL Texture node RandomInstanceColor.osl, instead of the Octane Random Color node.
Happy GPU Rendering,
ciao Beppe
User avatar
pxlntwrk
Licensed Customer
Posts: 445
Joined: Sat Mar 23, 2013 2:21 pm
Location: France
Contact:

thanks bepeg,
that's really cool and useful...
:::::::::::::::::
pxlntwrk.net
neilmanisharma
Posts: 1
Joined: Sat Aug 31, 2019 8:33 am

Can you tell me how it will work in blender? As i tried using OSL texture but it is giving error.
roy_orengo
Licensed Customer
Posts: 65
Joined: Tue Nov 06, 2018 9:06 am

Hi Beppe,

You wrote:
"Instead of a Random Color node, the BGRandomUVProjection OSL node works also with non instanced objects too".
So I could use It without Blocks (I'm using Rhinoceros as modeller)? On different solids?

Thanks,
ciao,
Roy
mortom_ckm
Posts: 3
Joined: Fri Dec 11, 2020 2:37 pm

Hi I'm green in this stuff - In Octane I mean :)
There is a way to do this in Octane for Blender? I suppose connect node "OSL Projection" with script to the shader it's not do the trick?
Image
mortom_ckm
Posts: 3
Joined: Fri Dec 11, 2020 2:37 pm

Hi
There is a way to do this in Blender?
Post Reply

Return to “Lua Scripting”