LinePick auf Terrain?
Übersicht

![]() |
EingeproggtBetreff: LinePick auf Terrain? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Nun hört man auch in Sachen 3D mal was von mir ![]() Also ich möchte ganz simpel ein Objekt auf einem Terrain bewegen - und das Objekt soll logischerweise immer auf der Höhe des Terrains sein. Ich weiß es gibt TerrainHeight ![]() ![]() Aber ich habe eine Lösung mit Linepick ![]() Und leider funktioniert das stellenweise nicht - ich frage mich warum? Folgender Code zur Demonstration: Code: [AUSKLAPPEN] ;Allgemeiner Kram
Global gfx_w=800 Global gfx_h=600 Graphics3D gfx_w,gfx_h,0,2 SetBuffer BackBuffer() ;Terrain Local terrain=LoadTerrain("terrain\height.png") EntityPickMode terrain,2 EntityOrder terrain,1 ScaleEntity terrain,0.2,10,0.2 ;Camera Global cam=CreateCamera() RotateEntity cam,90,0,0 PositionEntity cam,TerrainSize(terrain)*0.1,100,TerrainSize(terrain)*0.1 AmbientLight 255,255,255 ;Markierung Local debugger=CreateSphere(8) EntityColor debugger,255,0,0 EntityOrder debugger,-1 ;Terrain demonstrativ "durchgehn" For x=0 To TerrainSize(terrain)*0.2 For z=0 To TerrainSize(terrain)*0.2 pick=LinePick(x,11,z,0,-12,0) PositionEntity debugger,x,0,z RenderWorld Flip 0 Delay 5 If pick=0 Then Delay 100 EndIf If KeyHit(1) Then End Next Next End (In meinem richtigen Code ist alles weitestgehend variabel gehalten aber ich will hier ja n kurzen lauffähigen COde zeigen der mein Problem aufzeigt) Die rote Sphere "läuft" sytematisch über das Terrain wenn man den Code ausführt - und an den Stellen an denen mein LinePick fehlschlägt stockt sie kurz (beabsichtigt um es zu veranschaulichen) Also bei meiner Test-Heightmap die man sich hier anschauen kann gibts einige Stellen an denen das Terrain nicht richtig gepickt wird (Linepick 0 zurück liefert) - Warum aber? An x beliebigen anderen Stellen gehts ja? Danke für jede Hilfe! mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
vllt geht das terrain bevor du es skalierst von y=-1 bis y=1 und nich von 0-1 | ||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe als "deltay" bei Linepick schon alle möglichen Werte genommen - hat leider nichts geändert (falls das Terrain 1 Einheit weiter unten sein sollte als ich es vermute...)
Die Lösung war, einen "radius" anzugeben bei Linepick - mit radius=1 funktioniert alles prächtig und fehlerfrei - Danke coolo ![]() (Warum es ohne Angabe eines Radius nicht geht ist mir ein Rätsel aber vorerst mal egal) mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Chrise |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich kenne mich da selbst nicht genug aus und bin für den BBContest gerade selbst dabei die Terrain-funktionen und Eigenschaften zu erforschen.
Aber möglicherweise könnte es daran liegen, dass ein Terrain sich ja stetig ändert, jenachdem wo sich die Camera befindet. Das ist von mir jetzt nur eine rein in den Raum gestellte Aussage und ist bestimmt mit einer Chance von 80% falsch ![]() |
||
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group