Skip navigation
didgi.
Currently Being Moderated

Accepts Lights+Shadows via expression or Script

Mar 18, 2010 6:12 AM

Hi

 

does anybody know an expression/script to turn on/off the above mentioned properties.That would be quite useful.

 

cheers

  • Currently Being Moderated
    Community Member
    Mar 18, 2010 12:02 PM

    This simple example script turns off accept lights and shadows for selected layers (it assumes those properties haven't been keyframed):

     

    {
      var myLayers = app.project.activeItem.selectedLayers;
      for (var i = 0; i < myLayers.length; i++){
        myLayers[i].acceptsShadows.setValue(false);
        myLayers[i].acceptsLights.setValue(false);
      }
    }

     

     

    Dan

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Mar 19, 2010 3:15 PM

    Something like this should get you headed in the right direction:

     

    {

     

      function shadowsOn(){
        var myLayers = app.project.activeItem.selectedLayers;
        for (var i = 0; i < myLayers.length; i++){
          myLayers[i].acceptsShadows.setValue(true);
        }
      }

     

      function shadowsOff(){
        var myLayers = app.project.activeItem.selectedLayers;
        for (var i = 0; i < myLayers.length; i++){
          myLayers[i].acceptsShadows.setValue(false);
        }
      }

     

      function lightsOn(){
        var myLayers = app.project.activeItem.selectedLayers;
        for (var i = 0; i < myLayers.length; i++){
          myLayers[i].acceptsLights.setValue(true);
        }
      }

     

      function lightsOff(){
        var myLayers = app.project.activeItem.selectedLayers;
        for (var i = 0; i < myLayers.length; i++){
          myLayers[i].acceptsLights.setValue(false);
        }

     

      }

     

      function createUI(thisObj) {
        var myPanel = (thisObj instanceof Panel) ? thisObj : new Window("palette", "My Tools", [100, 100, 300, 300]);
        myPanel.shadowsOnBtn = myPanel.add("button", [10, 10, 150, 30], "Accept Shadows on");
        myPanel.shadowsOffBtn = myPanel.add("button", [10, 50, 150, 70], "Accept Shadows off");
        myPanel.lightsOnBtn = myPanel.add("button", [10, 90, 150, 110], "Accept Lights on");
        myPanel.lightsOffBtn = myPanel.add("button", [10, 130, 150, 150], "Accept Lights off");
        myPanel.shadowsOnBtn.onClick = shadowsOn;
        myPanel.shadowsOffBtn.onClick = shadowsOff;
        myPanel.lightsOnBtn.onClick = lightsOn;
        myPanel.lightsOffBtn.onClick = lightsOff;
        return myPanel;
      }

     

      var myToolsPanel = createUI(this);
      myToolsPanel.show();

     

    }

     

     

     

    Dan

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Mar 25, 2010 2:23 PM

    When you guys are done with this, please post it on AE Enhancers or AE Scripts!

    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points