Karthoo Geschrieben 12. Juni 2022 Melden Share Geschrieben 12. Juni 2022 Hallo zusammen, Ich verwende AssetBundles, um Assets auf einem Webserver zu speichern. Aber wenn ich sie in meine 3D-Anwendung lade, passieren ganz merkwürdige Dinge mit den Texturen: Bevor ich sie in AssetBundle gespeichert habe: Nach dem Laden: Hat jemand eine Idee, was das Problem sein könnte? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 12. Juni 2022 Melden Share Geschrieben 12. Juni 2022 Moin moin! Ehrlich gesagt sieht mir das eher nach verhunzter UV-Map aus als nach kaputten Texturen. Gehe mal zu diesem kaputten Zustand im Editor und stelle die Scene View auf "Shaded Wireframe". Dann siehst du deine Triangles über die Textur gelegt. Wenn mein Verdacht stimmt, dann solltest du die Kanten der Dreiecke entlang der Kanten deiner Textur auf dem Boden erkennen können. Alternativ, und das sehe dann genauso aus, geht deine UV-Map über das Einheitsquadrat hinaus, was ja okay wäre. Im oberen Bild wäre dann aber vielleicht die Textur auf Repeat gestellt, und im unteren auf Clamp. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Karthoo Geschrieben 12. Juni 2022 Autor Melden Share Geschrieben 12. Juni 2022 Hi Sascha, Danke für deine Antwort! Du hast Recht, das scheint dann ein UV-Map-Problem zu sein (musste mich da erst einlesen, was das überhaupt ist). Die merkwürdigen Strukturen stimmen mit den Dreiecken überein: Ist das dann eher ein Fehler beim Erzeugen der AssetBundles oder würdest du das Problem eher beim "Instantiaten" vermuten? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 12. Juni 2022 Melden Share Geschrieben 12. Juni 2022 Schwer zu sagen. Sowohl Dinge aus AssetBundles zu laden als auch Dinge zu instanziieren sollte weder die UV-Map kaputt machen, noch die Import Settings der Textur umstellen. Was hast du denn alles im AssetBundle drin? 3D-Modell Material Textur(en) ? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Karthoo Geschrieben 12. Juni 2022 Autor Melden Share Geschrieben 12. Juni 2022 Habe in den AssetBundles nur verschiedene Assets (Mesh + Material) drin Ich erzeuge sie so: BuildPipeline.BuildAssetBundles("Assets/Kacheln", buildMap, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows); und instanziiere sie so: GameObject g = bundle.LoadAsset<GameObject>(assetName); var temp = Instantiate(g) as GameObject; Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 12. Juni 2022 Melden Share Geschrieben 12. Juni 2022 vor einer Stunde schrieb Karthoo: Habe in den AssetBundles nur verschiedene Assets (Mesh + Material) drin Ja, das ist schon klar Die Textur ist also nicht mit drin? Die Textur ist nämlich das, so der "Wrap Mode" eingestellt ist. Ist er auf "Clamp" statt auf "Repeat", könnte das so aussehen wie bei dir. An deinem Code ist jedenfalls soweit nichts auszusetzen. Kannst aber das "as GameObject" weglassen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Karthoo Geschrieben 12. Juni 2022 Autor Melden Share Geschrieben 12. Juni 2022 Habe das nochmal in einem neuen Projekt ausprobiert, in dem die Texturen nirgends gespeichert waren und sie wurden geladen. Die Texturen müssen also auch in den AssetBundles enhalten sein. Dort, wo ich die Bundles erzeuge, ist der Wrap Mode aber auch auf Repeat gesetzt. Kann ich den Wrap Mode irgendwie beim Instanziieren oder Bundle Erzeugen nochmal ändern? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 12. Juni 2022 Melden Share Geschrieben 12. Juni 2022 Klingt doch schonmal gut! Aber ja, du solltest die Entscheidung, ob das im Asset Bundle mit drin ist, nicht davon abhängig machen (müssen). Eigentlich sollte das auch wunderbar so gehen. vor 3 Stunden schrieb Karthoo: Kann ich den Wrap Mode irgendwie beim Instanziieren oder Bundle Erzeugen nochmal ändern? Beim Instanziieren könnte hiermit klappen: Texture.wrapMode Beim Bundle Bauen klingt aber schlauer. Da kannst du es auch mit Texture.wrapMode versuchen, alternativ mit TextureImporter.wrapMode. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.