Automatice el reemplazo de objetos inteligentes en Photoshop

Estoy involucrado en la producción de un dispositivo de pantalla táctil. Nuestro flujo de trabajo para diseñar los gráficos de la interfaz es crear los botones, el texto, etc. en Illustrator, llevarlo a Photoshop como objetos inteligentes y luego aplanar los objetos inteligentes, pero más allá de eso, no es pertinente para esta pregunta. [EDITAR: Cada pantalla se guarda como un archivo de Photoshop independiente.]

Estoy buscando una aplicación o algo para automatizar parte de este proceso.

Queremos configurar un documento maestro de Illustrator que contenga todos los estilos de botones que existen en el dispositivo, encapsulados en grupos. Además, queremos tener una base de datos que contenga los valores X, Y, Ancho y Alto para cada copia de cada botón. Me refiero a los campos que se pueden ver en Photoshop cuando la herramienta Transformar está activa, en la imagen:

ingrese la descripción de la imagen aquí

Entonces, si actualizamos un estilo de botón en el archivo maestro de Illustrator y presionamos "ejecutar" o algo así, reemplazaría cada instancia del botón con la versión actualizada. De esa forma, si actualizamos uno de los estilos de botón, no tenemos que pasar por las 700 instancias del botón y reemplazarlas manualmente.

Entonces, si puede sugerir una aplicación que pueda ayudar con esto, se lo agradecería mucho. Además, si puede sugerir un mejor lugar para hacer esta pregunta, también se lo agradecería.

¡Gracias!

Es posible que le interese parte de la discusión aquí para encontrar la mejor solución para usted. En última instancia, Photoshop no es un programa de diseño, por lo que está tratando de forzar una función no nativa en él. forums.adobe.com/message/3057114

Respuestas (3)

¿Por qué saltar a Photoshop para hacer el diseño? Si está creando el arte en Illustrator para empezar, quédese con Illy. Es mucho más apto para la tarea. Puede colocar su arte como enlaces o simplemente mantener sus estilos en un solo documento (suponiendo que su aplicación no sea demasiado grande).

Una solución [dolorosa] para hacer que Photoshop haga cosas poco naturales son las variables . Solo haría esto cuando Photoshop sea absolutamente necesario. Aquí están los conceptos básicos de ese enlace:

Paso 1: Definir Variables

Cree capas con los nombres de las variables.

Configurar capas variables

Vaya a Imágenes > Variables > Definir. Ahora seleccione la capa que se llama varHeader en el menú desplegable, haga clic en la casilla de verificación Reemplazo de píxeles y asigne a la variable un nombre relevante. Me gusta usar el método "tal cual" para que el archivo importado no cambie de tamaño. El archivo importado se alinea en relación con los límites del archivo en el que se encuentra. En el caso de un encabezado, me gusta elegir la esquina superior izquierda de la cuadrícula para que mi archivo de encabezado siempre se alinee correctamente.

Definir variables

Haga clic en el botón Siguiente.

Paso 2: crear conjuntos de datos

Los conjuntos de datos son simplemente grupos de datos presentados en forma tabular. Para crear un conjunto de datos, haga clic en el ícono pequeño del disco duro con una flecha apuntando hacia él. Asigne al conjunto de datos un nombre que cualquiera pueda entender. En el cuadro Variables, asegúrese de que el encabezado esté seleccionado y configure el Valor seleccionando el archivo que desea importar. A continuación, puede ver el nombre de la variable, el nombre del archivo y la capa a la que están asociados a continuación.

Crear conjunto de datos

Haga clic en Aplicar, luego haga clic en Aceptar.

¡Eso es todo! Su primera variable está vinculada a un archivo externo. Replique el proceso para vincular variables adicionales a sus archivos asociados.

Paso 3: aplicar el conjunto de datos

El objetivo de esto es la capacidad de actualizar sus diseños fácilmente cuando se realizan cambios en los archivos externos/importados. Simplemente abra el archivo de diseño y vaya a Imagen > Aplicar conjunto de datos. Seleccione el conjunto de datos para actualizar y haga clic en Aplicar.

Gracias por tomarse el tiempo para responder. La razón por la que ingresamos a Photoshop es que las estructuras de nomenclatura y agrupación son parte integral de la exportación a nuestro entorno de desarrollo, donde el diseño se encuentra con la lógica. Un problema que me encuentro con esto es que solo parece ser posible con capas ráster, no con objetos inteligentes.
No estoy seguro de entender tu situación. ¿Quiere exportar en función de grupos de capas o algo por el estilo? Si pudiera formular una nueva pregunta sobre la exportación de activos con nombre desde Illustrator, creo que podría tener una solución con guión para usted.

Dado que presumiblemente tiene un montón de desarrolladores a mano, tal vez pueda persuadir a alguien para que ingrese al DOM de Photoshop y escriba un javascript personalizado. No creo que sea demasiado complejo, y ciertamente no es imposible.

Un enfoque alternativo, si entiendo correctamente su flujo de trabajo (un solo archivo maestro de IA que controla todos los PSD), sería configurar una Acción que reemplace el contenido del SO (Capa> Objetos inteligentes> Reemplazar contenido) y guarde el expediente.

En lugar de simplemente guardar su edición nuevamente en el PSD, lo que lo obliga al escenario Copiar/Pegar, guarde como standard_filename.aien su carpeta maestra y haga que la Acción se dirija a ese archivo explícitamente.

Seleccione todos los PSD, luego use el script por lotes en Bridge ( Tools > Photoshop > Batch...) para ejecutar la acción en todos ellos de una sola vez.

Simplemente podría usar un objeto inteligente dentro de Photoshop.

Por ejemplo:

Configure su archivo de Illustrator con todos los botones:

botones

Abra el archivo de Photoshop y simplemente elija Archivo > Colocar y coloque el archivo de Illustrator (como un objeto inteligente):

así que primero

Ahora puede enmascarar las partes que no necesita y duplicar, reposicionar y escalar el objeto inteligente tantas veces como sea necesario:

duplicados

En este punto, actualizar cualquiera de los elementos del objeto inteligente simplemente requiere hacer doble clic en la miniatura de la capa y luego editar el archivo AI maestro (interno). Una vez que guarda en AI y regresa a Photoshop, todas las capas de objetos inteligentes se actualizan pero las transformaciones no se restablecen. Esto es muy útil simplemente para cambiar la apariencia de los datos de objetos inteligentes sin alterar realmente las dimensiones de los datos internos.

actualizar

Cuando duplica una capa de objeto inteligente en Photoshop, no duplica los datos internos del objeto inteligente. De hecho, crea otra instancia de los mismos datos. Por lo tanto, si se actualizan los datos internos, todas las instancias también se actualizarán.

La parte complicada de hacer las cosas de esta manera es el enmascaramiento. Si tiene muchos elementos, crear una máscara para cada elemento puede llevar un poco de tiempo. Sin embargo, una vez que se generan las máscaras, las actualizaciones futuras son mucho más rápidas de esta manera.

¡Muchas gracias por responder! El problema con el que me encuentro con este enfoque es trabajar en varios archivos de Photosohp. Digamos que screen1.psd y screen2.psd contienen smartObjectA. Si hago doble clic en la copia de smartObjectA en screen1, hago un cambio y guardo el cambio, actualiza el smartObjectA en screen1, pero no actualiza la copia en pantalla2. Necesitaría que la actualización se aplicara a varios archivos de Photoshop. ¿Ves lo que quiero decir?
Ah, sí, eso crea un problema completamente diferente ya que Photoshop almacena los datos SO internamente. No creo que haya otra forma de evitarlo que no sea copiar/pegar entre los objetos inteligentes internos.
Si tiene una IA maestra (que se usa para colocar el SO inicial), puede actualizarla y luego copiar/pegar del archivo de IA maestra a los objetos inteligentes internos. Nunca he visto ninguna secuencia de comandos o procesos automatizados para esto. A diferencia de otras aplicaciones, Photoshop simplemente no tiene un sistema de publicación <> suscripción.
Vea la respuesta de Plaindresses ... tiene algunos buenos enlaces allí.