Originally Posted By: mao
Aber zuerst zu Voxel. Damit kann ich mir ein Volumenmodell aufbauen, das sozuagen aus Kugeln oder Quadern besteht. Die wird man in der Größe bestimmen können. Je kleiner die Bausteine, umso besser die Oberfläche

Zunächst einmal: ich würde eher Quader oder Würfel verwenden, anstatt Kugeln. Weil eine Kugel besteht ja aus sehr vielen Polygonen (Dreiecken). Und je mehr Polygone die Grafikkarte darstellen muss, desto langsamer wird das ganze dann. Daher sollte man darauf achten, möglichst wenige Polygone zu verbrauchen. Ein Würfel braucht zum Beispiel nur 12 Polygone. Du könntest also in Gamestudio ein Würfel-Modell erstellen, und dieses dann z.B. zehntausend mal kopieren (mit ENT_CREATE), und Dir aus den vielen kleinen Würfeln ein Werkstück zusammenbauen. Je kleiner die Würfel sind, desto realistischer (weniger eckig) sieht das ganze dann natürlich aus.

Oder, wie schon gesagt, Du könntest auch Sprites verwenden, die sich automatisch immer in Richtung Bildschirm drehen. Das verbraucht dann noch weniger Polygone, weil ein rechteckiges Sprite im Prinzip nur aus 2 Polygonen besteht. Also wie ein flaches Rechteck. Da es sich aber immer zum Spieler hin dreht, sieht man immer die Vorderseite. Wenn Du also sehr kleine "Voxels" verwenden möchtest, sodass man die Form bzw. das Drehen nicht so stark sieht, wäre das möglicherweise die schnellere Variante als die Würfel mit 12 Polygonen?! Müsste man mal ausprobieren.


Originally Posted By: mao
Jedes Voxel kann somit separat bei Kollision ausgeblendet werden. Gibt es für die Kollsionsprüfung fertige Methoden?

Ja, gibt es. Die 3D-Models ("Voxel"-Objekte) könnten auf Berührung durch ein anderes Objekt (Werkzeug) reagieren, und zum Beispiel gelöscht werden (oder davonfliegen, oder was auch immer.

Du könntest das ganze sogar noch optimieren, indem Du Dein Werkstück am Anfang aus nur sehr wenigen Wüfeln zusammenbaust. Und sobald ein Würfel von einem Werkzeug berührt wird, wird der große Würfel durch viele kleinere Würfel ersetzt. Also z.B. könnte ein Würfel mit 8 cm Kantenlänge durch 4 Würfel mit jeweils 4 cm Kantenlänge ersetzt werden. Du kannst also dynamisch ein großes Würfel-Objekt löschen, und 4 halb so große Würfel-Modelle an der Position des alten Würfels neu erstellen. Danach könntest Du abfragen, ob von den kleineren Würfeln einer berührt wurde, und wenn ja, könntest Du diesen Würfel wieder durch 4 halb so große Würfel ersetzten. Auf diese Art und Weise könntest Du die Stelle, an der das Werkzeug ansetzt, dynamisch verfeinern.


Originally Posted By: mao
Nun, noch ein paar Worte zu CGS. Das benutzen wohl viele Programme (CAD) im Hintergund (Volumenkörper die sich überschneiden, wird die Schnittmenge subtrahiert oder ...). Was ich aber nirgends dazu gefunden habe: Kann ich mein Werkzeug in Echtzeit am Werkstück arbeiten lassen und ich somit den Fortschritt der Bearbeitung sehen?

CGS? Ich nehme an, Du meinst CSG?!? In 3DGS gibt es zwar eine Funktion "CSG Subtract", aber die kann man meines Wissens nach nur im Editor verwenden - zum Modellieren der Levels. Also nicht zur Laufzeit Deines Programmes. Für Deine Simulation kannst Du das also vergessen.

Wenn ich so eine Werkzeug-Simulation programmieren müsste, würde ich dafür die Variante mit den Würfeln verwenden. Und ich würde es mit Gamestudio machen, weil es da viele Funktionen gibt, die die Arbeit erleichtern (für Kollissionsprüfungen, Bewegung der Werkzeuge, Sound, Kamerasteuerung, Menü-Steuerung, etc. etc.).