Nochmal: Du willst, dass ein Fahrzeug so schwer ist, dass es beim ersten Überfahren den Boden komprimiert, bei weiteren Überfahrten der Boden aber nicht weiter nachgibt, ja? Und das in Echtzeit, oder? :o
2 Methoden:
EinfachMach ein weisses rechteck, 256x256 und ein weiteres 512x512.
Auf das große packst Du alle Boden-Texturen (das ganze Land von oben).
Auf das kleine ein paar graue Punkterl
Wenn jetzt die Autos gefahren sind (neuer SHOWSCREEN) zeichnest Du das kleine Sprite und machst da, wo die Fahrzeuge sind einen dunklen Punkt.
Dann GRABSRITE, SAVESPRITE, LOADBUMPSPRITE.
Nun die große (bunte) als Textureinheit 0 und die kleine als Bump-Einheit setzen.
Damit schaffst Du ca 20FPS nicht mehr. (geschätzt)
Vorteil: sieht super aus (Reifenspuren usw...)
Nachteil: Spiel wird zum Dias-Abend
ExaktDein Terrain musst Du (wie auch oben) in einer map[100][100] oder so speichern - siehe Islands Demo. Jetzt kopierst Du diese: heightmap[] = map[]; und arbeitest von nun an mit der heightmap[][].
Du skaierst die echten Koordinaten vom Fahrzeug einfach zurück auf die Feld-Indizies und drückst die Werte runter - aber (Trick) nicht kleiner werden als map
- [y] - max_eindrueck_tiefe.
Vorteil: Schnell
Nachteil: relativ ungenau, Reifenspuren kannst' vergessen
Verstehst Du, was ich meine?