Blender Echtzeitberechnung aktivieren?

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

Woher ich das weiß:eigene Erfahrung

Weisskuchen 
Fragesteller
 17.04.2020, 19:37
Ich weiß nicht wie komplex deine Szene ist, je nach Polygon Zahl und Material Komplexität dauert das vllt sogar 5 Sekunden.

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.

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.

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.

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.

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.

Im Viewport wird das Bild nicht wirklich abgespeichert und benutzt weniger Samples, daher nahezu Echtzeit

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?

0
ColiN00B  17.04.2020, 21:49
@Weisskuchen

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

0
Weisskuchen 
Fragesteller
 17.04.2020, 22:47
@ColiN00B
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.

0
ColiN00B  18.04.2020, 12:06
@Weisskuchen

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ß

0
Weisskuchen 
Fragesteller
 18.04.2020, 12:49
@ColiN00B
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.

0