La acción de Photoshop 'seleccionar capa delantera' tiene 'sin hacer visible' adjunto de forma predeterminada. ¿Puedo cambiar esto?

Estoy tratando de hacer una acción que haga un cambio, luego suba una capa, haciéndola visible en el proceso. Sin embargo, cuando uso los atajos Alt+ ]o Alt+ [, solo alterna las capas visibles. Cuando miro las acciones que he grabado, puedo ver que dice "Sin hacer visible". No veo una forma de cambiar eso, ni puedo encontrar el acceso directo en el menú.

¿Alguna idea aparte de escribir esto manualmente?

(usando Windows 10, Photoshop CC 2017)

Respuestas (5)

Para seleccionar la siguiente capa invisible hacia adelante, haga lo siguiente.

  1. Option+ haga clic en el icono del ojo de la capa actual en la paleta de capas
    El modo cambia al modo de una sola capa
  2. Option+ ]
    Este atajo ahora puede seleccionar la capa invisible hacia adelante
  3. Option+ haga clic en el icono del ojo de la nueva capa actual
    El modo se revierte, se restaura la visibilidad de la capa original (donde la capa actual no es visible)
  4. Haga clic en el icono del ojo de la nueva capa actual
    para que sea visible

Registre estos pasos como acción, que debería verse como la imagen a continuación

ingrese la descripción de la imagen aquí.

Command/Ctrl+ ,(Coma) alterna la visibilidad de la capa seleccionada por defecto. (apagado y encendido para la capa resaltada)

Agregue la tecla Opción/Alt y activará la visibilidad de todas las demás capas . + +Command/CtrlOption/Alt,

Agregue la tecla Opción/Alt y la tecla Mayús y desactiva la visibilidad de todas las demás capas . + + +Command/CtrlOption/AltShift,

Si eso no funciona para usted, verifique Edit > Keyboard Shortcutsy desplácese hacia abajo hasta Capas y busque el Hide Layerelemento para asegurarse de que el acceso directo aún esté asignado. Es posible que deba restablecer los métodos abreviados de teclado al conjunto predeterminado en la esquina superior derecha de la ventana Editar métodos abreviados de teclado.

Podría hacer que esto funcione con un uso inteligente de alternar todas las demás capas, pero lo que esperaba encontrar es una manera de configurar específicamente "Sin hacer visible" en "Con hacer visible" o lo que sea lo contrario. Seguramente esa opción existe, o ¿por qué la tendrían especificada?
Puede volver a grabar fácilmente su propia acción y no usar la acción predeterminada de Adobe.
El problema es que no puedo usar un comando para seleccionar una capa que aún no está visible. Podría grabarme haciendo clic en él, pero luego obtendría una acción grabada de "seleccionar capa x", no "seleccionar la siguiente capa". ¿A menos que te refieras a algún otro método?

Si desea mostrar solo la capa seleccionada actualmente, vaya a: Menú >> Capas >> Mostrar capa.

Pero, si quiere mostrar todas las Capas, use: alt ++ para seleccionar todas las Capas ctrl . A Ahora vaya a: Menú>> Capas >> Ocultar capas y luego Menú>> Capas >> Mostrar capas. es una buena práctica cambiar el nombre de la capa antes de hacer esto, para poder seleccionarla de nuevo.

Todos estos dos procesos serán registrados por la acción.

Oye, gracias por mirar esto, pero eso todavía no soluciona mi problema. Estoy tratando de hacer una acción que suba una capa (que no es visible) y luego haga que esa capa sea visible. No puedo porque la acción solo se mueve hacia la siguiente capa visible. No puedo usar el comando "Mostrar capa" a menos que haga clic manualmente en esa capa, lo que anula el propósito.
Lamentablemente no puedes hacerlo.

Antes de grabar su acción, asegúrese de que la capa activa esté oculta. Luego, comience su acción grabada con el paso "mostrar capa actual" (marcando la casilla de visibilidad de la capa activa, como de costumbre).

Luego agregue sus ediciones y cierre la acción con Alt+ [para pasar a la siguiente capa en la secuencia.

Explicación: afortunadamente, Photoshop considera que la propiedad "mostrar capa actual" es transitiva y relativa, no fija a la capa en la que se invocó.

Correcto, pero no puedo pasar a la siguiente capa, porque la siguiente capa no se ve.
Tienes razón; mi secuencia de acción particular funcionó para mí, pero por una razón completamente diferente. Ver mi respuesta editada.

Encontré esta pregunta por casualidad y pensé que le daría una oportunidad sin importar lo ridículo que se pusiera... Lo que se me ocurrió es faaaaaaaarr de ideal, pero funciona...

Aquí está la esencia de lo que hace el script:

  1. Duplicar el documento
  2. Seleccionar todas las capas
  3. Hacer todas las capas visibles
  4. Seleccione la capa de inicio de nuevo
  5. Seleccione la siguiente capa ahora y almacene su ID
  6. Cerrar el documento
  7. En el documento original: seleccione una capa con la misma ID

En caso de que no sea obvio... Este es un proceso bastante costoso para obtener la siguiente capa. Si el documento actual es bastante pesado o la computadora no es la más rápida, puede llevar un tiempo ejecutar el script. Dicho esto, parecía utilizable en mis pruebas...

No está claro si OP realmente quería que la siguiente capa fuera visible o si solo pensaba que si podía grabar una acción que la hiciera visible, siempre se seleccionaría. Esto no obliga a que la siguiente capa sea visible, pero si quisieras hacerlo, podrías hacerlo visible después de seleccionarlo:

nextLayer('up');
app.activeDocument.activeLayer.visible = true;

El guión (escrito para PS CC 2019):

// Select Next Layer (invisible or not).jsx
// https://gist.github.com/joonaspaakko/048c9b58ccbb6e6f44c894bf4ce30b68

nextLayer('down');

// direction (↑): "up" or "above"
// direction (↓): "down" or "below"
function nextLayer( direction ) {
  
  var doc = app.activeDocument;
   // Doc duplication is necessary because while the History panel can record visibility change, but for some reason it doesn't do that when the visibility command comes from a script... (AFAIK)
  var tempDoc = doc.duplicate();
  var layer1 = tempDoc.activeLayer;
  
  // Turn background layer into a normal layer
  var lastLayer = tempDoc.layers[ tempDoc.layers.length-1 ];
  function cTID(s) { return app.charIDToTypeID(s); };
  function sTID(s) { return app.stringIDToTypeID(s); };
  var layer1ID = activeLayerID();
  tempDoc.activeLayer = lastLayer;
  var bgLayerExists = lastLayer.isBackgroundLayer;
  if ( bgLayerExists ) { lastLayer.isBackgroundLayer = false; }
  try { selectLayerByID( layer1ID ); } catch(e) {}
  // Select all layers
  var desc23 = new ActionDescriptor();
  var ref5 = new ActionReference();
  ref5.putEnumerated( cTID('Lyr '), cTID('Ordn'), cTID('Trgt') );
  desc23.putReference( cTID('null'), ref5 );
  executeAction( sTID('selectAllLayers'), desc23, DialogModes.NO );
  // Make active layers visible
  var desc209 = new ActionDescriptor();
  var list93 = new ActionList();
  var ref129 = new ActionReference();
  ref129.putEnumerated( cTID('Lyr '), cTID('Ordn'), cTID('Trgt') );
  list93.putReference( ref129 );
  desc209.putList( cTID('null'), list93 );
  executeAction( cTID('Shw '), desc209, DialogModes.NO );
  // Reselect the starting layer
  if ( bgLayerExists ) { lastLayer.isBackgroundLayer = true; }
  selectLayerByID( layer1ID );
  // Select next layer
  try { snl( direction ); } catch(e) {}
  // Store the layer
  var nextLayer = activeLayerID();
  tempDoc.close( SaveOptions.DONOTSAVECHANGES );
  // Try to select the next layer using its ID
  try {
    selectLayerByID( nextLayer );
  }
  // If it fails, well assume it did so because it was a background layer... and use another method for selecting that.
  catch(e) {
    var desc299 = new ActionDescriptor();
        var ref187 = new ActionReference();
        ref187.putName( cTID('Lyr '), "Background" );
    desc299.putReference( cTID('null'), ref187 );
    desc299.putBoolean( cTID('MkVs'), false );
        var list138 = new ActionList();
        list138.putInteger( 1 );
    desc299.putList( cTID('LyrI'), list138 );
    executeAction( cTID('slct'), desc299, DialogModes.NO );
  }
  
  function snl( direction ) {
    
    var select;
    if ( direction == 'up' || direction == 'above' ) {
      select = cTID('Frwr');
    }
    else if ( direction == 'down' || direction == 'below' ) {
      select = cTID('Bckw');
    }
    
    var desc67 = new ActionDescriptor();
    var ref41 = new ActionReference();
    ref41.putEnumerated( cTID('Lyr '), cTID('Ordn'), select );
    desc67.putReference( cTID('null'), ref41 );
    desc67.putBoolean( cTID('MkVs'), false );
    var list17 = new ActionList();
    list17.putInteger( 5 );
    desc67.putList( cTID('LyrI'), list17 );
    executeAction( cTID('slct'), desc67, DialogModes.NO );
  }
  
  function activeLayerID() {
      var ref = new ActionReference();
      ref.putProperty( charIDToTypeID("Prpr") , charIDToTypeID( "LyrI" ));
      ref.putEnumerated( charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") );
    return executeActionGet(ref).getInteger( stringIDToTypeID( "layerID" ) );
  }
  
  function selectLayerByID(id, add){
     add = (add == undefined) ? add = false : add;
     var ref = new ActionReference();
     ref.putIdentifier(cTID('Lyr '), id);
     var desc = new ActionDescriptor();
     desc.putReference(cTID('null'), ref);
     if(add){
        desc.putEnumerated(sTID('selectionModifier'), sTID('selectionModifierType'), sTID('addToSelection'));
     }
     desc.putBoolean(cTID('MkVs'), false);
     executeAction(cTID('slct'), desc, DialogModes.NO);
  }
  
}