Warning: filemtime(): stat failed for /var/www/wp-content/plugins/embed-privacy/assets/style/embed-privacy.css in /var/www/wp-content/plugins/embed-privacy/inc/class-frontend.php on line 63
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-content/plugins/embed-privacy/inc/class-frontend.php:63 filemtime(), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\Frontend->register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]
Warning: filemtime(): stat failed for /var/www/wp-content/plugins/embed-privacy/assets/style/astra.css in /var/www/wp-content/plugins/embed-privacy/inc/integration/class-astra.php on line 42
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-content/plugins/embed-privacy/inc/integration/class-astra.php:42 filemtime(), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\integration\Astra::register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/embed-privacy/inc/class-frontend.php:82 do_action('embed_privacy_register_assets'), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\Frontend->register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]
Warning: filemtime(): stat failed for /var/www/wp-content/plugins/embed-privacy/assets/style/divi.css in /var/www/wp-content/plugins/embed-privacy/inc/integration/class-divi.php on line 151
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-content/plugins/embed-privacy/inc/integration/class-divi.php:151 filemtime(), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\integration\Divi::register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/embed-privacy/inc/class-frontend.php:82 do_action('embed_privacy_register_assets'), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\Frontend->register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]
Warning: filemtime(): stat failed for /var/www/wp-content/plugins/embed-privacy/assets/style/elementor.css in /var/www/wp-content/plugins/embed-privacy/inc/integration/class-elementor.php on line 150
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-content/plugins/embed-privacy/inc/integration/class-elementor.php:150 filemtime(), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\integration\Elementor::register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/embed-privacy/inc/class-frontend.php:82 do_action('embed_privacy_register_assets'), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\Frontend->register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]
Warning: filemtime(): stat failed for /var/www/wp-content/plugins/embed-privacy/assets/style/kadence-blocks.css in /var/www/wp-content/plugins/embed-privacy/inc/integration/class-kadence-blocks.php on line 40
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-content/plugins/embed-privacy/inc/integration/class-kadence-blocks.php:40 filemtime(), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\integration\Kadence_Blocks::register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/embed-privacy/inc/class-frontend.php:82 do_action('embed_privacy_register_assets'), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\Frontend->register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]
Warning: filemtime(): stat failed for /var/www/wp-content/plugins/embed-privacy/assets/style/shortcodes-ultimate.css in /var/www/wp-content/plugins/embed-privacy/inc/integration/class-shortcodes-ultimate.php on line 40
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-content/plugins/embed-privacy/inc/integration/class-shortcodes-ultimate.php:40 filemtime(), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\integration\Shortcodes_Ultimate::register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/embed-privacy/inc/class-frontend.php:82 do_action('embed_privacy_register_assets'), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\Frontend->register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]
Deprecated: Class Jetpack_Geo_Location is deprecated since version 14.3 with no alternative available. in /var/www/wp-includes/functions.php on line 6114
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-includes/functions.php:6114 trigger_error(), wp-includes/functions.php:5742 wp_trigger_error(), wp-content/mu-plugins/jetpack-14.3/modules/geo-location/class.jetpack-geo-location.php:66 _deprecated_class(), wp-includes/class-wp-hook.php:324 Jetpack_Geo_Location->wordpress_init(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]
Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp-content/mu-plugins/lib/wpcom-error-handler/wpcom-error-handler.php:177) in /var/www/wp-includes/rest-api/class-wp-rest-server.php on line 1893
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-includes/rest-api/class-wp-rest-server.php:1893 header(), wp-includes/rest-api/class-wp-rest-server.php:318 WP_REST_Server->send_header(), wp-includes/rest-api.php:449 WP_REST_Server->serve_request(), wp-includes/class-wp-hook.php:324 rest_api_loaded(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:565 WP_Hook->do_action(), wp-includes/class-wp.php:418 do_action_ref_array(), wp-includes/class-wp.php:813 WP->parse_request(), wp-includes/functions.php:1336 WP->main(), wp-blog-header.php:16 wp(), index.php:17 require('wp-blog-header.php')]
Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp-content/mu-plugins/lib/wpcom-error-handler/wpcom-error-handler.php:177) in /var/www/wp-includes/rest-api/class-wp-rest-server.php on line 1893
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-includes/rest-api/class-wp-rest-server.php:1893 header(), wp-includes/rest-api/class-wp-rest-server.php:319 WP_REST_Server->send_header(), wp-includes/rest-api.php:449 WP_REST_Server->serve_request(), wp-includes/class-wp-hook.php:324 rest_api_loaded(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:565 WP_Hook->do_action(), wp-includes/class-wp.php:418 do_action_ref_array(), wp-includes/class-wp.php:813 WP->parse_request(), wp-includes/functions.php:1336 WP->main(), wp-blog-header.php:16 wp(), index.php:17 require('wp-blog-header.php')]
Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp-content/mu-plugins/lib/wpcom-error-handler/wpcom-error-handler.php:177) in /var/www/wp-includes/rest-api/class-wp-rest-server.php on line 1893
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-includes/rest-api/class-wp-rest-server.php:1893 header(), wp-includes/rest-api/class-wp-rest-server.php:323 WP_REST_Server->send_header(), wp-includes/rest-api.php:449 WP_REST_Server->serve_request(), wp-includes/class-wp-hook.php:324 rest_api_loaded(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:565 WP_Hook->do_action(), wp-includes/class-wp.php:418 do_action_ref_array(), wp-includes/class-wp.php:813 WP->parse_request(), wp-includes/functions.php:1336 WP->main(), wp-blog-header.php:16 wp(), index.php:17 require('wp-blog-header.php')]
Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp-content/mu-plugins/lib/wpcom-error-handler/wpcom-error-handler.php:177) in /var/www/wp-includes/rest-api/class-wp-rest-server.php on line 1893
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-includes/rest-api/class-wp-rest-server.php:1893 header(), wp-includes/rest-api/class-wp-rest-server.php:331 WP_REST_Server->send_header(), wp-includes/rest-api.php:449 WP_REST_Server->serve_request(), wp-includes/class-wp-hook.php:324 rest_api_loaded(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:565 WP_Hook->do_action(), wp-includes/class-wp.php:418 do_action_ref_array(), wp-includes/class-wp.php:813 WP->parse_request(), wp-includes/functions.php:1336 WP->main(), wp-blog-header.php:16 wp(), index.php:17 require('wp-blog-header.php')]
Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp-content/mu-plugins/lib/wpcom-error-handler/wpcom-error-handler.php:177) in /var/www/wp-includes/rest-api/class-wp-rest-server.php on line 1893
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-includes/rest-api/class-wp-rest-server.php:1893 header(), wp-includes/rest-api/class-wp-rest-server.php:408 WP_REST_Server->send_header(), wp-includes/rest-api.php:449 WP_REST_Server->serve_request(), wp-includes/class-wp-hook.php:324 rest_api_loaded(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:565 WP_Hook->do_action(), wp-includes/class-wp.php:418 do_action_ref_array(), wp-includes/class-wp.php:813 WP->parse_request(), wp-includes/functions.php:1336 WP->main(), wp-blog-header.php:16 wp(), index.php:17 require('wp-blog-header.php')]
Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp-content/mu-plugins/lib/wpcom-error-handler/wpcom-error-handler.php:177) in /var/www/wp-includes/rest-api/class-wp-rest-server.php on line 1893
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-includes/rest-api/class-wp-rest-server.php:1893 header(), wp-includes/rest-api/class-wp-rest-server.php:434 WP_REST_Server->send_header(), wp-includes/rest-api.php:449 WP_REST_Server->serve_request(), wp-includes/class-wp-hook.php:324 rest_api_loaded(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:565 WP_Hook->do_action(), wp-includes/class-wp.php:418 do_action_ref_array(), wp-includes/class-wp.php:813 WP->parse_request(), wp-includes/functions.php:1336 WP->main(), wp-blog-header.php:16 wp(), index.php:17 require('wp-blog-header.php')]
Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp-content/mu-plugins/lib/wpcom-error-handler/wpcom-error-handler.php:177) in /var/www/wp-includes/rest-api/class-wp-rest-server.php on line 1893
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-includes/rest-api/class-wp-rest-server.php:1893 header(), wp-includes/rest-api/class-wp-rest-server.php:1905 WP_REST_Server->send_header(), wp-includes/rest-api/class-wp-rest-server.php:472 WP_REST_Server->send_headers(), wp-includes/rest-api.php:449 WP_REST_Server->serve_request(), wp-includes/class-wp-hook.php:324 rest_api_loaded(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:565 WP_Hook->do_action(), wp-includes/class-wp.php:418 do_action_ref_array(), wp-includes/class-wp.php:813 WP->parse_request(), wp-includes/functions.php:1336 WP->main(), wp-blog-header.php:16 wp(), index.php:17 require('wp-blog-header.php')]
Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp-content/mu-plugins/lib/wpcom-error-handler/wpcom-error-handler.php:177) in /var/www/wp-includes/rest-api/class-wp-rest-server.php on line 1893
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-includes/rest-api/class-wp-rest-server.php:1893 header(), wp-includes/rest-api/class-wp-rest-server.php:1905 WP_REST_Server->send_header(), wp-includes/rest-api/class-wp-rest-server.php:472 WP_REST_Server->send_headers(), wp-includes/rest-api.php:449 WP_REST_Server->serve_request(), wp-includes/class-wp-hook.php:324 rest_api_loaded(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:565 WP_Hook->do_action(), wp-includes/class-wp.php:418 do_action_ref_array(), wp-includes/class-wp.php:813 WP->parse_request(), wp-includes/functions.php:1336 WP->main(), wp-blog-header.php:16 wp(), index.php:17 require('wp-blog-header.php')]
Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp-content/mu-plugins/lib/wpcom-error-handler/wpcom-error-handler.php:177) in /var/www/wp-includes/rest-api/class-wp-rest-server.php on line 1893
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-includes/rest-api/class-wp-rest-server.php:1893 header(), wp-includes/rest-api/class-wp-rest-server.php:1905 WP_REST_Server->send_header(), wp-includes/rest-api/class-wp-rest-server.php:472 WP_REST_Server->send_headers(), wp-includes/rest-api.php:449 WP_REST_Server->serve_request(), wp-includes/class-wp-hook.php:324 rest_api_loaded(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:565 WP_Hook->do_action(), wp-includes/class-wp.php:418 do_action_ref_array(), wp-includes/class-wp.php:813 WP->parse_request(), wp-includes/functions.php:1336 WP->main(), wp-blog-header.php:16 wp(), index.php:17 require('wp-blog-header.php')]
Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp-content/mu-plugins/lib/wpcom-error-handler/wpcom-error-handler.php:177) in /var/www/wp-includes/rest-api/class-wp-rest-server.php on line 1893
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-includes/rest-api/class-wp-rest-server.php:1893 header(), wp-includes/rest-api/class-wp-rest-server.php:1905 WP_REST_Server->send_header(), wp-includes/rest-api/class-wp-rest-server.php:472 WP_REST_Server->send_headers(), wp-includes/rest-api.php:449 WP_REST_Server->serve_request(), wp-includes/class-wp-hook.php:324 rest_api_loaded(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:565 WP_Hook->do_action(), wp-includes/class-wp.php:418 do_action_ref_array(), wp-includes/class-wp.php:813 WP->parse_request(), wp-includes/functions.php:1336 WP->main(), wp-blog-header.php:16 wp(), index.php:17 require('wp-blog-header.php')]
Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp-content/mu-plugins/lib/wpcom-error-handler/wpcom-error-handler.php:177) in /var/www/wp-includes/rest-api/class-wp-rest-server.php on line 1893
[4players.fdpub.de/wp-json/wp/v2/posts/3089662]
[wp-includes/rest-api/class-wp-rest-server.php:1893 header(), wp-includes/rest-api/class-wp-rest-server.php:1905 WP_REST_Server->send_header(), wp-includes/rest-api/class-wp-rest-server.php:472 WP_REST_Server->send_headers(), wp-includes/rest-api.php:449 WP_REST_Server->serve_request(), wp-includes/class-wp-hook.php:324 rest_api_loaded(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:565 WP_Hook->do_action(), wp-includes/class-wp.php:418 do_action_ref_array(), wp-includes/class-wp.php:813 WP->parse_request(), wp-includes/functions.php:1336 WP->main(), wp-blog-header.php:16 wp(), index.php:17 require('wp-blog-header.php')]
{"id":3089662,"date":"2009-02-18T18:50:54","date_gmt":"2009-02-18T17:50:54","guid":{"rendered":"https:\/\/4players.fdpub.de\/allgemein\/der_4p-technik-check-teil_4_clipping-_und_kollisionsfehler\/3089662"},"modified":"2024-05-07T13:29:52","modified_gmt":"2024-05-07T11:29:52","slug":"der_4p-technik-check-teil_4_clipping-_und_kollisionsfehler","status":"publish","type":"post","link":"https:\/\/4players.fdpub.de\/news\/der_4p-technik-check-teil_4_clipping-_und_kollisionsfehler\/3089662","title":{"rendered":"Der 4P-Technik-Check: Clipping-Fehler"},"content":{"rendered":"Charaktere, die halb in W\u00e4nden verschwinden. Objekte, die ineinander \u00fcbergehen, obwohl sie sich eigentlich gegenseitig absto\u00dfen sollten. Ja, in Videospiel-Welten bekommt man einige abstruse und bizarre Dinge zu sehen, die zwar f\u00fcr den einen oder anderen Lacher gut sind, auf der anderen Seite aber auch extrem nervig sein und das Spielgef\u00fchl zerst\u00f6ren k\u00f6nnen. Gerade bei den oben genannten Beispielen spricht man oft (und dabei auch f\u00e4lschlicherweise) von
<\/P>
Clipping-Fehlern<\/U><\/STRONG><\/P>
Das Clipping an sich ist eigentlich eine feine Sache\u00a0–\u00a0 das werden sicher alle Entwickler best\u00e4tigen. Warum das? Weil es in erster Linie dazu dient, Rechenzeit einzusparen und damit mehr Ressourcen f\u00fcr andere Prozesse zur Verf\u00fcgung zu stellen. Ganz allgemein gesagt ist Clipping dazu da, Objekte oder Teile von Objekten aus der Berechnung eines Bildes (“Frames”) heraus zu nehmen, die sich ohnehin nicht im Sichtfeld des Spielers befinden. Ein kleines Beispiel aus einem fiktiven Geschicklichkeitsspiel, bei dem man, sagen wir mal in der Rolle einer Katze, M\u00e4use fangen muss, bevor sie eines der sicheren M\u00e4usel\u00f6cher erreichen. Eine aus zig tausend Polygonen bestehende Maus rennt also los, dicht gefolgt von der hungrigen Katze. Sie erreicht das rettende Loch und verschwindet vom Bildschirm\u00a0– nur die neugierige Polygon-Nase lugt noch vorsichtig hervor. Damit ist klar: Die Maus ist noch im Loch, aber warum sollte man das komplette\u00a0Tier f\u00fcr das Bild berechnen, wenn man doch nur ihre Nase sieht? Hier kommt Clipping ins Spiel, bei dem der Rest des Objekts “Maus” einfach von der Berechnung des Bildes ausgenommen wird, weil es unn\u00f6tig erscheint. In 3D-Welten, in denen in der Regel sogar noch deutlich mehr Berechnungen anfallen, ist Clipping deshalb umso wichtiger. Man stelle sich eine lange Stra\u00dfe vor, die von H\u00e4usern umrandet wird, zwischen denen sich wiederum Gassen befinden. An einer Ecke zur Gasse steht ein gef\u00fclltes \u00d6l-Fass, dessen Front zur Stra\u00dfe hin ragt. Der hintere Teil ist nicht sichtbar\u00a0– und muss demnach auch nicht berechnet werden. Mit Hilfe komplizierter Algorithmen wird dieser Umstand erfasst und als Folge dessen der hintere Teil weg “geclippt”. Jetzt befindet sich am Stra\u00dfenrand in unserem Blickfeld aber auch ein gro\u00dfer M\u00fcll-Container, neben dem sich auch eine Kiste voller \u00c4pfel befindet\u00a0– diese wird allerdings vom Container verdeckt. Warum sollte man zu diesem Zeitpunkt also \u00fcberhaupt Ressourcen f\u00fcr die Berechnung der Kiste mit den \u00c4pfeln verschwenden? Obwohl sie sich zwar im Blickfeld befindet, ist sie durch das gr\u00f6\u00dfere Objekt “M\u00fcll-Container” verdeckt und k\u00f6nnte demnach f\u00fcr die Berechnung zu diesem Zeitpunkt komplett unter den Tisch fallen. Hier kommt eine Technik namens Occlusion Culling<\/STRONG> zum Einsatz, mit deren Hilfe Objekte geclippt werden, die sich zwar im Sichtfeld befinden, aber gleichzeitig von anderen Objekten verdeckt werden.
<\/P>
Und was sind dann Clipping-Fehler? Diese treten auf, wenn der Algorithmus die Teile, die beim Bildaufbau eigentlich wegfallen sollen, falsch berechnet. Gehen wir zur\u00fcck zur Maus in ihrem sicheren Loch, aus dem nur noch die Nasenspitze heraus ragt. Pl\u00f6tzlich flackert auch der gesamte Kopf unter dem Loch durch den Boden hindurch auf\u00a0– ein typischer Clipping-Fehler. \u00c4quivalent w\u00e4re es in der eben beschriebenen 3D-Szene in etwa so, als w\u00fcrden die Kisten mit den \u00c4pfeln durch die M\u00fclltonne hindurch sichtbar werden. Auch w\u00e4re es z.B. denkbar, dass das \u00d6l-Fass an der Hausecke verschwindet und nur noch dessen Inhalt auf dem Bildschirm gezeichnet wird. Schon bei einfachen Kameraschwenks wird man oft Zeuge von Clippingfehlern, wenn die Wand neben einem pl\u00f6tzlich verschwindet und man so bereits das zu sehen bekommt, was dahinter liegt. Problematisch wird es, wenn sich auch reflektierende Objekte wie Spiegel im Blickfeld befinden. So ist es durchaus denkbar, dass z.B. eine H\u00e4userwand an der aktuellen Position nicht sichtbar und damit geclippt werden w\u00fcrde, der Spiegel sie aber eigentlich zeigen m\u00fcsste. In diesem Fall w\u00e4re es seltsam, hier aufgrund des Clippings nichts zu sehen. Um dem entgegen zu wirken, wird zun\u00e4chst in einem ersten Schritt das “Blickfeld” des Spiegels berechnet und erst anschlie\u00dfend, was der Spieler sieht. Alternativ wird mit k\u00fcnstlichen (vorgefertigten) Spiegelungen getrickst, so dass eine genaue Berechnung nicht l\u00e4nger n\u00f6tig erscheint, weil die Reflexionen lediglich simuliert werden.<\/P>
Oft wird die Bezeichnung “Clippingfehler” f\u00e4lschlicherweise mit einem anderen Ph\u00e4nomen gleichgesetzt, das bekannt ist als:
<\/P>
Fehlerhaften Kollisionsabfrage<\/U><\/STRONG><\/P>
Verschwindet also die H\u00e4lfte eurer Figur oder der erledigte Gegner in einer Wand, verschmelzen im Rennspiel manche Fahrzeuge miteinander ohne dass es kracht oder fliegt man mit seinem Raumj\u00e4ger durch das gro\u00dfe Mutterschiff einfach hindurch anstatt daran zu zerschellen, handelt es sich dabei nicht um Clippingfehler, sondern eine mangelhafte bzw. nicht vorhandene Kollisionsabfrage. Vor allem Spieler von Wing Commander werden sich noch an Letzteres erinnern, weil damals einfach nicht gen\u00fcgend Rechen-Power f\u00fcr die Berechnung von Kollisionen zur Verf\u00fcgung stand. Doch auch heute gibt es noch Entwickler, die sich damit schwer tun. Ein Beispiel aus j\u00fcngerer Zeit ist Legendary, bei dem z.B. die K\u00f6pfe der Werw\u00f6lfe beim Fallen in regelm\u00e4\u00dfigen Abst\u00e4nden in W\u00e4nden oder anderen Objekten verschwinden und sich folglich nicht mehr abtrennen lassen. Dabei ist die Aufgabe einer Kollisionsabfrage theoretisch simpel: N\u00e4hert sich der Spieler einem Objekt wie einer Wand oder auch Dingen wie einem Tisch oder einem Stuhl, muss festgelegt werden, ab welchem Zeitpunkt ein Ann\u00e4hern nicht mehr m\u00f6glich ist. Dann kommt es zur “Kollision”, bei der es f\u00fcr den Spieler entweder nicht mehr weiter geht (Beispiel Wand), er automatisch an eine Position vor der \u00dcberschreitung der Grenzlinie zur\u00fcckgesetzt\u00a0 oder eine Nachfolge-Ereignis ausgel\u00f6st wird, indem z.B. der Stuhl zur Seite geschoben wird oder umf\u00e4llt. Problematisch wird es bei vorgefertigten Animationen, die ab einem bestimmten Zeitpunkt nahe der Kollisionsgrenze automatisch abgespult werden. Ein Gegner wird ausgeschaltet, f\u00e4llt um und sein halber K\u00f6rper landet in einem Hindernis. Um dem entgegen zu wirken, setzen Entwickler vermehrt ein Ragdoll-Modell ein, das zwar physikalisch recht oberfl\u00e4chlich ausf\u00e4llt, aber in diesem begrenzten Rahmen zumindest korrekt auf die Umwelt reagiert. Eine gut funktionierende und zumindest in Ans\u00e4tzen glaubhafte Kollisionsabfrage ist in praktisch jedem Genre Pflicht\u00a0– sei es z.B. in bleihaltigen Action-Spielen, wenn es z.B. um die Frage geht, ob die Kugel ihr Ziel getroffen hat oder etwa auf der Rennstrecke, wenn sich die Fahrzeuge ber\u00fchren und um Positionen k\u00e4mpfen.

<\/P>
Doch woher kommt \u00fcberhaupt die begriffliche Verwirrung rund um Clipping und Kollisionsabfrage? Hier hat id Software mit dem ber\u00fchmt-ber\u00fcchtigten Noclip-Cheat ma\u00dfgeblich dazu beigetragen, dass die beiden miteinander verwechselt werden. Da es nach der Eingabe des Noclip-Befehls m\u00f6glich wurde, durch s\u00e4mtliche Geb\u00e4ude und Objekte hindurch zu laufen, wurde dies oft mit Clippingfehlern assoziiert, wenn es ungewollt in Spielen passierte. Tats\u00e4chlich aber ist NoClip in der Praxis viel mehr als “NoCollision” zu verstehen, weil der Cheat in erster Linie die Kollisionsabfrage au\u00dfer Kraft setzt. Teilweise wird der Befehl seinem Namen aber auch gerecht, indem nach der Eingabe auch tats\u00e4chlich das Clipping deaktiviert wird, um z.B. die Leistungsf\u00e4higkeit der Grafikengine zu testen. Das Aussetzen der Kollisionsabfrage muss allerdings nicht immer nur ein Fehler sein, sondern kann auch bewusst ins Spieldesign einflie\u00dfen. So wird z.B. an einigen Stellen in Titeln wie Super Mario Brothers oder auch Turrican auf eine Kollisionsabfrage verzichtet, so dass die Spielfigur durch das Hindernis hindurch springen kann, um versteckte Extra-R\u00e4ume ausfindig zu machen. Auch bei Left 4 Dead <A class=DYNLINK onmouseover="DynToolTipp_Show('Klicken f\u00fcr Gameinfos<\/b>‘)” onmouseout=”DynToolTipp_Hide(); ” href=”javascript:DynCont_Display(‘Gamefinder’,’runmod.php?sid={SID}&LAYOUT=dyncont_gf&spielid=11083′)”>
<\/A><\/B><\/B> wird bewusst auf eine Kollisionsabfrage zwischen den vier Charakteren verzichtet, damit man sich nicht gegenseitig im Weg steht. Auch Geisterwagen in Rennspielen funktionieren nach diesem Prinzip.
<\/P>
In manchen F\u00e4llen tritt eine mangelhafte Kollisionsabfrage aber auch zusammen mit Clippingfehlern in Erscheinung. Man denke z.B. an eine Situation, wie sie z.B. in Rainbow Six: Vegas passieren k\u00f6nnte: Das Team steht an der T\u00fcr und ist bereit, den Raum zu s\u00e4ubern, doch scheint bereits der Kopf des dahinter liegenden Gegners durch die T\u00fcr hindurch. Das passiert zum einen aufgrund der fehlenden Kollisionsabfrage zwischen Gegner und T\u00fcr, aber gleichzeitig auch aufgrund eines Clippingfehlers, denn streng genommen br\u00e4uchte die Engine den Gegner noch nicht zu berechnen, weil er sich eigentlich noch nicht in meinem Blickfeld befinden d\u00fcrfte.
F\u00fcr die Bewertung spielt eine funktionierende Kollisionsabfrage eine enorm wichtige Rolle, ist sie doch ma\u00dfgeblich daf\u00fcr verantwortlich, die virtuellen Welten als Spieler glaubhaft zu erleben und nachzuvollziehen. H\u00e4ngen Figuren mit ihrem halben K\u00f6rper in Objekten oder verschmelzen gar miteinander, indem z.B. ein Fu\u00dfballspieler einfach durch einen anderen hindurch l\u00e4uft, leidet darunter nicht nur massiv die Glaubw\u00fcrdigkeit, sondern gleichzeitig auch der Spielspa\u00df.
Wer sich f\u00fcr detaillierte Informationen zu den Clipping-Algorithmen und deren Funktionsweise interessiert, wird hier<\/A> f\u00fcndig.\u00a0\u00a0
<\/P><\/p>\n","protected":false},"excerpt":{"rendered":"Teil 4: Clipping- und Kollisionsfehler<\/p>\n","protected":false},"author":629,"featured_media":3089663,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_title":"Der 4P-Technik-Check: Teil 4: Clipping- und Kollisionsfehler","_yoast_wpseo_metadesc":"Charaktere, die halb in W\u00e4nden verschwinden. Objekte, die ineinander \u00fcbergehen, obwohl sie sich eigentlich gegenseitig absto\u00dfen sollten. Ja, in Videospiel-Welten bekomm \u2026","newspack_popups_has_disabled_popups":false,"newspack_sponsor_sponsorship_scope":"","newspack_sponsor_native_byline_display":"inherit","newspack_sponsor_native_category_display":"inherit","newspack_sponsor_underwriter_style":"inherit","newspack_sponsor_underwriter_placement":"inherit","_fdpe_sidebar_plugin_meta_block_field":"0","src":"","src_id":"","fd_iab_unique_id":"","fd_watson_nlp_category":"","newspack_featured_image_position":"","newspack_post_subtitle":"","newspack_article_summary_title":"Overview:","newspack_article_summary":"","newspack_hide_updated_date":false,"newspack_show_updated_date":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[6],"tags":[48,12476,411,775,155,23,142,49,143,427,144,413],"newspack_spnsrs_tax":[],"coauthors":[],"class_list":["post-3089662","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-48","tag-4players_de","tag-gamecube","tag-gba","tag-nds","tag-pc_cdrom","tag-playstation2","tag-playstation3","tag-psp","tag-sonstiges","tag-wii","tag-xbox","entry"],"jetpack_publicize_connections":[],"acf":[],"_yoast_wpseo_title":"Der 4P-Technik-Check: Teil 4: Clipping- und Kollisionsfehler","_yoast_wpseo_metadesc":"Charaktere, die halb in W\u00e4nden verschwinden. Objekte, die ineinander \u00fcbergehen, obwohl sie sich eigentlich gegenseitig absto\u00dfen sollten. Ja, in Videospiel-Welten bekomm \u2026","src":"","src_id":"","fd_iab_unique_id":"","fd_watson_nlp_category":"","yoast_head":"\n
Der 4P-Technik-Check: Teil 4: Clipping- und Kollisionsfehler - 4P.de<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\t\n\t\n\t\n