rajdarge,
It's certainly a good idea to avoid scaling if one is not sure what the collateral effects might be. But if you know, you can take that to your advantage. I've used scale and negative scaling on rigs on purpose, for instance. In this very case the scaling itself is not a problem at all, unless you plan to do more than previewing the light texture with the plane. I did this because the texture in VrayLight and the plane are flipped in the X axis, i.e. a gradient shows up reversed. In case of just matching the transform as you did, you need to flip the mesh or UVs for the texture of the plane to match. Just as a tip, for simple controller setups, you can fix any scale issue (not axis skewing though) by simply applying it to the gizmo of an XForm modifier, like this: $.xform.gizmo.scale = $.scale.controller.value, and reset the object level scale with "$.scale.controller.value = [1,1,1].".
Also, scaling allowed me to instance the width and length of the plane with light sizes. This is not script/expression or wire controllers. IMO controller instancing is the best way to bind parameters because they are always bidirectional (like 2 way wires), produce no circular dependency (i.e you can instance the whole transform controller of a hierarchy of bones), they throw no error like script/expression controller if light is deleted, or lock parameters in the case of wire, and are faster to evaluate than any those. So it's very safe/useful to use.
I didn't bother doing it for Disc Lights because I rarely use them, but I guess I'd do it the way you said, with a Circle and a UVW Map on top.
Regards,
-Eugenio
It's certainly a good idea to avoid scaling if one is not sure what the collateral effects might be. But if you know, you can take that to your advantage. I've used scale and negative scaling on rigs on purpose, for instance. In this very case the scaling itself is not a problem at all, unless you plan to do more than previewing the light texture with the plane. I did this because the texture in VrayLight and the plane are flipped in the X axis, i.e. a gradient shows up reversed. In case of just matching the transform as you did, you need to flip the mesh or UVs for the texture of the plane to match. Just as a tip, for simple controller setups, you can fix any scale issue (not axis skewing though) by simply applying it to the gizmo of an XForm modifier, like this: $.xform.gizmo.scale = $.scale.controller.value, and reset the object level scale with "$.scale.controller.value = [1,1,1].".
Also, scaling allowed me to instance the width and length of the plane with light sizes. This is not script/expression or wire controllers. IMO controller instancing is the best way to bind parameters because they are always bidirectional (like 2 way wires), produce no circular dependency (i.e you can instance the whole transform controller of a hierarchy of bones), they throw no error like script/expression controller if light is deleted, or lock parameters in the case of wire, and are faster to evaluate than any those. So it's very safe/useful to use.
I didn't bother doing it for Disc Lights because I rarely use them, but I guess I'd do it the way you said, with a Circle and a UVW Map on top.
Regards,
-Eugenio
Comment