Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

SiliconDanny

Frischling

  • »SiliconDanny« ist der Autor dieses Themas

Beiträge: 2

Beruf: Hobby-Spieleprogrammierer

  • Private Nachricht senden

1

21.10.2015, 00:28

Direct3D optimierte 3D-Modell Erstellung

Hallo, ich hab folgende Frage zur erstellung eines einfachen Tisches,
bestehend aus einer Tischplatte und 4 rechteckigen Tischbeinen.

Im 3D-Modeller "Milkshape 3D" (oder anderen Programmen) kann ich einen einfachen Tisch
auf mindestens 2 verschiedenen Arten erstellen:

1.Schnell & einfach, indem die 4 Tischbeine einfach unter der Tischplatte platziert werden.
Nachteil:
Über die oberen offenen Enden der Tischbeine liegt eine Textur (von der Tischplattenunterseite),
die an den Tischbeinstellen nicht sichtbar ist (was sie auch nicht sein soll).

2.Die 4 Tischbeine unter der Tischplatte platzieren,
und bei den Tischbeinstellen Aussparungen (4 eckige "Löcher") an der unterseite der Tischplatte reinmachen.

Ich frage mich nun, welche der beiden Möglichkeiten ist für das schnelle & optisch mangelfreie Rendern
mit Direct3D (DirectX 9.0c) die bessere?


Folgende Anhaltspunkte kann ich vorab schon geben:

Anhand meiner wenigen stichprobenartig rausgesuchten (und konvertierten) 3D-Modellen
von (schon etwas älteren) Spielen fiel mir folgendes auf:

-In Deus Ex 1 & Gothic 2 wurde für Tische die 1.Möglichkeit verwendet
-In Half Live 1 wurde für ein Pistolen und anderes 3D Modell jedoch die 2.Möglichkeit verwendet

Ich persönlich würde eher die 2.Möglichkeit wählen, obwohl sie schwieriger & aufwendiger zu modellieren ist,
und mehr Vertices braucht. Da ich denke, daß sie Renderfreundlicher ist.

Wäre es denn beim Rendern nachteilig, die 1.Möglichkeit zu nutzen,
oder sorgt z.B. der Z-Buffer für die Entfernung der rechteckigen Texturbereiche über den 4 Tischbeinen?
Welche Nachteile gibt es sonst noch beim Rendern oder der DirectX Programmierung diesbezüglich?


Vielen Dank für Vermutungen, kompetente Antworten, oder Extra-Infos.
Wer Interesse hat, kann mein Egoshooter & Pacman ähnliches Spiel Ghost World 3D v0.93 spielen usw.
Es ist mein 1. selbstprogrammiertes & weitgehend verbessertes 3D-Spiel (Freeware).
Infos & Download: GhostWorld3D.beepworld.de

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

21.10.2015, 06:33

Ich persönlich würde eher die 2.Möglichkeit wählen, obwohl sie schwieriger & aufwendiger zu modellieren ist,
und mehr Vertices braucht. Da ich denke, daß sie Renderfreundlicher ist.
Die beiden Sätze widersprechen sich. Wieso genau soll das einfacher zu rendern sein, wenn es mehr Vertices hat? Für einen Tisch in einfachster Ausführung brauchst Du letztlich nur einen Quader für die Tischplatte und 4 Quader für die Beine, wobei man bei den Beinen oben und unten die abschließenden Polygone weglassen kann, falls er fest in der Szene herum steht. Kann man nicht unter den Tisch schauen, kann man auch noch das Polygon an der Unterseite der Tischplatte weglassen. Ob's das Performance-technisch am Ende fett macht, ist allerdings mehr als zweifelhaft.

Pistolen mit Tischbeinen zu vergleichen, halte ich zudem für kein sehr sinnvolles Vorgehen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

SiliconDanny

Frischling

  • »SiliconDanny« ist der Autor dieses Themas

Beiträge: 2

Beruf: Hobby-Spieleprogrammierer

  • Private Nachricht senden

3

21.10.2015, 09:42

Ich persönlich würde eher die 2.Möglichkeit wählen, obwohl sie schwieriger & aufwendiger zu modellieren ist,
und mehr Vertices braucht. Da ich denke, daß sie Renderfreundlicher ist.
Die beiden Sätze widersprechen sich. Wieso genau soll das einfacher zu rendern sein, wenn es mehr Vertices hat? Für einen Tisch in einfachster Ausführung brauchst Du letztlich nur einen Quader für die Tischplatte und 4 Quader für die Beine, wobei man bei den Beinen oben und unten die abschließenden Polygone weglassen kann, falls er fest in der Szene herum steht. Kann man nicht unter den Tisch schauen, kann man auch noch das Polygon an der Unterseite der Tischplatte weglassen. Ob's das Performance-technisch am Ende fett macht, ist allerdings mehr als zweifelhaft.

Pistolen mit Tischbeinen zu vergleichen, halte ich zudem für kein sehr sinnvolles Vorgehen.
Ja, man kann es wg. fehlender Worte falsch verstehen. Mit Renderfreundlicher meinte ich an dieser Stelle, daß mit keinen oder weniger optischen Problemen gerendert werden könnte. Ansonsten bedeuten mehr Vertices insbesondere bei sehr vielen Tischen im Rendervorgang natürlich mehr Arbeit für die Grafikkarte.

Doch, in diesem Fall sind Pistole/Tisch sehr wohl ein sinnvolles Vorgehen. Denn: Bei den Half-Life 1 3D-Modellen fand ich auf die schnelle kein Tisch (vermutlich kein Tisch dabei). Deswegen wählte ich ersatzweise eine dort gefundene Pistole. Und bei der dortigen Pistole war es so, daß dort eine ähnliche Aussparung im 3D-Modell war, wie sie an der Unterseite einer Tischplatte sein kann, wo die Tischbeine sind.

Danke für Deine bisherige Antwort.
Wer Interesse hat, kann mein Egoshooter & Pacman ähnliches Spiel Ghost World 3D v0.93 spielen usw.
Es ist mein 1. selbstprogrammiertes & weitgehend verbessertes 3D-Spiel (Freeware).
Infos & Download: GhostWorld3D.beepworld.de

4

21.10.2015, 10:47

Deine Beispiele sind allesamt uralt, heutzutage achtet kein Mensch mehr in dieser Art und Weise auf den Vertex-Count. Solange dein Tisch irgendwo unter 10.000 Dreiecken bleibt, sollte alles gut sein.
Du kannst z.B. auch auf Blendswap Modelle runter laden und dir anschauen, wie dort die Dreiecke zusammen gesetzt werden. Vieles davon mag nicht für Real-Time gedacht sein, dürfte aber einen wesentlich besseren Überblick liefern, als irgendwelche uralten Spiele.
Lieber dumm fragen, als dumm bleiben!

Werbeanzeige

Ähnliche Themen