Sprite direkt mit Terrain verbinden
Übersicht

![]() |
Terror-StateBetreff: Sprite direkt mit Terrain verbinden |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Leute!
Ich hab da ein Problem und weiss nicht so recht wie ich das lösen kann. Ich will das ein Sprite sich den Höhen und Tiefen eines Terrains anpasst, also quasi mit ihm verschmelzt. da n sprite aber nur 4 vertices hat ist das für mich ein widerspruch. ich dachte immer ich richte das sprite nach dem terrain aus: also nehme den anstieg zw. 2 Punkten in der umgebung des spielers. Wer sich jetzt fragt wozu: als beispiel könne man auren nehmen die immer zu den fußen das spielers liegen und dort rotieren (was weiss ich z.B. WoW!) Hat da jemand nen Ansatz für mich? Dankebar für jede neue Idee! cYa Terror-State Edit: Hab mir gerade noch was überlegt, aber lasst erstma hören! ![]() |
||
Ob friedlich oder militant, wichtig ist der Widerstand |
![]() |
FreakForFreedom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm, das einzige was man da machen könnte, wär halt ein Sprite mit mehreren Vertices und die dann dem H-Wert des Terrain anpassen. (Wie du schon meintest)
Bei WoW glaube ich, lösen die das anhand von Vertex-Shadern, weil es sonst zu langsam wär. (Glaube ich!) Aber ich glaube ich hab sowas nur bei WoW gesehen. In so ziemlich den meisten Spielen wird einfach ein Sprite unter dem Spieler gesetzt, egal wie das Terrain ist. Edit: Mir ist gerade eine andere Möglichkeit eingefallen: Eine Textur (die wie eine Aura z.B. aussieht) direkt unter dem Spieler auf dem Terrain positionieren. Müsste doch machbar sein oder? |
||
Mfg
F.F.F. "Try and ERROR!" |
Todeskop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du könntest ja auch die ENTITYORDER funktion nehmen oder, warte eben beispielfunktion zaubern.....das nehmen:
Bsp: Code: [AUSKLAPPEN] Graphics3D 640,480,16,2
SetBuffer BackBuffer() camera=CreateCamera() light=CreateLight() PositionEntity camera,0,0,-5 RotateEntity light,90,0,0 m = CreateMesh() EntityFX m,16+1 While Not KeyHit(1) sino#=sino#+1 s = CreateSurface(m) AddVertex(s,-1,Sin(sino#),-1,0.45,1) AddVertex(s,1,Cos(sino#),-1,0,1) AddVertex(s,-1,Sin(sino#),1,0.45,0.2) AddVertex(s,1,Cos(sino#),1,0,0.2) AddTriangle(s,0,2,1) AddTriangle(s,2,3,1) UpdateNormals m RenderWorld ClearSurface s Flip Wend End sooo kurz ne inturdaktion du erstellst im mainloop 4 vertexpunkte inclusieve surface(kaum zu übersehen), nachdem renderworld durchlaufen wurde löscht du sie wieder(sonst macht er 10000000de),so und jetzt setzt du anstatt diesem sin und cos was ich da reingepanscht habe die gradige yposition des terrainy welches du mit terrainy und vertexkoordinaten also z.B. so Code: [AUSKLAPPEN] AddVertex(s,position!,terrainy(VERTEXX#(s,INDEX),VERTEXy#(s,INDEX),VERTEXz#(s,INDEX)),Position!)
MFG Todeskop ~edit~ hatte kein Bock die UVposition zu machen das kannste ja schön selber machen XD. ~edit2~ so die meisten rechtschreib-und grammatik-fehler gelöscht XD, falls noch welche auffallen bitte melden. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group