Jump to content
Unity Insider Forum
  • Announcements

    • Lars

      Allgemeine Forenregeln   03/13/2017

      Forenregeln Nimm dir bitte einen Moment um die nachfolgenden Regeln durchzulesen. Wenn du diese Regeln akzeptierst und die Registration fortsetzen willst, klick einfach auf den "Mit der Registrierung fortfahren"-Button. Um diese Registration abzubrechen, klick bitte einfach auf den "Zurück" Button deines Browsers. Wir garantieren nicht für die Richtigkeit, Vollständigkeit und Brauchbarkeit der Nachrichten und sind auch nicht dafür verantwortlich. Die Beiträge drücken die Meinung des Autors des Beitrags aus, nicht zwangsläufig das, wofür die Forensoftware steht. Jeder Nutzer, der denkt, dass ein veröffentlichter Beitrag unzulässig bzw. störend ist, ist aufgefordert uns unverzüglich per E-Mail zu kontaktieren. Wir haben das Recht störende Beiträge zu löschen und bemühen uns, das in einem realistischem Zeitraum zu erledigen (sofern wir beschlossen haben, dass die Löschung notwendig ist). Du akzeptierst, durchgehend während der Nutzung dieses Services, dass du dieses Forum nicht dazu missbrauchen wirst, Inhalte zu veröffentlichen, welche bewusst falsch und/oder verleumderisch, ungenau, beleidigend, vulgär, hasserfüllt, belästigend, obszön, sexuell belästigend, bedrohlich, die Privatsphäre einer Person verletzend oder in irgend einer Art und Weise das Gesetz verletzen. Des Weiteren akzeptierst du, dass du keine urheberrechtlich geschützte Inhalte ohne Erlaubnis des Besitzers in diesem Forum veröffentlichst. Mit dem Klick auf den "Mit der Registrierung fortfahren"-Button, akzeptierst du zudem unsere Datenschutzerklärung und stimmst der Speicherung deiner IP-Adresse und personenbezogenen Daten zu, die dafür benötigt werden, um dich im Falle einer rechtswidrigen Tat zurückverfolgen zu können bzw. permanent oder temporär aus dem Forum ausschließen zu können. Es besteht keine Pflicht zur Abgabe der Einwilligung, dies erfolgt alles auf freiwilliger Basis.   Zusatzinformationen Der Forenbetreiber hat das Recht, Nutzer ohne Angabe von Gründen permanent aus dem Forum auszuschließen. Des Weiteren hat er das Recht, Beiträge, Dateianhänge, Umfrage, Blogeinträge, Galleriebilder oder Signaturen ohne Angabe von Gründen zu entfernen. Mit der Registrierung verzichtest du auf alle Rechte an den von dir erstellten Inhalten, bzw. treten diese an das Unity-Insider.de und Unity-Community.de ab. Dies bedeutet im Klartext, dass das Unity-Insider.de und Unity-Community.de frei über deine Texte verfügen kann, sofern diese nicht wiederum die Rechte anderer verletzen. Es besteht weiterhin kein Anspruch von registrierten Nutzern bzw. ehemaligen registrierten Nutzern darauf, dass erstellte Inhalte und/oder die Mitgliedschaft (User) wieder gelöscht werden (Erhaltung der Konsistenz dieses Forums).   Einwilligungserklärung Wenn du mit der Speicherung deiner personenbezogenen Daten sowie den vorstehenden Regeln und Bestimmungen einverstanden bist, kannst du mit einem Klick auf den Mit der Registrierung fortfahren-Button unten fortfahren. Ansonsten drücke bitte Zurück. Stand: 07.03.2011

StefanD

Members
  • Content count

    12
  • Joined

  • Last visited

Community Reputation

0 Neutral

About StefanD

  • Rank
    Member

Recent Profile Visitors

119 profile views
  1. TileMap AlphaBlending

    Okay, dann sage ich nochmal vielen Dank. :-) Ich habe leider gerade kein Unity dabei, kann daher erst am Freitag mit deinem Beispiel spielen. Du bist mir aber mit deinen Beiträgen zu schnell XD, da komm ich ja gar nicht mehr mit. Habe mir aber jetzt den Code schon mal angeschaut. Hab das ganze aber noch nicht so wirklich verstanden. Ich glaube auch nur anhand des Codes komme ich da auch nicht wirklich dahinter. Ich muss das ganze dann mal sehen und an paar Werten drehen. Bin aber auch erst ganz am Anfang mit den ganzen Shader Sachen. Wo kommen den in dem Shader die Variablen (_border1, border2, ...) her? Müssten die nicht als Property definiert sein? Mit der Farbe sehe ich das du das genauso wie ich versuchst und den Wert auf 0 ... 1 normierst. Ich habe durch 100 geteilt und du multplizierst mit 0,1. Wie aber dann die Farbe im Shader wieder zu einer Texture ID umgewandelt wird finde ich nicht. Oder soll das immer dieser Teil sein und mit _border wird bestimmt im welchem Bereich die Texture ID = 0,1,2 oder 3 ist? uvTop.z = 3; if (i.color.b <= 0.2) uvTop.z = 2; if (i.color.b > _border1 && i.color.b < _border2) uvTop.z = 1; if (i.color.b < _border3) uvTop.z = 0; Wie gesagt im Detail kann ich mir das leider erst am Wochenende anschauen. Gruß Stefan
  2. TileMap AlphaBlending

    Oha, das sieht ja so aus als hätte ich dich mit meinem Problem den ganzen Tag beschäftigt. Vielen Danke erst mal für die Unterstützung. Das Ergebniss ist ja auch schon beeindruckend. ich habe gestern auch ewig versucht das hinzubekommen, bin aber immer schon daran gescheitert, das ich die Indizies nicht als Farbe übergeben bekommen habe. Alleine damit, dass das ganze so umsetztbar ist hast du mir schon viel geholfen. Jetzt muss ich mich dann hinsetzen und das ganze auch noch soweit hinbekommen. :-) Was ist den aktuell deine Einschätzung. Ist das Vorgehen so brauchbar oder ist das eher zu umständlich / kompliziert und ressourcenintensiv (aus Performancesicht)? Gibt es deine aktuelle Version irgendwo zum runterladen? Zumindest den Shader, bzw. wie du aus der Farbe den Index gebildet hast? Falls ich dich mal bei irgendetwas unterstützen kann, dann schreib einfach, wobei meine Kentnisse hier bei weitem nicht so gut sind wie deine. Gruß Stefan
  3. TileMap AlphaBlending

    Danke für die ganze Hilfe Zer0Cool. Ich habe jetzt mal eine Test Applikation geschrieben. Da ich nicht weiß wo ich die hier hochladen kann habe ich die bei Bitbucket als GIT Repository hochgeladen. Link: https://bitbucket.org/StefanDu/tilemap_example Ich bin zwar selber auch noch am ausprobieren und habe auch schon alle Möglichen ungewollten Effekte geschafft aber nicht das was ich eigentlich wollte. Das hier find ich z.B. ganz gut gelungen, obwohl hier eigentlich nur schwarz und dunkelblau drauf sein soll.... Warum dort die ganzen anderen Farben droben sind bin ich noch am rätseln. Aber wie es aussieht funktioniert das mit den Farben als Index nicht. Edit: Was ich noch sagen wollte ist, der Code in dem Repository ist stark vereinfacht was alles außen Rum angeht. ich habe hier nur die Teile hochgeladen die für das Problem relevant sind, falls noch etwas benötig werden sollte einfach schreiben.
  4. TileMap AlphaBlending

    Ich bin mir nicht ganz sicher ob ich das richtig verstanden habe. Glaube eher nicht, weil ich bei mir die Nachbar Nummer nicht brauchen würde. Hier einmal skizziert wie ich mir das jetzt gerade vorstelle. Also jedes Vertex (Eckpunkt eines Dreiecks) hat die folgenden Daten. TextureArray mit allen Texturen. BlendMask zum überblenden der Texturen. UV Position der Texturen im Dreieck. Color Jeder Kanal als ID für die jeweilige Textur. Mithilfe des "TextureArray" und der Farbinformation in "Color" können dann die einzelnen 4 Texturen im VertexShader bestimmt werden. Mit "UV" kann die Position der Texture auf dem Vertex ermittelt werden. Z.B. Oben links => UV = 0 / 1 Damit können dann die 4 TexCoords berechnet werden. Diese ergibt sich immer aus "UV" und in der Koordinate Z die TextureID. Diese 4 TexCoords werden an den Fragment Shader übergeben. Hier wird zusammen mit der BlendMask für jedes Pixel die Farbe bestimmt. Ist das so richtig und umsetzbar? Oder habe ich etwas falsch verstanden? Werde ich gleich mal versuchen so umzusetzen.
  5. TileMap AlphaBlending

    Okay hier einmal zwei Bilder die zeigen wie das ganze aktuell aussieht. Original (1. Shader): Mit Alpha Map und Blending (2.Shader) Wie man sieht sind in dem 2 Bild die Übergänge zwischen den Typen schon schöner. Das verhalten würde ich gerne für alle 8 Nachbarn hinbekommen, das es überall gut aussieht. Natürlich sind die Texturen und die AlphaMap noch nicht wirklich gut. Genau das was du geschrieben hast ist korrekt. Mein Mesh besteht aus lauter Dreiecken, wobei immer 2 Dreiecke ein Tile entsprechen. Diesem gebe ich dann immer die UVs von 0 -1 mit um die Gesamte Texture auf die Dreiecke zu rendern. Ursprünglich war mal jedes Tile ein GameObject, was ich aber in dem selben Zug geändert habe. Hier mal der Code wie ich aktuell das Mesh und die Texture Koordinaten erzeuge. Ist leider nicht so richtig gut kommentiert, da ich aktuell am testen bin wie ich das am besten lösen kann. Ich hoffe das man das trotzdem versteht. Sonst bei Fragen einfach Fragen. public class TileMesh : MonoBehaviour { Mesh mesh; MeshCollider meshCollider; MeshRenderer meshRenderer; List<Vector3> vertices; List<int> triangles; Dictionary<ITileType, int> textureMap; Texture2DArray textureArray; List<Vector3> uv; List<Vector3> left; public void Triangulate(ITile[] tiles) { // Cleare old data mesh.Clear(); vertices.Clear(); triangles.Clear(); uv.Clear(); left.Clear(); // Calculate new data for (int i = 0; i < tiles.Length; i++) { Triangulate(tiles[i]); } // Apply data to mesh. mesh.vertices = vertices.ToArray(); mesh.triangles = triangles.ToArray(); mesh.SetUVs(0, uv); mesh.SetUVs(1, left); mesh.RecalculateNormals(); meshCollider.sharedMesh = mesh; } void Triangulate(ITile tile) { // Gets the center point and calculaate triangles. var tileCenter = new Vector3(tile.Position.X, tile.Position.Y); var tileTopLeft = tileCenter + new Vector3(-0.5f, 0.5f); var tileTopRigth = tileCenter + new Vector3(0.5f, 0.5f); var tileBottomLeft = tileCenter + new Vector3(-0.5f, -0.5f); var tileBottomRight = tileCenter + new Vector3(0.5f, -0.5f); AddTriangle(tileBottomLeft, tileTopLeft, tileTopRigth); AddTriangle(tileBottomLeft, tileTopRigth, tileBottomRight); // Get terrain typ and calculate uvs for it. var terrainID = textureMap[tile.TileType]; var terrainTopLeft = new Vector3(0, 1, terrainID); var terrainTopRight = new Vector3(1, 1, terrainID); var terrainBottomLeft = new Vector3(0, 0, terrainID); var terrainBottomRight = new Vector3(1, 0, terrainID); AddUV(terrainBottomLeft, terrainTopLeft, terrainTopRight); AddUV(terrainBottomLeft, terrainTopRight, terrainBottomRight); // Get terrain typ of the left tile and calculate uvs for it. var leftTile = tile; if(tile.Position.X > 0) leftTile = WorldController.Instance.World.GetTileAt(tile.Position.Offset(-1, 0)); terrainID = textureMap[leftTile.TileType]; terrainTopLeft = new Vector3(0, 1, terrainID); terrainTopRight = new Vector3(1, 1, terrainID); terrainBottomLeft = new Vector3(0, 0, terrainID); terrainBottomRight = new Vector3(1, 0, terrainID); AddLeftUV(terrainBottomLeft, terrainTopLeft, terrainTopRight); AddLeftUV(terrainBottomLeft, terrainTopRight, terrainBottomRight); } void AddTriangle(Vector3 v1, Vector3 v2, Vector3 v3) { int vertexIndex = vertices.Count; vertices.Add(v1); vertices.Add(v2); vertices.Add(v3); triangles.Add(vertexIndex); triangles.Add(vertexIndex + 1); triangles.Add(vertexIndex + 2); } void AddUV(Vector3 v1, Vector3 v2, Vector3 v3) { uv.Add(v1); uv.Add(v2); uv.Add(v3); } void AddLeftUV(Vector3 v1, Vector3 v2, Vector3 v3) { left.Add(v1); left.Add(v2); left.Add(v3); } }
  6. TileMap AlphaBlending

    Hallo Zer0Cool, nein das meine ich nicht. Ich habe den Shader und die Tiles selbst geschrieben. Aber ich erkläre noch einmal kurz was ich genau versuche zu tun. Ich habe eine Karte auf der sich Gebäude, Einheiten usw. befinden. Mir geht es aktuell um das zeichnen der Karte. Mit dem oberen Shader habe ich angefangen. Darin übergabe ich an das Probertie "MainTex" ein Array mit Texturen (Alle Texturen, welche auf der Karte gezeichnet werden sollen). Hier ist das beschrieben: Unity3D - Texture Arrays Dabei wird nun aber das gesamte Tile mit der jeweiligen Texture gezeichnet, was theoretisch ja richtig ist aber einfach nicht gut aussieht. Welche Texture gezeichnet wird steht in der Z-Koordinate der uv. Daher wollte ich nun mit einer Alpha Map die benachbarten Tiles überblenden, damit das ganze schöne Übergänge hat und die Tiles nicht mehr ganz so zu sehen sind. Das ganze wird auch in dem Beitrag (Game Map in HTML Canvas) beschrieben. Hier habe ich die Idee her, schaffe es aber nicht wirklich das zu implementieren. Im unteren Shader übergebe ich dann eine zweite UV "left", in dem ebenfalls in der Z-Koordinate der Type des Linken Nachbarn steht. Nur mit dem linken Nachbarn funktioniert das Vorgehen auch. Jedoch habe ich jetzt das Problem das mir nicht ganz klar ist wie ich das für alle Ränder und Ecken machen kann. Theoretisch könnte ich das vorgehen wie für die Linke Seite für jede Seite und Ecke machen, was aber zur Folge hat, das ich nur für die Texture schon 9 Textkoordinaten an den Shader übergeben muss. Zusätzlich dann natürlich auch für die BlendMap. Meine Frage bezieht sich darauf ob das eine Lösung ist die man so umsetzen kann, bzw. wie andere Wege wären das ganze mit maximaler Flexibilität zu implementieren. Kann man hier eigentlich irgendwie Bilder hochladen, dann könnte ich mal zeigen was die beiden Shader genau machen. Dann kann man sich das vielleicht noch besser vorstellen. Danke und Grüße Stefan
  7. TileMap AlphaBlending

    Hallo zusammen, ich versuche mich gerade daran meine Tilemap etwas zu verschönern. Diese wird aktuell mit einem eigenen Shader mit einem TextureArray gezeichnet. Leider sehen damit die Übergänge zwischen den Tiles ziemlich "bescheiden" aus. Daher würde ich gerne immer die benachbarten Tiles mit überblenden um einen sauberen Übergang zwischen den Typen zu haben. Ich habe hier aber das Problem das mir nicht ganz klar ist wie ich das Umsetzen kann. Hier der Shader Code ohne Anpassungen: Shader "Custom/TileMap" { Properties{ _MainTex("Texture", 2DArray) = "white" {} } SubShader{ Pass{ CGPROGRAM #pragma vertex MyVertexProgram #pragma fragment MyFragmentProgram #pragma target 3.5 #include "UnityCG.cginc" UNITY_DECLARE_TEX2DARRAY(_MainTex); struct VertexData { float4 position : POSITION; float3 uv : TEXCOORD0; }; struct Interpolators { float4 position : SV_POSITION; float3 uv : TEXCOORD0; }; Interpolators MyVertexProgram(VertexData v) { Interpolators i; i.position = UnityObjectToClipPos(v.position); i.uv = v.uv; return i; } fixed4 MyFragmentProgram(Interpolators i) : SV_TARGET { return UNITY_SAMPLE_TEX2DARRAY(_MainTex, i.uv); } ENDCG } } FallBack "Diffuse" } Meine Idee wäre gewesen zum einen jeweils die Texture ID der benachbarten Tiles sowie eine BlendMap an den Shader zu übergeben und die benachbarten Tiles damit zu überblenden. Ich habe das schon für den geraden Übergang von links nach rechts gemacht. Wenn ich das so mache, würde ich aber jeweils 9 Texturen (Haupt Texture + 8 Nachbarn) und 8 BlendMaps für jeden Nachbarn benötigen. Das kommt mir aber etwas viel vor, unabhängig davon ob es überhaupt möglich ist. Shader "Custom/TileMap" { Properties{ _MainTex("Texture", 2DArray) = "white" {} _BlendTex("Blend", 2D) = "White" {} } SubShader{ Pass{ CGPROGRAM #pragma vertex MyVertexProgram #pragma fragment MyFragmentProgram #pragma target 3.5 // #include "UnityCG.cginc" UNITY_DECLARE_TEX2DARRAY(_MainTex); sampler2D _BlendTex; struct VertexData { float4 position : POSITION; float3 uv : TEXCOORD0; float3 left : TEXCOORD1; }; struct Interpolators { float4 position : SV_POSITION; float3 uv : TEXCOORD0; float3 left : TEXCOORD1; }; Interpolators MyVertexProgram(VertexData v) { Interpolators i; i.position = UnityObjectToClipPos(v.position); i.uv = v.uv; i.left = v.left; return i; } fixed4 MyFragmentProgram(Interpolators i) : SV_TARGET { fixed4 main = UNITY_SAMPLE_TEX2DARRAY(_MainTex, i.uv); fixed4 left = UNITY_SAMPLE_TEX2DARRAY(_MainTex, i.left); fixed4 blend = tex2D(_BlendTex, i.uv); return main.rgba * blend.a + (1 - blend.a) * left.rgba; } ENDCG } } FallBack "Diffuse" } Hat jemand ein paar Tipps wie das ganze sonst Umgesetzt werden kann? Oder bin ich mit meinem Versuch prinzipiell schon auf dem richtigen Weg? Vielen Dank und noch einen schönen Sonntag Gruß Stefan
  8. Probleme mit yield return.

    Hallo zusammen, ich bin gerade dabei meinen code für WebGL zu konvertieren. Leider funktioniert hier das Laden von Daten aus dem StreamingAsset Ordner anders als im normalen Windows Player. Hier ist ein Beispiel aus der Unity Bibliothek: https://docs.unity3d.com/560/Documentation/ScriptReference/Application-streamingAssetsPath.html Mein original Code sieht wie folgt aus: protected void LoadTextFile(string directoryName, string fileName, Action<string> readText) { // Construct path to file. var filePath = Path.Combine(_basePath, directoryName); filePath = Path.Combine(filePath, fileName); // Check if file exists if (File.Exists(filePath)) { // Involke the read text action. var text = File.ReadAllText(filePath); readText(text); } else { log.ErrorFormat("File with path {0} does not exist.", filePath); } } Dieses habe ich dann versucht zu konvertieren. Um das laden auch in WebGL möglich zu machen. Der Code hierfür sieht dann wie folgt aus: protected IEnumerator LoadTextFile(string directoryName, string fileName, Action<string> readText) { // Construct path to file. var filePath = Path.Combine(_basePath, directoryName); filePath = Path.Combine(filePath, fileName); // Check if file is read from indexdb if (filePath.Contains("://") || filePath.Contains(":///")) { // file is loaded from index db. For examlple for webgl or android WWW www = new WWW(filePath); yield return www; // TODO: Check for errors var text = www.text; readText(text); } else { // file is loaded from filesystem. if (File.Exists(filePath)) { // file exists on filesystem. var text = File.ReadAllText(filePath); readText(text); } else { // file does not exist on filesystem. log.ErrorFormat("File with path {0} does not exist.", filePath); } } } Leider funktioniert das ganze so aber nicht. In der Version funktioniert das laden in dem normalen Player und auch im WebGL nicht. Leider komme ich auch mit dem "yield return www" nicht ganz zu recht wie ich das richtig verwenden soll. Aufgerufen wird das ganze dann wie folgt. public void LoadPrototypes(string fileName, Action<string> prototypesLoader) { if (fileName == null) throw new ArgumentNullException(nameof(fileName)); if (prototypesLoader == null) throw new ArgumentNullException(nameof(prototypesLoader)); // Load the text file. LoadTextFile( "Data", fileName, (text) => { prototypesLoader(text); }); } Kann mir hier jemand erklären was ich falsch gemacht habe bzw. wie man yield kongret anwendet um die Ausführung bis zum fertigen laden der Daten zu stopen. Vielen Dank Gruß Stefan
  9. WebGL Exception beim ausführen

    Hallo zusammen, also hier mal die Neuerungen was ich bis jetzt rausbekommen habe. Ich habe gestern Nacht noch alle Möglichen Build Kombinationen ausprobiert und dann auch eine gefunden mit dem ich das ganze lauffähig bekomme. Also keine Exception mehr bei start kommt. Leider bin ich damit nicht wirklich Zufrieden. Habe nachdem ich gestern nicht mehr weitergekommen bin wieder Versucht "Development Builds" anstatt von "Release Builds" zu erstellen. Dies hat auch erst nicht geklappt und ich habe zusätzlich noch die nachfolgende Meldung vor der Exception bekommen. Diese scheint von Emscripten zu kommen da zuminderst genau dieser Funktionsname hier mal genannt wird: https://github.com/kripken/emscripten/blob/master/system/lib/libcxx/symbols missing function: _ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_ Danach habe ich ebenfalls die Option "Use Prebuild Engine" verwendet. Damit kann ich nun die Anwendung starte und diese Funktioniert auch. Das ist aber natürlich keine Wirkliche Lösung, da das Programm dadurch sehr groß (268MB) ist. Kann eventuell jemand damit was Anfangen. "Strip Engine Code" habe ich schon deaktiviert, hat aber auch nichts gebracht. Kann man die DLL oder Funktion in der "link.xml" Eintragen damit diese nicht gelöscht wird? Falls ja wie müsste das dann da aussehen? So habe ich das zumindest bei log4net gemacht (verwende ich aktuell im Programm), damit ich diese in Unity verwenden kann. Vielen Dank und Gruß Stefan
  10. WebGL Exception beim ausführen

    Hallo Bensen, die stehen alle "leider" schon auf full, daher ist das keine Option mehr. Naja mit der Spurensuche habe ich schon angefangen. Das erstellen der Anwendung dauert halt immer so ewig das ich noch nach einem alternativen Weg hier im Forum gesucht habe :-). In der Hoffnung das jemand mit dem Fehler was Anfangen kann oder noch ein paar gute Ideen hat was ich noch ausprobieren kann. Aber werde dann wohl mal wieder weiter machen mein Spiel wieder zu zerlegen... Sobald ich mehr weiß oder den Fehler analysieren konnte schreib ich hier wieder. Weitere Vorschläge was ich noch versuchen kann sind aber trotzdem weiterhin wilkommen. Gruß und einen schönen Abend Stefan
  11. WebGL Exception beim ausführen

    Hallo Sascha, danke erst mal für die schnelle Antwort. Um deine Frage zu beantworten, ich wollte die Zeile beherzigen, bin aber leider daran gescheitert das ich nicht gefunden habe wo ich das Eintragen muss, bzw. wie ich in dem Build-Prozess Parameter anhängen kann um diesen zu beeinflussen. Habe dann nur den Hacken gefunden das Debug Symbole erzeugt werden, damit die Exception und der Stacktrace wenigstens etwas lesbar sind. Leider kann ich mit dem jetzigen Stacktrace auch nicht sonderlich mehr anfangen. Gruß Stefan
  12. WebGL Exception beim ausführen

    Hallo zusammen, ich habe ein Problem mit einem Projekt. Im Editor läuft dieses ohne Probleme, wenn ich das Projekt für WebGL erstelle bekomme ich beim starten immer eine Exception. Ich habe schon alles mögliche Versucht und komme hier einfach nicht mehr weiter. Kann mir hier eventuell weiterhelfen oder ein paar Tipps geben was ich noch versuchen kann. Vom Stacktrace hört sich das alles so an als wie wenn das aus einem C++ Codeteil kommt. Vielen Dank Gruß Stefan Aktuelle Einstellungen im Projekt: WebGL Memory: 256 (habe aber auch schon mehr und weniger versucht) Enable Exception: Full (habe hier auch None und Explicit versucht) Hier die Fehlermeldung aus der Browser Konsole (FF52) An error occurred running the Unity content on this page. See your browser's JavaScript console for more info. The error was: uncaught exception: abort(-1) at jsStackTrace (b005.js:1:19540) stackTrace (b005.js:1:19711) abort (b005.js:3:30408) std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> >::basic_string(std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> > const&) [__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_] (b005.js:1:235843) KeyWrapper<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> > >::KeyWrapper(KeyWrapper<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> > > const&) [Yfp] (blob:31:1) dense_hash_map<KeyWrapper<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> > >, Il2CppClass*, il2cpp::utils::StringUtils::StringHasher<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> > >, std::__2::equal_to<KeyWrapper<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> > > >, std::__2::allocator<std::__2::pair<KeyWrapper<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> > > const, Il2CppClass*> > >::set_empty_key(KeyWrapper<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> > > const&) [Wfp] (blob:31:1) dynCall_vii [s3p] (blob:31:1) invoke_vii (b005.js:1:349910) Il2CppHashMap<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> >, Il2CppClass*, il2cpp::utils::StringUtils::StringHasher<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> > >, std::__2::equal_to<KeyWrapper<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> > > >, std::__2::allocator<std::__2::pair<KeyWrapper<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> > > const, Il2CppClass*> > >::Il2CppHashMap(unsigned int, il2cpp::utils::StringUtils::StringHasher<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> > > const&, std::__2::equal_to<KeyWrapper<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> > > > const&) [Tfp] (blob:31:1) dynCall_viiii [n3p] (blob:31:1) invoke_viiii (b005.js:1:349102) Il2CppMetadataCache::Il2CppMetadataCache() [Uep] (blob:31:1) __GLOBAL__sub_I_MetadataCache_cpp [Sep] (blob:31:1) func [.func] (b005.js:1:30459) callRuntimeCallbacks (b005.js:1:22174) ensureInitRuntime (b005.js:1:22674) doRun (b005.js:3:29346) run/<@blob:http://localhost:3572/9ec090b2-d3bd-47e3-aa38-44f623b060b9:3:29644 If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.
×