terrain fehler
Übersicht

Boris1993Betreff: terrain fehler |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo
immer wenn ich eine heightmap lade und diese auf der y-achse skaliere entsteht an einer seite des terrains eine ungewollte erhöhung weiss jemand wie ich dieses problem lösen kann? es liegt wahrscheinlich am skalieren aber das ist notwendig weil sonst die berge nicht hoch genug sind hier ein screenshot damit ihr wisst was ich meine: schonmal danke für eure antworten mfg boris |
||
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Am skalieren liegt es nicht wirklich, man sieht es dann nur besser.
vergleiche mal diese Punkte mit der genau gegenüberliegenden Seite, die sollten die gleiche Höhe haben Also bei einem Terrain 256² ist X=255 = X=0 von den Höhenkoordinaten her, warum, weiß ich leider nicht. Am Besten ist immer entweder X/Z=0 und X/Z=max auf den koordinaten 0 zu setzen oder ein Meshterrain zu benutzen. |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dieses Problem kenne ich auch.
Dort wird dir Höhe von der anderen Seite des Terrains genutzt. Eine richtige Lösung hatte ich nicht gefunden gehabt. Man könnte aber den Rand auf eine einheitliche Größe bringen. Eine Idee fällt mir aber noch spontan ein: Deine Heightmap ist ein quadratisches Bild mit 2^x Pixeln Seitenlänge? Die Höheninformationen eines Terrains haben nämlich die Seitenlänge 2^x+1. Vielleicht musst du die Höhe und die Breite des Bildes um einen Pixel vergrößern. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mach einfach bei dem bild ein Schwarzes rechteck (nicht ausgefüllt) ums komplette bild, also so das das bild von einem schwarzen rand umrandet wird. Sollte aber nur 1 Pixel groß sein. Schwupps, das Problem ist weg ![]() 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! |
Boris1993 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nunja wirklich behoben ist der fehler damit nicht man kann ihn nur nicht mehr sehen.
es muss doch irgendeine möglichkeit geben ihn richtig zu beheben oder? |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() Ich würde das terrain so aufbauen, das es am rand immer den selben farbwert hat, also z.B. 0,0,0(schwarz). Dann kannst du dort deine Berge oder was auch immer reinmalen, aber so das die Flächen immer am rand zu schwarz werden (ich hoffe du verstehst)... 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! |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die nächste Lösung, wenn du das Problem wirklich beheben möchtest, bastel dir ein Meshterrain | ||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist eigendlich kein Bug in dem Sinne, sondern eine Notwendigkeit wenn man es richtig machen möchte.
Bei einem Terrain, das mit einer Textur überzogen ist, erwartet man, dass jedes Quad einem (wenn Highmap und Textur gleich groß sind) Texel entspricht. Ein Quad benötigt aber zwei Vertices, wovon einer dem Nachbarquad gehört. Mit anderen Worten: Ein Terrain mit - sagen wir mal - 256er Kantenlänge und einer gleich großen Textur drauf, hat immer genau so viele Quads wie groß die Textur ist. Also in diesem Fall 256x256 Quads wovon - wegen der Handbarkeit - jedes Texturtexel genau auf ein Quad passt. Um so ein Terrain zu realisieren, werden aber 257x257 Vertices benötigt. Es ist nur logisch nun nicht einfach das Terrain am Ende abzuflachen, sondern den Anfang zu benutzen. So hat der Programmierer noch die Möglichkeit das Ende mitzu beinflussen um ggf. ein nächstes Terrain als Tile anzuhängen. Texturen die großer oder kleiner sind als das Terrain, werden genauso perfekt skalliert. Denn wir wissen ja alle, dass nut Texturen als auch Terrains mit einer 2er Potent Kantenlänge benutzt werden können. - - - Die Alternative wäre, man nimmt eine 256er Terraintextur und teil diese dann in 256x256 Vertices, wovon jedoch nur 255x255 Quads (Tiles) von übrig bleiben. Damit wäre zwar Höhenkontrolle einfacher, aber präzise Schadowmaps wiederrum nur erschwert unmöglich. Da es zu interferenzen zwischen der Terrainaufteilung und der drauf gelegten Textur kommen würde. Edit1: Aber ja, ich bevorzuge auch die zweite Möglichkeit. Auch wenn die Textur dann nicht mehr 1:1 drauf gelegt werden kann. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Boris1993 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gut dann werd ich das demnächst so machen wie ToeB gesagt hat
oder ich mache ein meshterrain^^ aber was genau meinst du mit meshterrain? einfach ein mesh als landschaft benutzen würde doch das LOD prinzip nicht zulassen |
||
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein LOD system müsstes du dir dann selber schreiben, oder das Terrain in mehrere Meshes unterteilen und die weiter entfernten dann ausblenden | ||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
Boris1993 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
dann versuch ich das mal
aber wie realisiere ich das am besten das entfernte objekte ausgeblendet werden? fällt mir grad keine lösung ein |
||
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Objekte in Types speichern und kontrollieren ob sie in Sichtweite o.ä. sind.
Oder du benutzt entityFadeOut oder wie der Befehl nochmal hieß. |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
EntityAutoFade macht aber meines wissens nach nur das Objekt "unsichtbar", es wird aber noch mitberechnet. Du pürfst einfach , ob das Terrain 1. In sichtweite ist mit EntityInView![]() ![]() ![]() ![]() 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! |
KaozZZ |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Könnte man nicht, wenn man die heightmap als image lädt und dann die eine pixelreihe des image ausliest mit modifterrain das terrain an diesen stellen anpassen??? das wäre doch noch eigentlich ne möglichkeit, wenn mans mit einem normalem terrain machen möchte, oder??
(ich weis nich ob das funktioniert und es wäre natürlich auch umständlich) |
||
Boris1993 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
aber ist es bei hide entity nicht auch so dass das objekt noch gerendert wird? in der hilfe steht dass es nur nicht mehr auf collisionen geprüft wird | ||
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
HideEntity![]() Die Anweisung HideEntity schaltet ein Objekt aus - es wird dadurch unsichtbar.
Den Satz vorher hast du doch bestimmt auch gelesen, oder? ![]() mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group