Blender Echtzeitberechnung aktivieren?
Wie kann ich Blender Animationen mir Eevee in Echtzeit rendern lassen? Ich habe mir schon einige Tutorials dazu angeschaut, und noch nichts relevantes gefunden. Wenn ich eine Blender Animation in Eevee rendere, braucht ein Bild etwa eine Sekunde. Wie bei Cycles, nur schneller. Es ist also nicht Echtzeit. Allerdings funktioniert es im Viewport Mode, auch wenn es auf "Rendered Mode" gestellt ist. Wisst ihr wie diese Echtzeitberechnungen funktionieren?
Meine Blender Version:
2.82
Meine Hardware:
Grafikkarte: GTX 1070
CPU: i5 6600k
RAM: 8GB
1 Antwort
Ich weiß nicht wie komplex deine Szene ist, je nach Polygon Zahl und Material Komplexität dauert das vllt sogar 5 Sekunden. In deinem Fall aber, wird es daran liegen, dass das Bild komprimiert wird und auf die Festplatte geschrieben werden muss, du könntest beispielsweise Kompression auf 0% stellen wenn du als PNG renderst oder wenn du es als MP4 renderst den schnellsten Enconding Speed, die Dateien werden halt dann auch dem entsprechend größer, ist also nicht zu empfehlen.
Ein anderer Ansatz wäre noch, du benutzt einfach weniger Samples, das sorgt auch für mehr Rauschen aber sagen wir du nimmst 32 statt 64 Samples dann ist der render doppelt so schnell. Achtung ich meinen damit nur die reine Renderzeit, nicht initializing, oder das Bild abspeichern
Im Viewport wird das Bild nicht wirklich abgespeichert und benutzt weniger Samples, daher nahezu Echtzeit
Im Viewport rechnet es nicht bis die eingestellt Sample Zahl erreicht wird sondern bis sich etwas ändert. Kamera bewegt, Objekt verschoben usw.
Du wirst es nicht viel schneller bekommen denke ich, einfach weil das Spiel abgespeichert werden muss.
Zu deinem Spiele Ansatz, die Blender Game Engine gibt es nicht mehr, zumindest offiziell, inoffiziell wird diese weiterentwickelt von privaten Leuten in einem separaten Blender Build. Du wirst in Spielen in etwa die Viewport Performance nicht die des Finalen Renders haben, denn auch dort wird das Bild nicht auf die Festplatte geschrieben, genau wie im Viewport
Im Viewport rechnet es nicht bis die eingestellt Sample Zahl erreicht wird sondern bis sich etwas ändert. Kamera bewegt, Objekt verschoben usw.
Wenn man die Render Engine Eevee verwenden, dann nicht. Dann rauscht auch nichts. Ich glaube du redest von der Render Engine Cycles. Da wird alles etwas anders berechnet. Wenn ich aber auf Eevee umschalte. Erreiche ich locker 60 fps ohne Rauschen im Viewport Mode. Wenn ich allerdings auf "Animation rendern" klicke, braucht sie für ein Bild eine Sekunde. Also etwa 1 FPS.
Zu deinem Spiele Ansatz, die Blender Game Engine gibt es nicht mehr, zumindest offiziell
Könnte ich dann nicht einfach eine ältere Blender Version herunterladen?
Du wirst in Spielen in etwa die Viewport Performance nicht die des Finalen Renders haben
Weshalb rendert denn der Viewport Mode wesentlich schneller als der Render Mode? Grafisch gibt es da ja keine Unterschiede. Nur, dass alles aus der Kameraperspektive gezeigt wird.
Immernoch (sorry wenn sich das fies anhört aber daran wird sich nichts ändern), weil bei "Render Animation" die Sachen auf die Festplatte geschrieben werden, im Viewport aber nicht (Genau wie Game Engines), außerdem wird der Render bei jedem Frame neu Initialized soweit ich weiß, heißt, es werden alle Sachen einmal neu geladen.
Eevee kann "noisy" sein, auch Eevee arbeitet mit samples, jedoch werden weitaus weniger gebraucht. Ein Ergebnis kann mit 16 Samples genauso aussehen wie mit 128
Alte Versionen (2.79) haben zwar die Game Engine, dafür aber kein EEVEE das kam erst als die Game Engine verschwand.
Vllt willst du dir mal https://armory3d.org/ anschauen. Das ist eine Game Engine für Blender die auf Eevee basiert. Bin jedoch nie dazu gekommen sie zu testen.
Viel Spaß
weil bei "Render Animation" die Sachen auf die Festplatte geschrieben werden, im Viewport aber nicht
Okay, das macht Sinn. Ist es denn möglich Animationen in Blender einfach abzuspielen, ohne dass sie auf der Festplatte abgespeichert werden?
Vllt willst du dir mal https://armory3d.org/ anschauen. Das ist eine Game Engine für Blender die auf Eevee basiert. Bin jedoch nie dazu gekommen sie zu testen.
Ich nehme an, diese Engine kann man auch einfach nur für Animationen verwenden.
Meine jetzige Animation ist sehr simpel. Es ist aber völlig egal, wie simpel eine Szene ist. Für ein Bild braucht es immer mindestens eine Sekunde.
Habe ich probiert, es ist jetzt etwas schneller, aber immer noch etwa 1 Bild pro Sekunde. Mit Echtzeit meine ich 30 oder 60 Bilder pro Sekunde. Die meisten Spiele haben ja auch mindestens 30 fps.
Das ist gar kein Problem. Ob ich 4, 8 oder 64 Samples verwende macht bei Eevee fast keinen Unterschied. Wenn ich mit Cycles rendere, nehme ich einfach einen Denoiser. Funktioniert sehr gut.
Auch wenn ich die Zahl der Samples im "Viewport" enorm erhöhe, macht das keinen Unterschied. Auch wenn die Samples vom "Viewport" und dem "Render" gleich sind, rendert der Viewport im Gegensatz zum Render in Echtzeit. An der Performance scheint es nicht zu liegen.
Wenn du dich fragst, wie ich auf diese Frage komme. Es ist möglich mit Blender Spiele zu programmieren. Aber wie sollte ein Spiel funktionieren, wenn die Bilder nur sehr langsam und nacheinander gerendert werden? Ich möchte kein Spiel programmieren, aber nach dieser Logik müssten sich ja auch Animationen in Echtzeit mit 30 oder 60 FPS rendern lassen. Warum geht das also nicht?