here is an mov demonstrating what i mean - http://www.spinifexinteractive.com.au/forum/maxscript/previewmp4.mov
however when i render after the first frame i get -
>> MAXScript Script Controller Exception: -- Runtime error: Illegal self-reference in controller script <<
my scene is basicly a huge array of hexagons (copies, not instances) with this script as a controller on a visibility track -
refsArray = (refs.dependents this)
scriptObj = undefined
for i in refsArray do(
if (isvalidnode i) then (
-- this is the code to create a variable that references the object running the script
d = ray scriptobj.pos [0, 0, 1]
if ((intersectray $hitobj d)!=undefined) then (
-- $hitobj can be any object by that name looming over the top (up the z axis). in this case it is a sphere.
scriptobj.wirecolor = [255,255,255]
) else (
scriptobj.wirecolor = [0,0,0]
so yeah its pretty straightforward, but i cant seem to get it to work on render or find what the illegal self refrence is.
if i get rid of that result variable at the end i get something like this -
which is cool for the first few frames, but then it messes up.
Does anyone know why is this occurring? is there a better way of doing this so that i dont have to have a seperate script for each object as well? it must be very inefficient.