Interface triggert nicht

  • Hallöchen, wieder mal ne einfache Frage: Wieso triggert mein Event nicht. Hier die Screenshots:

    Habe versucht es mit Print String zu analysieren. Hinter dem Interface Message zeigt er mir die Nachricht am Bildschirm an, hinter dem Event INteract, des zweiten Blueprints leider nicht. Deswegen meine Vermutung dass irgendwo dazwischen der Hund begraben liegt. Keine Ahnung wie ich das beheben kann. Vielleicht hatte der oder die andere von euch schon einmal dasselbe Problem. Bin für jeden Ratschlag dankbar.

    Schönen Tag euch allen

  • Hallo


    Zunächst hast du ein Interactor als Argument in der "Interact" Message. Den übergibst du aber gar nicht, machst aber im zweiten Screen etwas damit. Zusätzlich ist nicht sichergestellt, dass der Actor den du im ersten Screen Traced überhaupt das Interface implementiert.


    Du kannst das Problem analytisch lösen indem du es Debuggst. Schritt für Schritt. Dazu kannst du rechts klicken auf das Interact im ersten Screen -> Add Debug Point. Dasselbe im zweiten bei Add To Inventory.


    Wenn du jetzt das Spiel startest, kannst du den Code Schritt für Schritt ausführen.


    Gruss

  • Danke für die Tipps. Vermutlich falschen Screenshot aufgenommen. Habe auch versucht den HitActor des BreakHitResult in den INteractor zu verknüpfen. Hatte auch nicht den gewünschten Effekt.

    Zum ersten Screenshot sei noch zu sagen, dass ich hinter den Completed des For each loop with break, einen print string angeknüpft habe, dieser wurde ausgeführt, deswegen glaube ich schon, aber vielleicht liege ich da wieder mal falsch, dass das Interface implementiert wird.

    Den Tipp, mit dem Debuggen werde ich mal ausprobieren, kenne ich nicht. Danke

    Danke für den Tipp mit dem Debbugen. Habe beim CapsuleTraceByChanel einen eingesetzt und da hat er das Spiel pausiert, beim INteract Message macht er gar nix. Wo könnte dann das Problem liegen?

    Schönen Tag euer Marc

  • Ich verstehe nicht, wieso du den getroffenen Actor nimmst und statt diesen zu benutzen, alle anderen durch testest, die mit ihm überlappen...

    Scheint mir wie ein Glücksspiel zu sein ^^



    Wieso stöpselst du den getroffenen Actor nicht einfach als "Interactor" rein und löschst dafür den Loop?

    Würde evtl. auch helfen, dem Actor ne eindeutige Colli zu verpassen und dann nur danach zu tracen.

  • Habe statt dem get all overlapping actors ein make array eingesetzt und auch dann den loop weggenommen und stattdessen den hitactor als INteractor genommen. Resultat bei beiden Fällen: Keines.

    Wenn ich hinter den INteract Message einen Print string verknüpfe, bekomme ich keine Antwort. Auf keine der Varianten mehr.

  • Habe statt dem get all overlapping actors ein make array eingesetzt

    Wieso?
    Versteh ich jetzt nicht ... du willst doch kein Array, sondern einfach nur nen Actor ^^

    Wenn du jetzt noch sagst, dass du nach dem "MakeArray", ein "Get" drin hast, ruf ich direkt die Klappse an ob sie ne Gummizelle frei haben...

    Wenn ich hinter den INteract Message einen Print string verknüpfe, bekomme ich keine Antwort.

    Dann wird das was du per Trace triffst, einfach nicht das Interface drin haben, was du willst...
    Deshalb auch mein Vorschlag, jedem Actor mit dem du interagieren willst, ne eindeutige Colli zu geben und nur danach zu tracen, dadurch triffst du nur das was die Colli hat und nix anderes ^^


  • Teilweise funktioniert das. Danke

    Habe aber das Problem, dass die Capsule Trace for Objects nicht das Mesh ignoriert, von dem die Startlocation des Traces erfolgt. weder ignore Self, noch eine Reference to self in den Actors to Ignore funktioniert. Habe probiert einen Scene Component einzufügen und ein wenig vom Character entfernt zu platzieren um von dort zu casten, den ignoriert er aber auch nicht.

    Das Problem dabei ist, dass der Trace schon einen Actor erwischt, noch bevor er seinen Weg macht.

    Vielleicht fällt euch dazu was ein. Danke

  • Bralligator Das Problem ist nur, dass er das Visibility bei allem in der Welt raus machen muss, was im Weg sein könnte, egal ob Actor, Landscape, StaticMeshes, Skeletal Meshes, einfach komplett alles, weil ja alles bei ner Capsule von der Größe, im Weg steht ^^


    Will er dann aber doch was anderes per Visibility tracen, wird er es nicht treffen, weil es ja aus ist...



    Wobei ich auch nicht verstehe, wieso man mit ner Capsule tracen muss, die 2m hoch ist und 1m breit, aber gut, braucht er wohl...

  • Habe wie du geschrieben hast einen Capsule Trace for Objects und in den Object Types nur World Static und World Dynamic. Das Charactermesh hat Collision Object Type Pawn. Funkt trotzdem nicht.

    Keine Ahnung wie ich eine eigene Collision mache. Habe auch versucht den Collision Preset des CharacterMeshes zu ändern war am Anfang auf Custom, funkt auch nicht.

  • So nun funkt alles. Hab nachgesehen welchen Actor er trifft. War das Landscape. Funktioniert, falls ich die Capsule kleiner mache, oder aber in den Object Types nur Worlddynamic belasse.

    Danke für die Hilfe,

    Ein Tipp, falls jemand mal ähnliche Probleme hat, einfach den Hit actor des Break hit result an einen Printstring verknüpfen. So sieht man, welcher Actor getroffen wird. Einfach aber hilfreich.

    P.S.: Ich weiß ich bin kein leichter Fall, aber sonst wäre das Leben ja fad *dead*


    Schönen Tag euer Marc

  • Hab mal ne Nacht drüber geschlafen, mich hatte das Ganze irgendwann voll aufgeregt, weil du nicht der erste diese Woche warst, bei dem ich zu doof zum erklären war...


    Keine Ahnung wie ich eine eigene Collision mache.

    Ok, wusst ich nicht ^^


    Wie mir grad auffiel, hab ich dich aber auch nie nach der Größe gefragt, hehe



    Hier, vielleicht hilfts:

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Irgendwo zeig ich auch wie man ne eigene Colli erstellt ^^

  • Danke Butter Fly. Hast mir das schon super erklärt. Ich war nur zu blöd richtig darauf einzugehen. Nicht immer sind es Verständnisprobleme, ab und zu sind die Leute wirklich zu dumm. Mir passiert so etwas schon öfter.


    Das Video werde ich mir sicher mal ansehen. Gestern hatte ich solche Kopfschmerzen, heute ein wenig besser, doch dafür brauche ich einen freien Kopf, sonst bleibt wieder nichts hängen. Danke, danke auf jeden Fall, dass du nicht aufgibst. Da gehören schon ordentlich Nerven dazu immer wieder allen Leuten immer wieder dasselbe zu erklären und immer wieder kommen die nächsten, nennen wir sie einmal eigenartigen Fragen.


    Wünsch euch auf jeden Fall alles Gute und viel Erfolg. Das Problem hat sich für mich erledigt.


    Ciao