Entity (3D-Gitter) verschwindet nach Anhängung an Parent
Übersicht

SébBetreff: Entity (3D-Gitter) verschwindet nach Anhängung an Parent |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo, ich habe ein kleines Problem in Blitz3D. Ich habe bereits einige Blitz3D-Erfahrung und bekomme simple Programmierfehler meistens selbst durch debugging heraus, doch hier bin ich absolut überfragt:
Folgendes. Ich erstelle einen simplen Würfel mit CreateCube() und habe eine Funktion geschrieben, die schlichtweg die Kanten des Objekts mit 3D-Linien nachzeichnet. Dazu verwende ich die (einigen von euch bestimmt schon bekannte, aber nicht im Standard Blitz Code beinhaltete) Funktion CreateLine(). Diese erstellt eine Linie aus einem Triangle mit der Fläche Null und funktioniert so auch wunderbar, Setzt allerdings EntityFX 16 vorraus (Backface Culling). Ich habe jetzt das Problem, dass das aus 3D-Linien bestehende Objekt verschwindet, sobald ich es an das Parent-Objekt (EntityFX auf standard) anhänge. Dies geschieht selbst dann, wenn das Parentobjekt ebenfalls mit EntityFX 16 versehen ist! Verschiedene Prüfungen haben ergeben, dass das Objekt existent, verschiebbar und an der richtigen Stelle mit der richtigen Größenskalierung existiert, allerdings schlichtweg nicht gerendert wird. Kommentiere ich EntityParent [gitterobjekt],[parent] aus, so ist das Objekt sofort wieder sichtbar. Woran kann das liegen? Überlegungen: Wenn EntityFX vom parent übernommen würde, so müsste das Problem durch EntityFX 16 beim parent gelöst werden können: Fail. Wenn das Gitterobjekt die selbe Farbe annimmt wie das parent, würde es nicht mehr zu erkennen sein. Habe das Gitterobjekt testweise neben das parent verschoben, auch dort ist es nicht sichtbar. Ich habe keine Leuchten, keine Schattierung oder ähnliches bis jetzt eingerichtet. Achtung: Das Gitterobjekt ist ohne parent wie gesagt sichtbar. Das Wort "Bug" wird sicherlich einige verärgern, aber ich muss mittelerweile davon ausgehen. Ich sitze da etwas länger dran und habe wie gesagt meinen Codes schon ganz andere Macken abgewöhnt, wo ich schon dachte "Hm, ob das ein Bug ist?" Bin gespannt, was ihr dazu sagt. Ich denke mal, ein Code ist hier überflüssig und würde auch von der Masse her den Rahmen sprengen. Ausschnitte würden nichts bringen. Gruß Séb |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nur mal so herauszufinden, wo das Problem liegt, wird schwierig.
Ein wenig Code würde hier weiterhelfen - du musst ja nicht gleich dein ganzes Projekt posten, sondern nur eine kleine Testumgebung, die CreateLine auf einem Würfel zeigt. Wenn du sowieso nur die Dreiecke eines Objekts nachzeichnen willst, brauchst du nicht mal eine eigene Funktion, sondern kannst das mit Wireframe und zwei Aufrufen von RenderWorld erledigen (die erzeugten Linien sind dann allerdings nur 1 Pixel breit). |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Séb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nope, ich kann diesen aufruf eben nicht simpel mit wireframe erledigen, denn welche beschränkung müsste ich mir dann gefallen lassen? ![]() ich erstelle gleich eine testumgebung, dann wollen wir mal schauen. |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Séb hat Folgendes geschrieben: nope, ich kann diesen aufruf eben nicht simpel mit wireframe erledigen, denn welche beschränkung müsste ich mir dann gefallen lassen?
![]() Welche Einschränkung wäre das denn? Wenn man CameraClsMode und RenderWorld geschickt einsetzt, dann kann man den 3D - Objekten geschickt einen Wireframe - Overlay verpassen, ohne dass man nur WireFrame - Objekte sieht. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Séb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das tue ich auch, aber dann kann ich die gitterlinien farben nicht (pro linie einzen) bestimmen. ![]() code folgt, im moment drängt das studium. |
||
Séb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
(So, neuer Post, da neuer Bezug. Kinder die rumweinen dass ich Spamme, dürfen bitte gleich weiter Pokemon zocken gehen.)
So, ich habe den ganzen Quellcode auseinandergefläddert und das wesentliche rausgezogen. Eine Datei enthält das Script an sichv (fehler.bb) und die andere (funcs.bb) ist nur zum testen dabei gepackt. Ich weise allerdings drauf hin, dass diese datei weder kritisiert noch korrigiert werden muss, da diese funktionen sonst sehr präzise und sauber arbeiten. da stecken bereits ein paar hundert stunden arbeit drin. ich habe eine zeile auskommentiert und mit einem kommentar versehen. wenn das entityparent auskommentiert ist, sehe ich die gitternetzlinien, wenn ich entityparent benutze, verschwinden sie. wieso? http://www.aeon-black.de/bb/fehler.bb includes http://www.aeon-black.de/bb/funcs.bb gruß seb |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] HideEntity X
Da steckt der Wurm drin ![]() Wenn dein Würfel Parent vom Gitterlinienmodell ist, so wird es ebenfalls versteckt. HideEntity wirkt nämlich auf das Entity und alle angehängten Childs. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Séb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
![]() You win. Sehr schnell präzise und richtig. Danke sehr und Daumen hoch. Kann abgedichtet werden. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group