Fehler beim Laden des Plugins SimplexNoise

  • Hallo,


    ich wollte das SimplexNoise Plugin ausprobieren.
    Also habe ich es auf Github runter geladen, entpackt und in den Plugin Ordner des Editors kopiert:
    \Engine\Plugins\Editor\SimplexNoise-master\


    Wenn ich den Editor starte bekomme ich diese Fehlermeldung:
    "Plugin 'SimplexNoise' failed to load because module 'SimplexNoise' could not be found. Please ensure the plugin is properly installed, otherwise consider disabling the plugin for this project."
    Nach dem Klick auf OK bricht das Laden des Editors ab.


    Ich habe das Plugin in Version 4.10.4, 4.12.5 und 4.14.3. versucht - leider bei allen 3 die selbe Message.
    Wer hat eine Idee, was ich da falsch mache?


    Dank an alle Antworten im Voraus. :)

  • Die Fehlermeldung kommt nicht wenn ich versuche das Spiel zu packen.
    Sie kommt bereits wenn ich versuche den Editor zu starten.
    Ich komme also überhaupt gar nicht dazu irgendwelche Plugin- oder PAcking-Einstellungen zu machen weil der Editor gar nicht erst startet.
    Wie ich genau beschrieben habe - beim Start des Editors erscheint diese Meldung und wenn man auf OK klickt geht der Editor zu und das wars.
    Ich habe jetzt auch schon Visual Studio 2015 komplett neu installiert - keine Änderung.

  • Nur mal so als Frage: Wenn du das Plugin aus Github runterlädst ist doch Hauptsächlich nur der SourceCode + Resources drin.
    Wenn das der Fall ist musst du das plugin definitiv noch kompilieren, um die Binaries zu erstellen, die Tatsächlich genutzt werden.


    BTW: Jedes Plugin was einen gültigen Source Ordner hat erscheint auch bei jedem Projekt in der Visual Studio Solution innerhalb des UnrealEngine Projekts. Solange du die Solution so eingestellt hast, dass es bei bedarf auch das UnrealEngine Projekt mit kompiliert sollte beim nächsten compile deines Projekts über Visual Studio das Plugin auch kompiliert werden.

  • Das Plugin ist bereits kompiliert - einfach mal den Github Link anklicken - dort sieht man auch schon die SimplexNoise.uplugin Datei.
    Und wie gesagt, wenn ich den Editor mit Plugin lade - egal ob das Plugin im Editor ist oder im Projekt - bricht der Editor nach der Fehlermeldung ab.


    Mit Visual Studio kenn ich mich nicht aus, da ich Blueprint Entwickler bin und kein C++ beherrsche.
    Was muss ich genau machen, um das Plugin denn nochmal zu kompilieren?
    Welche Dateie soll ich davon in VS laden?

  • *.uplugin ist nur eine Text-Datei welche Daten enthält wie Name und Version des Plugins und welche Module nötig sind, damit die Engine weiß in welcher Reihenfolge die Plugins geladen werden müssen.


    Was wichtig ist ist der Binary Ordner und die darin enthaltenen *.dll


    Um zu compilen reicht es einfach die Solution von irgendeinem Projekt zu laden (*.sln) und von dort aus zu kompilieren:
    Falls du keines hast, machst du einfach ein einfaches C++ Projekt im Editor.
    Danach schiebst du das Plugin in den Plugin Ordner der Engine. Dann musst du auf die neue *.uproject Datei rechtsklicken und auf "Generate Visual Studio project files" klicken. Darauf sollte dir eine neue Solution erstellt werden. Diese öffnest du in Visual Studio. Von dort aus drückst du dann einfach auf Compile. (Build -> Build Solution oder Local Windows Debugger)
    Wenn dann der compile klappt, dann sollte alles erledigt sein. (Wenn nicht bist du aufgeschmissen, wenn du kein C++ kannst, da dir die Fehlermeldungen wahrscheinlich wenig sagen werden.) Überprüfen kannst du das Endergebnis indem du nachschaust ob nun ein Binaries Ordner im Verzeichnis des Plugins ist.


    An sich würde ich dir aber nicht empfehlen ein Plugin zu nutzen, was nur über Source Code (also über github) verfügbar ist, wenn du gar nicht mal verstehst was du da machst. Das wird dich nur noch weiter in Probleme reinreiten lassen.

  • Dank dir für deine Hilfe! :)
    Es gibt zum SimplexNoise leider keine Alternative.
    Außerdem ist es auch nicht wirklich groß.
    So viel Verständniss von Script habe ich, dass ich Kompatiblitätsprobleme nicht auch selber fixen könnte.
    Der C++ Code sieht den Sprachen wie PHP, JS oder Perl schon recht ähnlich und in denen kenne ich mich schon ziemlich gut aus.
    Was mich immer abschreckt sind diese ganzen nötigen Include-Sachen und, dass ein PRojekt so viele unterschiedliche Dateitypen hat, die alle irgendwie anders compiliert werden.
    Das ist halt schon echt anstrengend.
    Ich meine was ist der Unterschied zwischen Datei.cpp und Datei.h ?
    Bzw. anders gefragt warum ist es nötig Aufgaben in diese 2 Dateitypen zu verteilen?
    Der Code sieht in beiden nach C++ aus.
    Naja.. vermute ich werde wohl jetzt auch noch C++ lernen müssen. :/


    Aber ich habe es jetzt geschafft:
    1. Neues Projekt erstellt.
    2. C++ Actor hinzugefügt
    3. Plugin kopiert
    4. VS Files generiert
    5. In VS dann auf das Projekt Solution und Build
    6. Projekt wieder in UE versucht zu laden, geht! :)


    Nun stellt sich die Herausforderung für mich auch mein großes Projekt in VS zu builden.
    Ich werde das morgen mal versuchen, aber ich kann mein Projekt im Moment schon wegen "unknow Error" nicht launchen - da glaub ich jetzt nicht wirklich, dass es bereit wäre in VS gebuildet zu werden.
    Aber mal sehen.
    Vielleicht hast du ja eine IDee wegen dem Launch Problem.
    Die Fixes, die man so in Google lesen kann wie Substance deaktivieren oder Debug-Symbole installieren habe ich alle erfolglos probiert.
    Beim Launch-Versuch bricht dieser nach einigen Minuten mit "unknown error" ab.
    Das Stückweise rauslöschen und neuspeichern des Projektes wäre wirklich nervig.

  • Wenn du etwas programmieren kannst dann geht das ja. C++ zu lernen würde ich dennoch empfelen, da es eine sehr verbreitete Programmiersprache ist. Wenn man schon programmieren kann sollte das recht schnell machbar sein. Etwas kompliziert wären vielleicht konzepte wie Pointer und Referenzen (an sich einfach, aber jeder tut sich zuerst daran schwer, bis es klick macht), jedoch bieten vorallem Spiele sehr gute Beispiele um dies zu verstehen, weil dort der Sinn von Pointern sehr ersichtlich wird. Konzepte wie OOP nutzt du ja in Blueprint dauernd, daher sollte das relativ einfach zu lernen sein.


    Also an sich sind *.cpp und *.h oder *.hpp nicht so verschieden. Mit *.h oder *.hpp sind Header Dateien gemeint, die man über den Include befehl einbindet. *.cpp nutzt man für die eigentlichen Programminhalte, also die Definitionen. Theoretisch kann man da aber auch deklarationen reinpacken, diese können dann aber nicht über nen include in anderen *.cpp dateien eingebunden werden. Genauso kann man auch in eine *.h definitionen reinpacken.
    In der Praxis in UE4 packt man also in die Header-Datei die Klassen-Deklaration, man kann dort also sehen welche Methoden/Funktionen und Variablen eine eine Klasse besitzt, aber nicht was diese genau tun. In der CPP datei ist dann erst definiert, was die Funktionen eigentlich genau machen. D.h. *.h kann man über den include in andere *.cpp oder *.h einbinden, jedoch keine *.cpp. So gibt es weniger Fehlerpotential und man weiß gleich wo man reinschauen muss, wenn man wissen will, was für Variablen/Methoden/Funktionen eine Klasse besitzt, wenn einen die umsetzung selbst nicht interessiert.


    Was dein Launch Problen angeht kann ich gerade nicht helfen, da ich jetzt nicht wirklich weiß worum es da geht. Vielleicht schaue ich mal später da rein.