Jump to content

Probleme beim Texturieren von Bodenplatten


BahnLand
 Share

Recommended Posts

Hallo neo,

wenn ich auf meine Bodenplatten mit der Maus Texturen aufbringen möchte, kommt es immer wieder zu folgenden Problemen:

  1. Textur benötigt nach dem Drücken der linken Maustaste mindestens 5 Sekunden (manchmal bis zu 8 Sekunden), bis sie wirksam wird. Wird die Textur dann endlich angezeigt, kann der "Pinsel" normal bewegt werden, und die Textur "läuft mit". Dass die Textur so verspätet angezeigt wird, hat insbesondere dann gravierende Nachteile, wenn man den Pinsel in einem bereits mit dieser Textur bemalten Bereich ansetzt. Dann kann man nämlich nicht erkennen, ob die Textur bereits "da" ist oder noch nicht. Bewegt man dann die Maus aus dem bereits bemalten Bereich heraus und stellt dann fest, dass die Textur "noch nicht da" ist, und bewegt die Maus dann "leer" über die Bodenplatte, werden jene Bereiche, die mit der Maus vor dem Erscheinen der Textur "Überfahren" wurden, nachträglich ebenfalls mit der Textur belegt. dies führt dann sehr oft dazu, dass die Textur an Stellen aufgetragen wird, wo dies eigentlich nicht beabsichtigt ist. Also "Maus absetzen", "Undo-Funktion ausführen", "Zeichnen" neu setzen, Maus anklicken und wieder 5 Sekunden warten, bis die Textur erscheint - ohne die Maus dabei zu bewegen! Gerade in Bereichen, wo man die Texturen sehr feinflächig setzen muss, ist es sehr mühsam, nach jedem neuen Ansetzen wieder 5 oder mehr Sekunden warten zu müssen, bis die Textur "anschlägt".
  2. Wenn ich die Textur über größere Flächen aufgetragen habe, und danach die linke Maustaste loslasse, um das Zeichnen zu beenden, passiert es mir oft, dass die Maus ohne gedrückte Maustaste einfach weiter zeichnet. Ich bekomme die "Aktivität" dann nur noch dadurch weg, dass ich beide Maustasten gleichzeitig drücke. Kann es sein, dass das Ereignis "Maustaste loslassen" manchmal einfach "verloren" geht?
  3. Das dritte Problem ist ein "Raster-Problem". Nachdem ich meine Gotthard-Anlge in "Spur Z" erstelle, erscheint mir die Rasterung, in der die Textur aufgetragen wird, sehr grob zu sein. Ist die Textur-Rasterung an das Raster der Bodenplatte geknüpft? Hier kann ich ja als feinste Rasterung "nur" 1 cm einstellen. Nachdem in Spur Z die Breite eines Normalspurgleises "nur" 6,5 mm beträgt, ist die minimale Rasterung mit fast der doppelten Spurbreite schon sehr grob. Dies mag bei der Geländeanpassung noch akzeptabel erscheinen (manchmal - z.B. bei diagonalen Rampen - sieht aber auch der dann erscheinende "horizontale" treppenstufen-Effekt "bescheuert" aus) . Doch bei den Texturen bedeutet dies, dass ich z.B. einen Waldrand nur "über Ecken" verlegen kann oder ein Bachlauf mindestens die doppelte Gleisbreite besitzt oder nicht mehr "durchgezogen" werden kann (weist dann im Bachlauf "Lücken" auf).

Zu den ersten beiden Punkten: Ist das "normal" oder ein spezielles Erscheinungsbild meiner Gotthard-Anlage (6 Bodenplatten, mit jeweils 800x800 bzw. 800x600 cm Ausdehnung und eingestellter 1-cm-Rasterung).

Zum dritten Punkt: Kann man da "was machen", sodass der Textur-Pinsel hier auf eine etwas "feinere" Einteilung reagiert?

Waldrand.jpg
Bachlauf.jpg

Viele Grüße
BahnLand 

Link to comment
Share on other sites

Hallo BahnLand,

Punkt 1 ist ein Performanceproblem. Vor jeder Änderung wird eine Sicherheitskopie angelegt, sodass du per "Rückgängig" wieder zum alten Zustand wechseln kannst. Mit der nächsten größeren Überarbeitung der Bodenplatten wird es hier deutliche Verbesserungen geben.

Punkt 2: Ich werde dies untersuchen, vermutlich geht hier ein Mausereignis verloren.

Punkt 3: Die Texturen sind an das Raster gebunden. Technisch wäre zwar auch ein kleineres Raster möglich, allerdings würde das sehr hohe Anforderungen an die Hardware stellen. Schon bei einer Anlage von 800x800 cm müssen pro Textur 640.000 Texturinformationen verwaltet werden, entsprechend multipliziert sich das mit der Anzahl der verwendeten Texturen. Für sehr feine Details wurde die Bodenplatte auch gar nicht konzipiert. Bisher habe ich mir aber auch noch kein neues Konzept dahingehend überlegt.

Viele Grüße,

Neo

Link to comment
Share on other sites

Hallo Neo,

bei Punkt 3 habe ich mir so etwas schon fast gedacht.
Was ich allerdings nicht verstehe: Warum muss das Programm sich für jeden einzelnen Rasterpunkt alle Texturen merken? Würde es nicht genügen, jeweils nur die Informationen zu jenen Texturen zu hinterlegen, die auf diesen Rasterpunkt auch tatsächlich angewendet wurden (wegen Überblendungen und Transparenzen können dies ja trotzdem mehrere sein, aber in der Regel eben nicht alle)?

Nun ja, da werde ich wohl mit den etwas eckigen Textur-Übergängen (zumindest bis auf Weiteres) "leben" müssen.

Viele Grüße
BahnLand

Link to comment
Share on other sites

Hallo BahnLand,

technisch wird die Bodenplatte bereits in Segmente unterteilt, wobei ein Segment nur die Texturen verwaltet, die auch im Segment tatsächlich genutzt werden. So ein Segment kann man aber nicht beliebig klein machen, denn die Bodenplatte kann nur dann von der Grafikkarte schnell berechnet werden, wenn so viele Rasterpunkte wie möglich in einem Stück verarbeitet werden. Es handelt sich hier um einen Kompromiss zwischen Detailtreue und Verarbeitungsgeschwindigkeit. Aber vielleicht fällt mir noch eine anderen Lösung ein.

Viele Grüße,

Neo

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...