Text über dem Kopf

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Asobi

Betreff: Text über dem Kopf

BeitragMo, Dez 20, 2010 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Titel sollte eigentlich schon alles sagen Smile
Wie funktioniert sowas ? Muss der Text etwa auch als 3D Model erstellt werden ?

Danke schonmal für eure Antworten!

mfg Asobi
<@Exorzist> Die Intilligenz von Menschen lässt sich an ihren Fragen feststellen <@huhu> Hä?
 

mDave

BeitragMo, Dez 20, 2010 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
CameraProject mit Koordinates des Meshes, dann mit Text.
Ist eine der simpleren Methoden.

Xeres

Moderator

BeitragMo, Dez 20, 2010 16:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du ein bisschen genauer erklärst, was du erreichen möchtest, erhöhst du die Chancen, dass dir geholfen wird.
Du hast eine 3D Szene und möchtest 2D Text über bestimmten Objekten anzeigen?
Dazu musst du die 2D Koordinaten herausfinden Arrow CameraPick und entweder nach RenderWorld 2D Zeichenbefehle benutzen.
Oder du verwendest Sprites/Quads um den Text in 3D über das Objekt zu bringen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Asobi

BeitragMo, Dez 20, 2010 16:42
Antworten mit Zitat
Benutzer-Profile anzeigen
@mDave:

BlitzBasic: [AUSKLAPPEN]

CameraProject camera, EntityX(player), EntityY(player), EntityZ(player)
Text ProjectedX(), ProjectedY(), "Name"


Wenn ich das so mache, erscheint der Text unten rechts beim Spieler-Objekt.
Gibt es da auch eine Möglichkeit den oberen Punkt des Objektes anzusprechen ?

@Xeres: Ich verstehe nicht, wie man mit CameraPick Koordinaten abfragen kann.
Im Beispiel dazu wird auch nur erklärt, wie man die selbst bestimmt.
<@Exorzist> Die Intilligenz von Menschen lässt sich an ihren Fragen feststellen <@huhu> Hä?

blackgecko

BeitragMo, Dez 20, 2010 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Na dann zählst du einfach was dazu
BlitzBasic: [AUSKLAPPEN]
CameraProject  camera, EntityX(player)+1, EntityY(player)+3, EntityZ(player)-2
Text ProjectedX(), ProjectedY(), "Name"

Die Werte durch ausprobieren anpassen.

Ob man den höchsten Punkt des Objekts automatisch finden lassen kann, weiß ich nicht.
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax
Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die.

ToeB

BeitragMo, Dez 20, 2010 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest z.B. auch die Draw3D einbinden, da kannst du ein 3D Text ziemlich einfach erstellen !


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!

Xeres

Moderator

BeitragMo, Dez 20, 2010 17:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Woops, CameraPick war eine Verwechslung meinerseits...
Ich würde MeshDepth, MeshHeight, MeshWidth verwenden, oder die Ausdehnung des Spielers in Variablen speichern - "ausprobieren" ist nicht die beste Variante.
Beachte, das du bei text mit den letzen Parametern noch etwas arbeiten kannst.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Asobi

BeitragMo, Dez 20, 2010 17:56
Antworten mit Zitat
Benutzer-Profile anzeigen
@Xeres klingt an sich ganz gut, aber MeshHeight(player) gibt mir irgendwie -20000000.0 aus.

Edit: Kann es vielleicht daran liegen, das es ein animiertes Mesh ist ?
<@Exorzist> Die Intilligenz von Menschen lässt sich an ihren Fragen feststellen <@huhu> Hä?
 

mDave

BeitragMo, Dez 20, 2010 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ergänzung zu meinem Vorschlag:

Was ist Phase? EntityX(player), EntityY(player), EntityZ(player) sind die Koordinates des Ursprunges des Modells. Und der Ursprung eines Modells ist selten auf Höhe des Kopfes - eher bei den Füßen.
Daher ist es auch klar, dass der Text bei deinem Versuch nicht über dem Kopf geschrieben wird.

Vielleicht könnte das klappen:
Code: [AUSKLAPPEN]
CameraProject  camera, EntityX(player), EntityY(player)+MeshHeight(player),EntityZ(player)
Text ProjectedX(), ProjectedY(), "Name"

Vielleicht aber auch nicht, musst du austesten und deinen Wünschen entsprechend anpassen.

lg

Johannes´

BeitragMo, Dez 20, 2010 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst bei MeshHeight, MeshWidth und MeshDepth darauf achten, wie du das verwendete Modell skalierst. Wenn du ScaleEntity verwendest, liefern dir die Befehle weiterhin die ursprüngliche Größe. Bei ScaleMesh wird ja das Modell an sich skaliert, hier wird dann auch die passende Größe zurückgeliefert.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group