Laserfeuer im D Raum
Übersicht

![]() |
BobBetreff: Laserfeuer im D Raum |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Leute,
hier mal ne Frage wie Ihr in eurem 3D SpaceShooter das Abfeuern von Laserkanonnen simuliert. Ich bitte um Anregungen. Mein Ansatz. ich ermittle mit "CameraProject camera, EntityX(ship), EntityY(ship), EntityZ(ship)" die Position von Ship und Target und male anschließernd mit einer simplen Line Methode einen Linie zu den beiden Objekten. Die Linie wird ein paarmal wiederholt damit sie nicht nur in einem Frame zu sehen ist. Die Farbe wechselt auch ein bisschen zwischen rot und gelb. Dabei ensteht der gewünscht Effekt das ein Laserstrahl ja ein Licht ist und über die komplette Distanz sichtbar ist (StarTrek like). Ich möchte auf jedenfall vermeiden das es wie in StarWars aussieht wo abgehackte Strahlen umherschwirren. (Vielleicht für meine Tachion Kanonen oder Projektil Waffen) Ich habe jetzt schon mehrfach gelesen das die Line Methode langsam sein soll. Desahalb die Frage der nach Anregungen. Zur Zeit experementiere ich mit einem Sprite das auf die Länge der Distanz zwischen beiden Objekten skaliert wird (X Skalierung). Als Textur wird eine simple 4x4 große Bitmap verwendet mit gelb,rot,rot,gelb Streifen. Das Sprit soll immer einen Y Skalierung von 4 Pixeln haben. Alternativen wären cool. Gruß bob |
||
INpac |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi.
erst mal ein lob: du verhälst dich im gegensatz zu vielen anderen neuen vorbildlich, du schilderst deine probleme genau, und übertreibst nicht mit tonnen von smilies in einem post usw. danke ![]() würde das so machen: du erstellst für jede "schusslinie" 2 cylinder. einen davon setzt du auf blendmode 3, und skalierst ihn ein wenig dicker als den anderen. Beide färbst du zB rot ein. Die Segmentanzahl der Cylinder kannste getrost niedrig halten. So. Wenn du die Positionen von start und Ende der Linie hast, rechnest du die Durchschnittsposition für alle Achsen aus, also (x1+x2)/2 etc. An dieser Stelle wird werden die 2 Cylinder, die du am besten mit Addmesh zu einem Mesh zusammenhängst, positioniert. Zum ausrichten kannste jetzt einfach pointentity schuss,target benutzen. Bi mir nicht mehr sicher, wie das mit der Objekt achse eines Cylinders, der von B3D erstellt wurde ist, kann nämlich sein, dass durch pointentity der schuss falsch ausgerichtet dann ist. Verwende dann entweder RotateMesh um die Achse des Schussmeshes zu drehen, dann klappt das mit Pointentity. Oder du machst eben du drehst einfach nach pointentity den schuss nochmal um 90 Grad an der X Achse... einfach mal ein bissl ausprobieren, hoffe das klappt. |
||
![]() |
Bob |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo INpac,
danke für das Lob ![]() Fakt ist das man nur eine gute Antwort erhält wenn man die Frage möglichst knapp aber präzise stellt. Zu deinem Vorschlag mit den Zylindern. Das werde ich testen. Hört sich nicht nur gut sondern irgendwie auch "richtig" an. Wen mann dann vielleicht auch noch mit ein bischen Texturesn Spielt erzielt man wohl einen sehr schönen Laser. Danke. Gruß Bob - repariere nichts was nicht kaputt ist - |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group