fogman Geschrieben 20. März 2013 Melden Share Geschrieben 20. März 2013 Hi, ich habe folgendes Problem: Wenn ich in Blender ein schon in Unity importiertes Modell ändere und dieses dann von Unity reimportiert wird, wirken sich die änderungen nicht auf die Prefabs aus. Als Beispiel: Ich importiere ein Objekt und erstelle daraus ein Prefab. Ich füge dem Prefab ein Material und ein Script hinzu. Irgenwann stelle ich fest, das ich das Objekt in Blender abändern muss. Nach der erfolgten änderung importiert Unity das Objekt, aber die änderungen wirken sich nicht auf das Prefab aus. Ich muss es komplett neu erstellen, was natürlich den Workflow extrem einschränkt. Habe ich hier vielleicht einfach nur ein Verständnisproblem, gibt es einen magischen Button oder andere Gründe für dieses Verhalten? Wäre super wenn Ihr mir helfen könntet. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 20. März 2013 Melden Share Geschrieben 20. März 2013 Wie importierst du in Unity? Hast du direkt die Blender-Dateien in den Assets? Oder exportierst du aus Blender? Speicherst du direkt über die alte Datei oder gibt es zwischendurch Namensänderungen? Probiere mal, in Blender in den User Preferences die "Save Versions" auf 0 zu stellen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
koaangel Geschrieben 20. März 2013 Melden Share Geschrieben 20. März 2013 Es kommt darauf an, was genau du in Blender abänderst. Wenn du bereits existierende Meshes veränderst, dann verändern die sich auch im Prefab. Wenn du allerdings Dinge hinzufügst, dann werden die nicht automatisch ins Prefab übernommen. Der Grund: Wenn du eine importierte Blender Datei in die Szene ziehst und zB eine Komponente hnzufügst wie in deinem Fall ein Script, dann wirst du eine Meldung bekommen haben, dass die Connection verloren geht. Das neue Prefab, das du damit erstellst ist deswegen unabhängig und verwendete lediglich die Mesh Daten der Blender Datei und auch nur die, die du ihm explizit zuweist. Damit dein Prefab so arbeitet, wie du es möchtest musst du ein leeres GameObject erstellen, diesem dein Blender Model unterordnen, und dem leeren Parent Objekt das Script zuweisen. Dann daraus ein Prefab erstellen. Auf diese Weise bleibt die Verbindung zur Blender Datei bestehen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
fogman Geschrieben 26. März 2013 Autor Melden Share Geschrieben 26. März 2013 Vielen Dank für die schnelle Reaktion! Wie importierst du in Unity? Hast du direkt die Blender-Dateien in den Assets? Oder exportierst du aus Blender? Speicherst du direkt über die alte Datei oder gibt es zwischendurch Namensänderungen? Probiere mal, in Blender in den User Preferences die "Save Versions" auf 0 zu stellen. -Die .blend Dateien liegen in den Assets -Es wird immer die gleiche Datei überschrieben, keine Namesänderung Ich füge in Blender nichts hinzu, ich habe das betreffende Objekt lediglich um 90 Grad gedreht. Das die Verbundung verloren geht klingt logisch, das wird der Grund sein, auch wenn ich keine Meldung bekommen habe. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
koaangel Geschrieben 26. März 2013 Melden Share Geschrieben 26. März 2013 Eine Drehung bewirkt nur eine Änderung des Meshs, wenn du die Drehung im Edit Modus ausführst. Damit werden die Vertices selbst gedreht. Wenn du im Objekt Modus drehst, bewirkt das auf das Mesh selbst nichts, denn das ist dann wie wenn du in Unity eine Drehung ausführst. Selbst bei bestehender Verbindung zum Prefab wird die Drehung wie alle anderen Änderungen an der Transform Komponente nicht automatisch auf das Prefab übertragen. Das waere sonst fatal, denn man könnte dann nicht Prefabs beliebig in der Szene plazieren. €dit: Wieso macht das Forum aus allen kleinen Ä ein grosses Ä ? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 26. März 2013 Melden Share Geschrieben 26. März 2013 Ja, stimmt, da ist das Problem Die Objektdrehung wird in Unity von den Transforms übernommen und dann überschrieben. Änderungen kriegen die Transforms nicht mit. Wenn du das Mesh selber drehst und nicht das Objekt, wie koaangel sagt, dann dürfte es gehen. @koaangel: Bekanntes Problem der Forensoftware mit Umlauten, der Hersteller fixt das aber leider irgendwie nie. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
fogman Geschrieben 26. März 2013 Autor Melden Share Geschrieben 26. März 2013 Jetzt ist der Groschen gefallen! Vielen Dank für die klare Darstellung! 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.