{"id":13877,"date":"2024-09-03T12:00:27","date_gmt":"2024-09-03T10:00:27","guid":{"rendered":"https:\/\/vielzutun.ch\/wordpress\/?p=13877"},"modified":"2024-09-09T16:37:30","modified_gmt":"2024-09-09T14:37:30","slug":"3d-flammenfresser-animation","status":"publish","type":"post","link":"https:\/\/vielzutun.ch\/wordpress\/?p=13877","title":{"rendered":"3D Flammenfresser Animation"},"content":{"rendered":"\n<p>Beim Bau des Dampfmaschinenmodells &#171;Danni&#187; von Modellbau Bengs hatte ich die Tradition ins Leben gerufen, von meinen physischen Modellen auch eine virtuelle Ausgabe zu erstellen, eine Interaktive 3D Animation. Dies habe ich beim <a href=\"https:\/\/vielzutun.ch\/wordpress\/?p=13389\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Flammenfresser &#171;Jarne&#187;<\/a> fortgesetzt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/vielzutun.ch\/wordpress\/Jarne_animation\/Three.js\/Main.html\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"993\" height=\"1024\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2024\/09\/Bildschirmfoto-2024-09-03-um-11.50.32-993x1024.png\" alt=\"\" class=\"wp-image-13884\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2024\/09\/Bildschirmfoto-2024-09-03-um-11.50.32-993x1024.png 993w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2024\/09\/Bildschirmfoto-2024-09-03-um-11.50.32-291x300.png 291w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2024\/09\/Bildschirmfoto-2024-09-03-um-11.50.32-768x792.png 768w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2024\/09\/Bildschirmfoto-2024-09-03-um-11.50.32-1489x1536.png 1489w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2024\/09\/Bildschirmfoto-2024-09-03-um-11.50.32-1200x1238.png 1200w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2024\/09\/Bildschirmfoto-2024-09-03-um-11.50.32.png 1528w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><figcaption class=\"wp-element-caption\">Screenshot von der Interaktiven 3D Animation des Flammenfressers \u00abJarne\u00bb (Klick me!)<\/figcaption><\/figure>\n\n\n\n<p>Eigentlich habe ich beide Projekte, den Bau des physischen Modells und den &#171;Bau&#187; des virtuellen Modells, weitgehend parallel vorangetrieben. Wobei es unvermeidlich war, dass zu jedem Zeitpunkt das eine Projekt dem jeweils anderen geringf\u00fcgig voraus war oder nachhinkte. Da ich mich gegen Ende des Baus des physischen Modells kurzfristig f\u00fcr eine kleine (aber feine \ud83d\ude0e) <a href=\"https:\/\/vielzutun.ch\/wordpress\/?p=13888\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">\u00c4nderung der Konstruktion<\/a> entschieden hatte, und die ben\u00f6tigten Teile erst bestellt und geliefert werden mussten und wir zwischenzeitlich zwei Wochen in Ferien waren, hat der &#171;Rohbau&#187; der 3D Animation von Jarne w\u00e4hrend eines Regentags in unserer Unterkunft als erster die Ziellinie \u00fcberschritten. Rohbau deswegen, weil ich gerne noch Details wie eine animierte Flamme und einen sichtbaren Ausstoss abgek\u00fchlten Gases aus dem Auslassventil nachr\u00fcsten w\u00fcrde, dies aber eine Lernkurve in Sachen Partikelsysteme und m\u00f6glicherweise Shader-Programmierung beinhalten wird. Etwas f\u00fcr l\u00e4ngere Schlechtwetterperioden.<\/p>\n\n\n\n<p>Genug der Vorrede: hier geht&#8217;s zur <strong>\u279c<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><a href=\"https:\/\/vielzutun.ch\/wordpress\/Jarne_animation\/Three.js\/Main.html\" data-type=\"link\" data-id=\"https:\/\/vielzutun.ch\/wordpress\/Jarne_animation\/Three.js\/Main.html\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><strong>Interaktiven 3D Flammenfresser Animation<\/strong><\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Statistik und m\u00f6gliche Performance Optimierung:<\/strong><\/p>\n\n\n\n<p>Ich habe die Animation entsprechend der lt. Bausatz vorgegebenen Baureihenfolge nachgebaut. Die hohe Anzahl von Einzelteilen von &#171;Jarne&#187; und meine hohen Qualit\u00e4tsanspr\u00fcche an die Rundheit und Glattheit von Konturen haben ihren Preis. Das Modell erfordert pro Frame die Verarbeitung von<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>102 &#171;<a href=\"https:\/\/velasquezdaniel.com\/blog\/rendering-100k-spheres-instantianing-and-draw-calls\/#Too-many-draw-calls\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">calls<\/a>&#171;<\/strong> und rund<\/li>\n\n\n\n<li><strong>240&#8217;000 triangles<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>Auf die (wahlweise) Darstellung von Schraubenk\u00f6pfen und Muttern habe ich bisher verzichtet, um auf meiner Hardware (iMac 5k 2014, Macbook Air 2017, iPhone 13) weiterhin volle 60 fps zu erzielen, was derzeit auf allen drei Ger\u00e4ten schon grenzwertig ist, zumindest im eingezoomten Zustand.<\/p>\n\n\n\n<p>Potenzial sehe ich insbesondere in der Zusammenfassung mehrerer unbewegter Bauteile gleichen Materials in eine &#171;Super-Geometrie&#187; mittels <a href=\"https:\/\/threejs.org\/docs\/index.html?q=geometry#examples\/en\/utils\/BufferGeometryUtils.mergeGeometries\" data-type=\"link\" data-id=\"https:\/\/threejs.org\/docs\/index.html?q=geometry#examples\/en\/utils\/BufferGeometryUtils.mergeGeometries\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">mergeGeometries<\/a> &#8211; dies w\u00fcrde die Anzahl von GPU-calls signifikant verringern.<\/p>\n\n\n\n<p>Und dann habe ich bisher allen rotationssymmetrischen Bauteilen (<a href=\"https:\/\/threejs.org\/docs\/index.html?q=geometry#api\/en\/geometries\/LatheGeometry\" data-type=\"link\" data-id=\"https:\/\/threejs.org\/docs\/index.html?q=geometry#api\/en\/geometries\/LatheGeometry\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">LatheGeometry<\/a>) eine sehr hohe Umfangs-Segment Anzahl von 72 geg\u00f6nnt. Eine Reduktion w\u00fcrde sich massiv auf die Anzahl von Dreiecksfl\u00e4chen auswirken, bei vermutlich nur geringer Qualit\u00e4tseinbusse an Rundheit der Konturen.<\/p>\n\n\n\n<p>Auch das ist ein Optimierungsprojekt f\u00fcr lange Schlechtwetterperioden. Daher, wie die angels\u00e4chsischen Kollegen sagen w\u00fcrden: don&#8217;t hold your breath &#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Beim Bau des Dampfmaschinenmodells &#171;Danni&#187; von Modellbau Bengs hatte ich die Tradition ins Leben gerufen, von meinen physischen Modellen auch eine virtuelle Ausgabe zu erstellen, eine Interaktive 3D Animation. Dies habe ich beim Flammenfresser &#171;Jarne&#187; fortgesetzt. Eigentlich habe ich beide Projekte, den Bau des physischen Modells und den &#171;Bau&#187; des virtuellen Modells, weitgehend parallel vorangetrieben. &hellip; <a href=\"https:\/\/vielzutun.ch\/wordpress\/?p=13877\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;3D Flammenfresser Animation&#8221; <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_stc_notifier_status":"","_stc_notifier_sent_time":"","_stc_notifier_request":false,"_stc_notifier_prevent":false,"_stc_subscriber_keywords":"","_stc_subscriber_search_areas":"","footnotes":""},"categories":[184,211,279],"tags":[126,150,287,299,101,229,308],"class_list":["post-13877","post","type-post","status-publish","format-standard","hentry","category-computergrafik","category-engineering","category-modellbau","tag-3d","tag-animation","tag-bengs","tag-flammenfresser","tag-interaktiv","tag-praezision","tag-vacuum-engine"],"_links":{"self":[{"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/13877","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13877"}],"version-history":[{"count":11,"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/13877\/revisions"}],"predecessor-version":[{"id":13993,"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/13877\/revisions\/13993"}],"wp:attachment":[{"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13877"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13877"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13877"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}