Surface löschen ?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

ToeB

Betreff: Surface löschen ?

BeitragMi, Jul 23, 2008 11:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann man ein erstelltes Surface löschen ? Also sowas wie "surf = CreateSurface() : DeleteSurface(surf)" ??

mfg ToeB

EDIT: Mal ne andere Frage :
Ich erstelle vier Vertexpunkte in einem Surface. Jetzt beweg ich die. Wie kann ich die der Camera zuwenden (ich hoff ihr versteht) ? Also wie ein Sprite ? (Ja es geht um SingleSurface)

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

ZaP

BeitragMi, Jul 23, 2008 12:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Am einfachsten geht es, wenn du das ganze als Child der Kamera machst.
Starfare: Worklog, Website (download)

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Jul 23, 2008 12:08
Antworten mit Zitat
Benutzer-Profile anzeigen
--> ClearSurface

Ist im übrigen immer mit verwanden Themen unten verlinkt.

Edit1: Da die 3D-Berechnungen einer Grafikkarte nicht wirklich realistisch sind, kann/sollte man ein Quad nicht explizit zur Kamera zuwenden, wenn dieses nicht genau in der Bildschirmmitte gezeichnet wird. Ausser, wenn sich die Kamera selbst dreht, dann muß natürlich das Quad ''mitwandern'', dazu sollte man ein Pivot erstellen, welches als Child an der kamera hängt. An diesem Pivot kann man dann das Surface malen. Schaue dir dazu auch mal meine Draw3D an, falls dich das interessiert. Ist auch alles Singlesurface und purer Blitz3D -Code (keine DLL oder sowas).

ToeB

BeitragMi, Jul 23, 2008 12:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay, danke !

Nochmal ne frage : Ich will dass jede 30ms die Paticles geupdatet werden... Also die neuen Koordinaten eingetragen werden. Warum funzt das nicht ?
Code: [AUSKLAPPEN]
If UP_MS <= MilliSecs()-30 Then
      For i = 1 To SURFANZ
         If PATDATA(i,0,0) <> 0
            SU = PATDATA(i,0,0)
            For p = 1 To PATANZ
               If PATDATA(i,p,1) = 1
                  v1 = PATDATA(i,p,02)
                  v2 = PATDATA(i,p,03)
                  v3 = PATDATA(i,p,04)
                  v4 = PATDATA(i,p,05)
                  xx#= PATDATA(i,p,06)
                  yy#= PATDATA(i,p,07)
                  zz#= PATDATA(i,p,08)
                  sc#= PATDATA(i,p,14)
                  VertexNormal(SU,v1,xx-sc,yy+sc,zz)
                  VertexNormal(SU,v2,xx+sc,yy+sc,zz)
                  VertexNormal(SU,v3,xx-sc,yy-sc,zz)
                  VertexNormal(SU,v4,xx+sc,yy-sc,zz)
               EndIf
            Next
         EndIf
      Next
      UpdateNormals(PMESH)
      UP_MS = MilliSecs()
   EndIf


Was mach ich falsch ?
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Mr.Keks

BeitragMi, Jul 23, 2008 13:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Leute, gewöhnt euch an, nicht nur zu schreiben, dass etwas nicht funzt, sondern genau zu sagen, was passiert! Passiert gar nichts oder wird es andauernd geupdatet? Letzteres würde z.B. dafür sprechen, dass UP_MS nicht global ist.. Übrigens kannste dir das UpdateNormals sparen, wenn du sie selbst setzt. Beziehungweise bei Partikeln braucht man eh keine Normals, da sie ja nicht beleuchtet werden sollen. Und wo werden da bitteschön Partikel geupdatet?
MrKeks.net

ToeB

BeitragMi, Jul 23, 2008 13:22
Antworten mit Zitat
Benutzer-Profile anzeigen
So habs jetzt gelöst... Stat VertexNormals muss ich VertexCoords eingeben... xD

naja...

mfg ToeB

Edit:
Mal ne Frage :
Code: [AUSKLAPPEN]
VertexCoords(SU,v1,xx-sc,yy+sc,zz) : VertexColor(SU,v1,255,255,255,al#)
VertexCoords(SU,v2,xx+sc,yy+sc,zz) : VertexColor(SU,v2,255,255,255,al#)
VertexCoords(SU,v3,xx-sc,yy-sc,zz) : VertexColor(SU,v3,255,255,255,al#)
VertexCoords(SU,v4,xx+sc,yy-sc,zz) : VertexColor(SU,v4,255,255,255,al#)


Hierbei gehts um VertexColor. Warum wird die Transparenz nicht angezeigt ? Also die Transparenz soll icmmer verrigert werden (Also von 1 - 0 in z.b. 0.001er schritten). Das funzt auch. Aber wenn ich das Updaten will (Also mit VertexColor), dann bleibt die Trasparenz, egal wie ich den Wert veränedere... Warum ?

Edit2: Nochwas ... Kann ich einzellne Vertexpunkte löschen , ohne gleich das ganze Surface zu eleminieren ?


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

ToeB

BeitragMi, Jul 23, 2008 15:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay ertsmal sry für doppelpost, sonst guckt sich das keiner mehr an...

Habs jetzt gelöst, hab in der Onlinehilfe nachgelsen (VertexColor), und dabei festgestellt , dass EntityFX auf 2 stehen muss.. xD

@hectic : Wie meinst du das mit dem Pivot uns so ?

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Jul 23, 2008 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
CreatePivot ist ein Entity im 3D-Raum ohne Surface, Mesh oder sonstigem. Einfach nur ein zu definierender Punkt. Diesen kann man als Child an eine Kamera kleben. Entweder Pivot=CreatePivot(Camera) oder eben nachträglich mit EntityParent anbinden. So lange das Pivot an der Kamer klebt, wandert es ganz automatisch mit den Bewegungen der Kamera mit. Man kann aber trotzdem das Pivot mit relativen Koordinaten bewegen und so das Erscheinungsbild bestimmen. Wenn z.B. das Pivot die hälft der Bildschirmbreite (Graphics) nach Hinten +Z Achse gezogen wird, dann entspricht zudem eine ''Pivot -Koordinate'' einen Pixel auf dem Bildschirm. Mit ScaleEntity kann man noch weitere Spielereien damit machen.

Um das mal zu sehen, schaue dir mal die Draw3D an (siehe meine Signatur). Da kannst du den Code einfach einsehen, wenn du es schon unbedingt alles selber machen willst. Problem bei der Draw3D ist nur, dass man sich auch mit Banken auskennen müsste, wenn man den Code verstehen will.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

ToeB

BeitragMi, Jul 23, 2008 17:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja ich weiß was ein Pivot und so ist und was man da mit macht. Nur was ich damit im bezug auf meine Engine verwenden soll ist mir unklar...

Ich weiß wie Draw3D aufegabut ist, habs mir schon hundertmal angeguckt, finde aber nichts...

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Jul 23, 2008 22:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich war vorhin noch bei der Arbeit und hatte mein Kopf noch mit anderen Dingen zu tun. Daher bin ich von einem 2D-Darstellungssystem ausgegangen, was ja nicht zwangsweise sein muß. Wenn Partikel im 3D-Raum bewegt werden müssen, dann müßen diese natürlich dem Kamerawinkel angepasst werden. So etwas kann man z.B. mit TFormVector machen.

Ohne es jetzt getestet zu haben, müsste TFormVector 1,1,0, Camera,0 die Grundlage sein, in welche Richtungen sich die Vertices der Quads ausbreiten müssen, damit am Ende das ganze Quad zur Kamera gedreht ist. Das hiesse:

1. Vertice X=-TFormedX(), Y=+TFormedY(), Z=+TFormedZ()
2. Vertice X=+TFormedX(), Y=+TFormedY(), Z=+TFormedZ()
3. Vertice X=+TFormedX(), Y=-TFormedY(), Z=+TFormedZ()
4. Vertice X=-TFormedX(), Y=-TFormedY(), Z=+TFormedZ()

Bessere Möglichkeiten fallen mir grad nicht ein. Wobei die Werte von TFormed#() besser zwischengespeichert sein sollten, und diese dann auf alle Partikel anwenden.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

ToeB

BeitragMi, Jul 23, 2008 23:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay erstmal danke, werds heute noch nicht testen können, werd dir aber morgen bescheid geben obs klappt...

Danke !

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group