traffic light / ICE or Parameter connection editor


This is driving me crazy… im doing a traffic light and in order to set it, I created a null arrow so the arrow will point to the light I need on (red, yellow or green). After some trouble with ICE (im novice at it), I used a box null, so the light bulb geometry will test if the null touches him, and if its true, the light bulb geometry material incandescence will be on. Everything has worked right, but I cannot find the way to also set a point light to change its color as the same time the material on the geometry is changing.

I finally tried to set it on the parameter connection editor, I used my null arrow as a driving force and the point light as the driven. As I moved up the arrow the light will turn red, and as I moved down the arrow the light will turn green… but… the problem is, everytime I reload the scene, the parameter connection editor resets and I lose my connections.

What am I doing wrong? An most important, how can I turn on/off a point light using ice?


adding an attachment… I was trying to color the incandescence but as I couldnt connect it, I just use it to turn on/off the incandescence. Im trying to add a point light to give color to the surroundings of the light bulb geometry and have my ice setup drive the color of the point light.

Eventualy I want to make a circuit box to my main scene, so I can create cars and switch on/off their lights automatically when merged, upon detection if the main scene is at “day or night”.

edit… the null arrow in the image is the parent of a hidden null that is on top of the light bulb geometry on the bottom (wich is the one referenced in the ice view)


I was confused there for a moment. Didnt know they enabled pulling attributes from mesh object in 2012. That is very good news.

Controling point light color (dont put ice three on a light):

An if statement is deciding which color is assigned to a light. You can than drive this boolean value by your test inside null. You can also send a custom made boolean attribute into render tree and use Color_Switch to decide which color is put into incandescence (or just use this boolean to turn the incandescence off an on).

This three resides on a geometry you would light. But it is better to make a null on which you would putt all this nodes and than just spread finished bit of information onto the geometry for material changes (sending attributes to render tree). This would recuire some work on the testing bit but its worth the trouble - instead of having scattered nodes all over the scene, everything would be more or less centralized.

Im afraid i didnt explain this all too well. Hopefully you got the gist of it.


I cant connect the IF parameter to anything I can think of because If I do that, then it refuses to connect to the Ice port.

The only way I would be able to change the light color attribute is if I connect it directly to the Ice port, but then I would not be able to drive the parameter.

I dont understand how to use custom boolean attributes. Also Im not sure why my original question was moved to the ICE section because it involved the Parameter connection editor too. I think Im having a bad string of luck with softimage these days. I will need to review the tutorials I’ve been learning from. If anyone can come up with a solution I would be glad, if not, I hope I can find it and post it for future reference.

Im sorry to be frustrated… my 1 tb external hard drive just died today and the sucker took a lot of videos and the redivivus tutorials with him.


Hey Luis,

I had some time on my hand this mourning so i tried to recreate your scene. If i understood you correctly you just need a simple 3-way switch to activate your lights and incandescence. This is not very elegant solution, i must admit, but it works.

There was probably a better way to do this. For one, you can just test inside poly with new topo stuff. In this case i added some points… Have a look at the scene. All calculations are on ICE_ORIGIN point cloud. However, you need to have an ice tree on each object to initialize boolean attribute to be able to modify it in ICE_ORIGIN. Its just very important to be careful about the order of the operations.

Have no idea what went wrong with your parameter connections, but ive used only ice here so you wont have to worry about it.

Also, condolences to the family of your hard drive. :slight_smile:



Nice, I finally did it using the distance between the null and the object to drive the pointlight color.

Thanks for all!


This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.