Prüfen ob ein bestimmter Actor in eine Actorreferenz eines anderen Actors plaziert wird.

  • Hallo zusammen.


    Ich möchte gerne mal etwas ausprobieren.


    Und zwar geht es um folgendes. Ich glaube, jeder hat schon einmal einen Actor im Level positioniert, zum Beispiel für Tag-/Nachtzyklen oder so, bei dem man dann zum Beispiel eine Lichtquelle für die Sonne als Referenz übergibt, vielleicht auch einen Actor bei dem man eine Textur oder was auch immer übergeben muss. Wenn man dann etwas anderes reinpacken will, wird das bereits vom Editor abgelehnt, also ein Directional Light geht natürlich nur in eine Directional Light Refrenzvariable, eine Textur nur in eine Texturreferenz. So weit, so einfach.


    Jetzt möchte ich aber einen Actor schreiben, der andere Actoren aufnimmt, und zwar ganz bestimmte Actoren. Dazu lege ich natürlich eine Variable an, mit Actorreferenz.


    Das Problem dabei ist allerdings, ich kann da jetzt jeden Actor reinpacken. Ich möchte aber nur einen geeigneten Actor reinpacken können und dass falsche Actoren gleich schon bei der Übergabe abgelehnt werden.


    Gibt es da eine Möglichkeit, die beiden Actoren so zu preparieren, dass diese schon im Editor erkannt und entsprechend abgelehnt werden, so wie es auch bei den Beispielen Direrctional Light oder Textur, der Fall wäre?

  • Ja, also der Teil des Projektes ist ja auch BP. Und das mit dem Lightsource hatte ich oben ja auch als Beispiel drin.


    Aber, ich will mal ein Beispiel nennen. Nehmen wir mal an, ich will Bäume platzieren, aber nicht als Foliage, sondern random als Actors. Also, das ist jetzt ein Teil von dem, was ich versuche auszuprobieren, aber die Bäume sind aber ein Teil davon.


    Deswegen wallte ich einen Actor bauen, der verschiedene weitere Actoren spawned. Also neben Bäumen halt auch Blumen, Gras, Steine. Leider ist das Ganze so aufgebaut, dass es mit Foliage nicht funktioniert, weil ich eine massive Welt generieren will.


    Deswegen würde ich den Spawnactor so schreiben, dass er halt verschiedene Actoren aufnehmen kann, für Bäume, Gräser, Blumen ... na usw.


    Nun will ich aber auch sicherstellen, dass nur der richtige Actor in den richtigen Slot verbunden werden kann. Also eine Variable, z.B. mit dem Namen "Bäume", kann ich ja als Actor Objectreference deklarieren. Aber dann kann ich eben halt auch ausversehen Steine, Blumen oder so reinpacken.


    Ich dachte vielleicht auch schon daran, dass ich eine neue Actorbase erstellen kann, mit einem neuen Typ, und auf den dann die Reference lege. Aber, wenn das gehen sollte, habe ich noch nicht ganz raus wie. Mein Grundgedanke war halt, dass eine Lichtquelle halt auch ein Actor von spezifischem Typ ist. Aber selber so einen spezifischen Typ erstellen, das habe ich noch nicht rausgefunden, ob oder wie das geht.

  • Ja, aber damit ist es für das Einfügen in einen anderen Actor, noch immer nur ein Actor.


    Ich kann deswegen trotzdem nicht sagen, ich hätte gerne nur einen Actor vom Typ Baum oder so in der Variablen. Verstehst du, was ich meine.


    Es gibt ja Actoren verschiedenen Typs, zum Beispiel Pointlight usw. Und wenn du in einem Actor dann halt eine Variable machst, Typ Pointlight, dann kannst du die Variable halt auch nur mit Pointlight füllen, alles andere wird abgelehnt.

  • Würde dann aber nur gehen, wenn ich nur ein BaumBP hätte. Da ich aber am Experimentieren bin, was nun am besten geeignet ist, habe ich davon mehrere, die ich jeweils mit den anderen Komponenten gegenseitig austauschen will, um auszuprobieren, was nun die besten Ergebnisse bringt, in den jeweiligen Konfigurationen.


    Deswegen wollte ich ja die Sicherheit ausbauen, dass ich da nicht aus Versehen irgendetwas Falsches weitergebe. Wenn ich da so am hin und her wursteln bin, etwas unachtsam vielleicht, dann lege ich vielleicht auch mal was falsch ab. Wenn ich nur eine BaumBP hätte, die würde ich dann ja in den Actor weitergeben und gut ist.


    Das ganze sollte also nur zur Sicherheit vor meiner Schusseligkeit dienen.

  • Hmmmm ja was soll ich sagen, du kannst dir ne neue Klasse bauen. Muss ja nicht nur fuer Baum sein, kannst ja auch per Parameter steuern welches Mesh da drin sein soll. Ja oder du nimmst einfach Actor und passt halt auf was du tust. Es is alles moeglich. Was du draus machst ist dir ueberlassen.