Automatisches Ersetzen von Smart Objects in Photoshop

Ich bin an der Produktion eines Touchscreen-Geräts beteiligt. Unser Workflow zum Entwerfen der Grafiken der Benutzeroberfläche besteht darin, die Schaltflächen, den Text usw. in Illustrator zu erstellen, sie als Smart-Objekte in Photoshop einzufügen und die Smart-Objekte später zu reduzieren, aber darüber hinaus ist dies für diese Frage nicht relevant. [BEARBEITEN: Jeder Bildschirm wird als separate Photoshop-Datei gespeichert.]

Ich suche nach einer Anwendung oder etwas, um einen Teil dieses Prozesses zu automatisieren.

Wir möchten ein Master-Illustrator-Dokument einrichten, das alle im Gerät vorhandenen Schaltflächenstile in Gruppen gekapselt enthält. Außerdem möchten wir eine Datenbank haben, die die X-, Y-, Breiten- und Höhenwerte für jede Kopie jeder Schaltfläche enthält. Ich beziehe mich auf die Felder, die in Photoshop angezeigt werden können, wenn das Transformationswerkzeug aktiv ist, abgebildet:

Geben Sie hier die Bildbeschreibung ein

Wenn wir also einen Schaltflächenstil in der Illustrator-Masterdatei aktualisieren und auf „Ausführen“ oder so klicken, wird jede Instanz der Schaltfläche durch die aktualisierte Version ersetzt. Wenn wir also einen der Schaltflächenstile aktualisieren, müssen wir nicht alle 700 Instanzen der Schaltfläche durchgehen und sie manuell ersetzen.

Wenn Sie also eine Anwendung vorschlagen können, die dabei helfen könnte, würde ich mich sehr darüber freuen. Wenn Sie einen besseren Ort zum Stellen dieser Frage vorschlagen können, würde ich mich auch darüber freuen.

Vielen Dank!

Vielleicht interessieren Sie sich für einige der Diskussionen hier, um die beste Lösung für Sie zu finden. Letztendlich ist Photoshop kein Layoutprogramm, also versuchen Sie, eine nicht native Funktion darin zu erzwingen. forums.adobe.com/message/3057114

Antworten (3)

Warum zu Photoshop springen, um das Layout zu erstellen? Wenn Sie die Grafik zunächst in Illustrator erstellen, bleiben Sie bei Illy. Es ist viel besser geeignet für die Aufgabe. Sie können Ihre Kunst als Links platzieren oder einfach Ihre Stile in einem Dokument verwalten (vorausgesetzt, Ihre Anwendung ist nicht zu groß).

Eine [schmerzhafte] Problemumgehung, um Photoshop dazu zu bringen, unnatürliche Dinge zu tun, sind Variablen . Sie würden dies nur tun, wenn Photoshop unbedingt erforderlich ist. Hier sind die Grundlagen von diesem Link:

Schritt 1: Variablen definieren

Erstellen Sie Ebenen mit den Variablennamen.

Variable Ebenen einrichten

Gehen Sie zu Bilder > Variablen > Definieren. Wählen Sie nun die Ebene mit dem Namen varHeader in der Dropdown-Liste aus, klicken Sie auf das Kontrollkästchen Pixelersatz und geben Sie der Variablen einen relevanten Namen. Ich verwende gerne die Methode „As Is“, damit die Größe der importierten Datei nicht geändert wird. Die importierte Datei wird relativ zu den Grenzen der Datei ausgerichtet, in der sie platziert wird. Bei einer Kopfzeile wähle ich gerne die obere linke Ecke des Rasters aus, damit meine Kopfzeilendatei immer korrekt ausgerichtet wird.

Variablen definieren

Klicken Sie auf die Schaltfläche Weiter.

Schritt 2: Datensätze erstellen

Datensätze sind einfach Gruppen von Daten, die in Tabellenform dargestellt werden. Um einen Datensatz zu erstellen, klicken Sie auf das kleine Festplattensymbol mit einem Pfeil, der darauf zeigt. Geben Sie dem Datensatz einen Namen, den jeder versteht. Stellen Sie sicher, dass im Feld „Variablen“ die Kopfzeile ausgewählt ist, und legen Sie den Wert fest, indem Sie die Datei auswählen, die Sie importieren möchten. Sie können dann den Variablennamen, den Dateinamen und den Layer sehen, mit dem sie unten verknüpft sind.

Datensatz erstellen

Klicken Sie auf Übernehmen und dann auf OK.

Das ist es! Ihre erste Variable ist mit einer externen Datei verknüpft. Replizieren Sie den Prozess, um zusätzliche Variablen mit den zugehörigen Dateien zu verknüpfen.

Schritt 3: Datensatz anwenden

Der springende Punkt dabei ist die Möglichkeit, Ihre Designs einfach zu aktualisieren, wenn Änderungen an den externen/importierten Dateien vorgenommen werden. Öffnen Sie einfach die Designdatei und gehen Sie zu Bild > Datensatz anwenden. Wählen Sie den zu aktualisierenden Datensatz aus und klicken Sie auf Übernehmen.

Vielen Dank, dass Sie sich die Zeit genommen haben, um zu antworten. Der Grund, warum wir Photoshop verwenden, ist, dass Benennungs- und Gruppierungsstrukturen ein wesentlicher Bestandteil des Exports in unsere Entwicklungsumgebung sind, in der das Design der Logik entspricht. Ein Problem, auf das ich dabei stoße, ist, dass es nur mit Rasterebenen möglich zu sein scheint, nicht mit Smart Objects.
Ich bin mir nicht sicher, ob ich deine missliche Lage verstehe. Sie möchten nach Ebenengruppen oder ähnlichem exportieren? Wenn Sie eine neue Frage zum Exportieren benannter Assets aus Illustrator formulieren könnten, hätte ich vielleicht eine skriptbasierte Lösung für Sie.

Da Sie vermutlich einen Haufen Entwickler zur Hand haben, können Sie vielleicht jemanden überreden, in das Photoshop-DOM einzusteigen und ein benutzerdefiniertes Javascript zu schreiben. Ich denke nicht, dass es zu komplex wäre, und es ist sicherlich nicht unmöglich.

Ein alternativer Ansatz, wenn ich Ihren Workflow richtig verstehe (eine einzelne Master-AI-Datei, die alle PSDs steuert), wäre das Einrichten einer Aktion, die den Inhalt des SO ersetzt (Ebene > Smart-Objekte > Inhalt ersetzen) und speichert Datei.

Anstatt Ihre Bearbeitung einfach wieder in der PSD zu speichern, was Sie in das Kopieren/Einfügen-Szenario zwingt, speichern Sie unter standard_filename.aiin Ihrem Hauptordner und lassen Sie die Aktion explizit auf diese Datei abzielen.

Wählen Sie alle PSDs aus und verwenden Sie dann das Batch-Skript in Bridge ( Tools > Photoshop > Batch...), um die Aktion auf allen auf einmal auszuführen.

Sie könnten einfach ein Smart-Objekt in Photoshop verwenden.

Zum Beispiel:

Richten Sie Ihre Illustrator-Datei mit allen Schaltflächen ein:

Tasten

Öffnen Sie die Photoshop-Datei und wählen Sie einfach „Datei“ > „Platzieren“ und platzieren Sie die Illustrator-Datei (als Smart-Objekt):

so zuerst

Jetzt können Sie nicht benötigte Teile ausblenden und das Smart-Objekt beliebig oft duplizieren, neu positionieren und skalieren:

dups

An diesem Punkt ist zum Aktualisieren eines der Smart-Objekt-Elemente lediglich ein Doppelklick auf das Ebenen-Miniaturbild und anschließendes Bearbeiten der (internen) Master-AI-Datei erforderlich. Sobald Sie in AI speichern und zu Photoshop zurückkehren, werden alle Smart-Objekt-Ebenen aktualisiert, aber Transformationen werden nicht zurückgesetzt. Dies ist sehr nützlich, um lediglich das Erscheinungsbild intelligenter Objektdaten zu ändern, ohne tatsächlich die Abmessungen der internen Daten zu ändern.

aktualisieren

Wenn Sie eine Smart-Objekt-Ebene in Photoshop duplizieren, duplizieren Sie nicht die internen Smart-Objekt-Daten. Sie erstellen tatsächlich eine weitere Instanz derselben Daten . Wenn also die internen Daten aktualisiert werden, werden alle Instanzen ebenfalls aktualisiert.

Der knifflige Teil bei dieser Vorgehensweise ist die Maskierung. Wenn Sie viele Artikel haben, kann das Erstellen einer Maske für jeden Artikel etwas Zeit in Anspruch nehmen. Sobald die Masken jedoch einmal generiert sind, sind zukünftige Updates auf diese Weise viel schneller.

Vielen Dank für die Beantwortung! Das Problem, auf das ich bei diesem Ansatz stoße, ist das Arbeiten über mehrere Photosohp-Dateien. Angenommen, screen1.psd und screen2.psd enthalten beide smartObjectA. Wenn ich auf die Kopie von smartObjectA in screen1 doppelklicke, eine Änderung vornehme und die Änderung speichere, wird smartObjectA in screen1 aktualisiert, aber nicht die Kopie in Bildschirm2. Ich müsste das Update auf mehrere Photoshop-Dateien anwenden. Verstehst du, was ich meine?
Ahh ja, das schafft ein ganz anderes Problem, da Photoshop die SO-Daten intern speichert. Ich glaube nicht, dass es einen anderen Weg gibt, als zwischen den internen intelligenten Objekten zu kopieren / einzufügen.
Wenn Sie eine Master-AI haben (die zum Platzieren des anfänglichen SO verwendet wird), können Sie diese aktualisieren und dann aus der Master-AI-Datei in die internen Smart-Objekte kopieren/einfügen. Ich habe noch nie Skripte oder automatisierte Prozesse dafür gesendet. Im Gegensatz zu anderen Apps hat Photoshop einfach kein System zum Veröffentlichen <> Abonnieren.
Siehe Antwort von Zivil. Er hat dort ein paar gute Links.