Seite 1 von 2
Terrainheight() unter PB 4.02
Verfasst: 01.02.2007 15:44
von Enno
Ich habe mich jetzt auch mal mit dem 3D-Kram beschäftigt und bin auf folgendes Problem gestoßen:
Sobald Terrainheight() größer als 500 ist, kommt nur eine 0 raus.
Macht sich nicht so gut wenn man einen virtuellen Berg besteigt und mittels CameraLocate(..., TerrainHeight(),...) im Erdkern endet.
Habe schon im englischen Forum geblättert, aber da waren nur 2 ältere Fragen zum selben Thema allerdings ohne Antwort.
zum Ausprobieren nur die Zeile im Terrain-Beispiel wie folgt ändern
CreateTerrain("Terrain.png", MaterialID(0), 10, 10, 10, 10)
gibt es eine neue engine3d oder irgendeinen Patch oder...
Verfasst: 01.02.2007 16:27
von Kaeru Gaman
kann das problem nicht bestätigen.
hab die höchsten stellen aufgesucht, keine probleme.
hab mir allerdings auch nicht die rückgabewerte debuggen lassen...
[edit]
so.. mit debugten rückgabewerten hab ich gesehen dass es unter 500 geblieben war.
hab das z-scaling auf 11 erhöht und konnte den effekt nachvollziehen.
Verfasst: 01.02.2007 16:45
von Enno
Ob es an der Grafikkarte liegt?
direct 9c ist drauf und der aktuelle Grafiktreiber auch.
Grafikkarte NVIDIA GeForce2 MX 100/200
PIV mit 1,5 GHz
1G Arbeitsspeicher.
Werde mal hausieren gehen, vielleicht läuft es ja woanders.
Danke für die schnelle Antwort.
ups.. da war ich wohl zu schnell mit dem Selbstzweifel
scheint wohl doch ein allgemeines Problem zu sein.
Verfasst: 01.02.2007 16:47
von Kaeru Gaman
glaube ich nicht, da ich TerrainHeight() für ne reine engine-geschichte halte,
ich bezweifle dass die graka da irgendwas mitzureden hat.
Verfasst: 01.02.2007 16:54
von dllfreak2001
Wenn man das Terrain per Y-Scale abartig hoch skaliert dann passiert dieses Phänomen aber mit 5fach ist noch alles in Ordnung.
Verfasst: 01.02.2007 17:17
von Kaeru Gaman
mit 10fach auch...
jedenfalls mit dem demo-terrain...
@dllfreak
kennst du den effekt?
...also ist das normal, oder wie...
@Enno
eigentlich sind alle werte floats...
in dem beispiel ist die cam-speed ja auf 5.
stell die z.b. mal auf 0.5 dann brauchst du lange genug von einem ende der map zum anderen, wenn du alle scales auf 10 stellst.
...natürlich musst du dann auch den faktor beim mausdrehen ändern...
Verfasst: 01.02.2007 18:38
von dllfreak2001
ka warum das passiert aber wenn man ein terrain mit 255 als höhe macht und dann zb 8fach yscale dann passiert das was enno beschrieben hat.
Verfasst: 08.02.2007 09:53
von Enno
Erst einmal vielen Dank für das Interesse.
@Kaeru Gaman
Habe eine eigene Welt erstellt. Die Höhentufentextur geht von 2 bis 255.
Alle 3 Terrainachsen mit Faktor 5 versehen. (x und z zum Spaß bis auf 100, geht auch noch

)
Die Kamerahöhe auf Terrain +2 gesetzt.
#cameraspeed auf 0.2
Bin kein Goliath mehr, sondern eine Ameise in einem fetten Gebirge.
Fürs durchqueren braucht man jetzt "lange"
Skalierung macht Laune.
Danach noch den Robot mit 0.3 skaliert und durch die Welt laufen lassen.
KLappt auch noch.
Du kannst die Welt nicht verändern, nur Dich selbst.
Verfasst: 08.02.2007 14:04
von dllfreak2001
Ich finde das sollte trotzdem überprüft werden.
Scheint ja nen kleiner Bug zu sein
Verfasst: 09.03.2007 18:14
von Thalius
hab ich vor "jahren" mal im englischen board gepostet. keine Reaktion. ist erst seit der neueren engine3d.dll so .. also definitiv ein bug in den wrapper values fuer die eine achse.
Ist einer der Hauptgründe warum ich jetzt irrlicht benutze. PB Ogre hat a zuviele bugs .. ist B zu umstaendlich zu handhaben.
oh apropos ich erriner mich du kannst das terrian mit Createterrain() auch nachtraeglich reskalieren und aendern... hatte da mal rumgespielt um ne art seamless terrain map zu generieren .. das höhenproblem nach dem update hat mir dann den rest der Nerven gegeben ( hab x stunden verbröselt den fehler in meinem code zu finden .. )
Thalius