Verwenden Sie Unity, um das Spiel vor dem Packen normal laufen zu lassen und nach dem Packen die Lösung für den Logikfehler zu finden

1. Situationsbeschreibung

        Nachdem ich als Unity-Neuling einige grundlegende Operationen von C# und Unity gelernt hatte, wollte ich sehen, wie das Spiel nach dem Packen aussieht, also ging ich online, um das Prozesspaket zu finden. Der Referenzartikel lautet wie folgt: (10 Nachrichten ) [Transfer] Unity Works Packaging_Unity Packaging Project_Little Girl's großer Blog-CSDN-Blog

        Der gesamte Prozess zur Behebung des im Titel beschriebenen Problems ist wie folgt:

        Zu Beginn wusste ich nicht, wo die Skriptdateien gespeichert werden sollten, daher befanden sich alle meine Skriptdateien zu Beginn auf derselben Ebene wie der Ordner „Assets“. Infolgedessen trat beim Packen ein Fehler wie folgt auf:

        Die allgemeine Bedeutung der Übersetzung lautet: „Wenn der Editor Ressourcen importiert oder Skripte kompiliert, kann es nicht gepackt werden“ (dies ist meine eigene Übersetzung, ich weiß nicht, ob sie richtig ist), also habe ich nach einer Lösung für dieses Problem gesucht und gefunden Das Ergebnis ist, dass ich alle meine Skriptdateien im Editor-Ordner unter dem Assets-Ordner speichern muss, um diesen Fehler zu beheben . Also habe ich einen neuen Editor-Ordner unter dem Assets-Ordner erstellt und alle Skriptdateien dorthin verschoben.

        Nach dem erneuten Packen tritt kein Fehler auf und es wird auch eine Exe-Datei des Spiels generiert. Aber! ! ! Als ich die Exe-Datei des Spiels gefunden und geöffnet habe (ich habe sowohl den normalen Modus als auch den Administratormodus ausprobiert, das Ergebnis ist das gleiche), wurde keine meiner Spiellogiken ausgeführt. Ich fand es sehr seltsam, offensichtlich beim Ausführen des Spiels in Unity , die Logik ist sehr normal, warum die Logik nach dem Packen nicht ausgeführt wird, ist empörend! ! ! Also habe ich im Internet nach einer Lösung gesucht, und jetzt werde ich meine Lösung zusammenfassen.

Zweitens, die Lösung

1. Verwenden Sie kein Chinesisch, um etwas zu benennen

        Als ich online nach einer Lösung suchte, ähnelten die Schlüsselwörter am Anfang dem Titel meines aktuellen Artikels. Die meisten Ergebnisse, die ich fand, besagten, dass keine chinesischen Namen wie Namespaces in Skripten, Skriptdateinamen usw. verwendet werden sollten. Verwenden Sie im Verlauf des gesamten Spielprojekts nicht einmal Chinesisch.

        Mein Vorschlag ist, kein Chinesisch zu verwenden, da Chinesisch manchmal bei der Identifizierung von Namen nicht richtig erkannt wird, daher ist es besser, es nicht zu verwenden. Das Problem meines Projekts liegt jedoch nicht hier, da ich selbst diesem Punkt große Aufmerksamkeit schenke und bei der Benennung kein Chinesisch verwendet habe.

2. Legen Sie die Skriptdatei im richtigen Ordner ab

        Das Problem mit meinem Projekt liegt darin.

        Wie ich bereits sagte, habe ich meinen Verpackungsfehler dadurch behoben, dass ich die Skriptdateien in den Editor-Ordner verschoben habe. Leider sind nach dem Packen alle Inhalte im Editor-Ordner, einschließlich des Editor-Ordners, ungültig. Diejenigen, die darauf reagieren Spielszenen können so verstanden werden, dass sie überhaupt nicht existieren. Manche Leute würden vielleicht sagen: Verschieben Sie einfach alle Skriptdateien heraus und legen Sie sie in anderen Ordnern ab. NEIN! so nicht. Bevor ich eine Lösung vorschlage, möchte ich darüber sprechen, warum Unity den zuvor erwähnten Fehler beim ersten Packen gemeldet hat.

        Nachdem wir eine neue C#-Skriptdatei in Unity erstellt haben, werden wir feststellen, dass die Skriptdatei einen Namespace namens „UnityEditor.VersionControl“ hinzugefügt hat. Dieser Namespace kann nur im Unity-Editor verwendet werden und kann nicht ohne den Unity-Editor verwendet werden. , und die Skriptdateien, die diesen Namespace hinzufügen, müssen im Editor-Ordner abgelegt werden, da der Editor-Ordner der Ordner ist, der zum Speichern der Erweiterungsskripte des Unity-Editors verwendet wird. Wenn sie nicht im Editor -Ordner abgelegt werden, tritt im Paket ein Fehler auf Ich habe bereits erwähnt, dass es erscheinen wird. Dies ist der ultimative Grund für den vorherigen Fehler.

        Zum jetzigen Zeitpunkt verstehen wir, dass Ihre Skriptdatei, wenn sie den Namespace „UnityEditor.VersionControl“ verwenden muss, im Editor-Ordner abgelegt werden muss, andernfalls wird beim Packen ein Fehler gemeldet ; andernfalls, wenn Ihre Skriptdatei nicht enthält Wenn Sie Wenn Sie den Namespace „UnityEditor.VersionControl“ verwenden müssen, sollten Sie die Referenzanweisung dieses Namespace löschen oder auskommentieren und dann die Skriptdatei aus dem Editor-Ordner in einen anderen Ordner verschieben .

        Da meine Skriptdateien nicht den Namensraum „UnityEditor.VersionControl“ verwenden müssen, habe ich meine ultimative Lösung gefunden, die darin besteht, „using UnityEditor.VersionControl;“ zu löschen oder auskommentieren und dann im Ordner „Assets“ einen neuen Ordner „Skripte“ zu erstellen ( Andere Namen sind ebenfalls verfügbar. Ich verwende nur diesen Namen, weil die Semantik von Skripten leichter zu verstehen ist.) und verschiebe dann alle Skriptdateien im Editor-Ordner in diesen Skriptordner.

3. Fazit

        Obwohl die Probleme, auf die ich beim Packen gestoßen bin, bisher gelöst wurden, lösen meine Methoden möglicherweise nur die Probleme von mir und einigen Menschen. Wenn Sie das Problem, auf das Sie gestoßen sind, nach dem Lesen dieses Artikels immer noch nicht lösen können, empfehle ich Ihnen, die Lösungen anderer Leute zu finden oder auf diesen Artikel zu verweisen (Link unten, dieser Artikel hat mir dieses Mal sehr geholfen. Große Hilfe), kurz gesagt: Gib nicht so schnell auf, denn es gibt immer mehr Lösungen als Schwierigkeiten, hahahaha. Wenn Sie Fragen zu der oben vorgeschlagenen Lösung haben oder mir ein Fehler unterlaufen ist, posten Sie bitte Ihre Kommentare im Kommentarbereich und lassen Sie es mich wissen. Vielen Dank im Voraus~

(11 Nachrichten) Unity Common Folder_Unity Folder_Prudence's Blog-CSDN Blog

        Die Referenzartikel in diesem Artikel enthalten alle Links im Text und es werden hier keine weiteren Links hinzugefügt.

Supongo que te gusta

Origin blog.csdn.net/hotdogbs/article/details/129333755
Recomendado
Clasificación