Skip to main content
Participant
March 18, 2021
Answered

Fehlermeldung bei simpler Expression (Anfänger)

  • March 18, 2021
  • 1 reply
  • 2207 views

Hallo

Ich versuche einem Schulungsvideo zu folgen und habe diese zwei Zeilen 1:1 eingegeben, erhalte aber sofort folgende Fehlermeldung.

After Effects Warnung: Expression deaktiviert.

Fehler in Zeile 1 in Eigenschaft "Grösse" von Ebene 2 ("Formebene 1") in Komposition "Komp 1".

Expression-Ergebnis muss die Dimension "2" haben, nicht "1".

 

Code (Textebene wurde mit dem Lasso ausgewählt. Kann also kein Verschreiber sein). Ich möchte damit nur eine ganz simple Variable bereit stellen.

x = thisComp.layer("Textebene");

Ich habe noch ein fast identisches Beispiel versucht nachzubauen. Auch hier der identische Fehler.

x = thisComp.layer("Textebene").sourceRectAtTime().width;

 

Meine Testdatei besteht gerade aus zwei Ebenen. Eine Textebene mit einem Wort und eine Formebene mit einem Rechteck.

 

Kann mir da jemand helfen? 

This topic has been closed for replies.
Correct answer Mylenium

Die Warnung ist doch eindeutig: es werden zwei Parameter benötigt, X und Y. Alles andere macht absolut keinen Sinn. Und wenn das wirklich in was auch immer für einem Tutorial so falsch gesagt wird, wie du es versuchst zu verwenden, dann ist das Tutorial einfach mal Kacke. Die Minimalvariante sieht so aus:

 

X=thisComp.layer("Textebene").sourceRectAtTime().width;

Y=value[1];

 

[X,Y]

 

Für alles weitere würde man mehr Informationen benötigne. Davon abgesehen einfach mal die Onlinehilfe lesen anstatt blind potenziell fragwürdigen Tutorials nachzuwurzeln...

 

Mylenium

1 reply

Mylenium
MyleniumCorrect answer
Legend
March 19, 2021

Die Warnung ist doch eindeutig: es werden zwei Parameter benötigt, X und Y. Alles andere macht absolut keinen Sinn. Und wenn das wirklich in was auch immer für einem Tutorial so falsch gesagt wird, wie du es versuchst zu verwenden, dann ist das Tutorial einfach mal Kacke. Die Minimalvariante sieht so aus:

 

X=thisComp.layer("Textebene").sourceRectAtTime().width;

Y=value[1];

 

[X,Y]

 

Für alles weitere würde man mehr Informationen benötigne. Davon abgesehen einfach mal die Onlinehilfe lesen anstatt blind potenziell fragwürdigen Tutorials nachzuwurzeln...

 

Mylenium

per.netAuthor
Participant
March 19, 2021

Als Neuling konnte ich mit der Fehlermeldung nicht wirklich was anfangen. Ich war der Meinung 

L = thisComp.layer("Textebene");

erstellt einfach mal eine Variable L, die den Inhalt ("Textebene") hat.

Dass die Deklaration einer leeren Variable schon einen Fehler verursacht hatte, hab ich nicht verstanden.

 

Ich hatte nicht überlegt, dass ich dem Feld «Grösse» mit der Expression einen Wert übergeben muss und wenn da in diesem Feld nichts als eine leere Variable steht, natürlich nichts sinnvolles ausgegeben werden kann.

Das Tutorial war absolut korrekt, ich liess mich beim Schreiben nur davon irritieren, dass die Fehlermeldung aufpoppte, bevor ich die ganze Expression fertig geschrieben hatte, weil ich da zwischendirn mal die Enter Taste gedrückt hatte. Das ganze sieht fertig übrigens so aus und erstellt automatisch einen Rand um den Text, der sich über eine Einstellungsebene mit einem Schieberegler verändern lässt.

L = thisComp.layer("Titel");

X = L.sourceRectAtTime().width;

Y = L.sourceRectAtTime().height;

P = thisComp.layer("Control").effect("Einstellungen für Schieberegler")("Schieberegler");

[X,Y]+[P,P];

 

Deine Antwort hat mir geholfen, das Prinzip der Expressions zu verstehen. 

Herzlichen Dank