Terrain mit Spline anpassen funktioniert nicht (richtig)

Eure Foren für alle Diskussionen rund ums Thema Modding.
Mike77
2. Verwarnung
Posts: 662
Joined: Tue Nov 06, 2012 2:33 am

Terrain mit Spline anpassen funktioniert nicht (richtig)

Post by Mike77 »

Ich habe nun schon einige Tutorials gesehen zum Thema Straßenbau, und überall funktioniert das Skript im GE anders als bei mir.
Wenn ich die Breite anpasse, damit das Gelände links und rechts neben der Straße hinaus angepasst wird, dann wird das Gelände schief.
Wie im Bild zu sehen ist das Gelände an der Spline auf der richtigen Höhe, aber links zu tief und rechts zu hoch. Weiter hinten in der Kurve ist es dann rechts zu tief und links zu hoch. So also für mich total unbrauchbar. Ich benutze übrigens schon den 9.0.2 und etwas anderes als die in den Videos mache ich auch nicht. Was zum Geier mache ich da falsch?
Image

EDIT: PaintTarrainBySpline funktioniert bei mir überhaupt garnicht. Gibt auch keine Fehlermeldung in der Log oder in der Console. Die Textur bleibt einfach wie sie ist.
Mike77
2. Verwarnung
Posts: 662
Joined: Tue Nov 06, 2012 2:33 am

Re: Terrain mit Spline anpassen funktioniert nicht (richtig)

Post by Mike77 »

Man fragt sich ja manchmal schon ob das überhaupt jemanden interessiert, aber ich habe die Lösung für das Problem gefunden.
Man darf die Spline nicht drehen. Sobald die Rotationswerte der Spline etwas anderes anzeigen als 0 0 0 , kommt es zu allerhand seltsamen Problemen. Zb das die Breite nicht richtig eingestellt werden kann, oder das Terrain dann in den Kurven schräg wird. Je größer der Winkel, umso schlimmer.
Also... Spline erstellen, mit STRG+B an Ort und Stelle platzieren, den Punkt "s" löschen, damit der Origin am Anfang ist und "e" in die Richtung verschieben, wo man hin will, und von da aus weiterarbeiten.

PaintTerrainBySpline funktioniert bei mir aber immer noch nicht. Vielleicht finde ich dort den Fehler auch noch.
User avatar
Emanuel83
Posts: 982
Joined: Fri Aug 23, 2019 7:12 am

Re: Terrain mit Spline anpassen funktioniert nicht (richtig)

Post by Emanuel83 »

Mich interessiert es auf jedenfall! Ich habe gerade jetzt mal das Script ausprobiert und hatte (noch) keine Probleme.
Ich habs aber genauso gemacht wie du gesagt hast bzw. für neue Punkte die "Einfügen" Taste umd da verschoben mit STR+B
Hatte das so bei AgrarModding gesehen

PaintTerrainBySpline habe ich noch nie verwendet. wie ist das überhaupt zu verstehen?

Gruß
Des is gkupft wia ghatscht und bis zum Heiratn is wieda guat :coolnew:
Mike77
2. Verwarnung
Posts: 662
Joined: Tue Nov 06, 2012 2:33 am

Re: Terrain mit Spline anpassen funktioniert nicht (richtig)

Post by Mike77 »

Ich hatte immer den Fehler gemacht und die Spline mal grob mit dem Gismo in die Richtung gedreht in die ich musste. Also in dem Fall entlang der Straße ausgerichtet, damit man schon mal die Richtung hat. Und genau das darf man eben nicht machen. Ich bin beim testen fast wahnsinning geworden. Eine Testspline schnell auf das Terrain geworfen, bissl verlängert, ne Kurve rein, und nach oben gezogen, das Skript ausgeführt und zack... funktioniert wunderbar. Nur meine Spline, die ich entlang der Straße verlegt habe, mit der ging es nicht. Mit keiner von denen... Also habe ich die Splines exportiert auf eine leere Map, selbe Problem.
Dachte dann es hat was mit der länge zu tun, war alles nix. Bis ich dann gesehen habe, das die Splines alle auf der Y Achse gedreht sind, außer die eine zum testen bei der es funktioniert. Also auf Null gedreht und plötzlich funktioniert das wunderbar.

Das PaintTerrainBySpline ist ein weiteres Skript mit dem man Texturen entlang der Spline malen kann. Funktioniert bei mir aber in keinster weise.
TheSuBBie
Posts: 540
Joined: Wed Jun 10, 2020 11:38 am

Re: Terrain mit Spline anpassen funktioniert nicht (richtig)

Post by TheSuBBie »

Ein kleiner Tipp, den Sie vielleicht nützlich finden, wenn Sie Splines in den Terrain Height/Place/Textur-Skripten verwenden
Erstellen Sie den Spline, wählen Sie dann den S-CV aus und löschen Sie ihn. Dadurch wird der Ursprungspunkt in die Spline-Mitte verschoben. Verwenden Sie dann einfach den E-CV, um Ihren Spline in eine beliebige Richtung ohne Rotationsprobleme zu erstellen.

Google Übersetzer verwendet
Mike77
2. Verwarnung
Posts: 662
Joined: Tue Nov 06, 2012 2:33 am

Re: Terrain mit Spline anpassen funktioniert nicht (richtig)

Post by Mike77 »

@TheSuBBie Ja, ich hab das bereits so gemacht, aber es hat nicht wirklich einen Unterschied gemacht.

Ich habe allerdings inzwischen auch den Fehler gefunden, warum das mit dem TerrainPainting per Spline nicht funktioniert. Es sind die falschen Nummern eingetragen.

Code: Select all

source("editorUtils.lua");
EditorUtils.paintTerrainBySpline(82, 8); -- 80 is asphalt, 71 is grass, 82 is gravel
Diese Nummern sind wohl noch aus dem LS19 oder woher auch immer. Ich habe mit niedrigeren Nummern probiert und da funktioniert es.
Jetzt muss ich nur noch eine Tabelle finden, aus der ich die aktuellen ID's herauslesen kann...
Mike77
2. Verwarnung
Posts: 662
Joined: Tue Nov 06, 2012 2:33 am

Re: Terrain mit Spline anpassen funktioniert nicht (richtig)

Post by Mike77 »

Mike77 wrote: Thu Mar 03, 2022 3:00 pm Jetzt muss ich nur noch eine Tabelle finden, aus der ich die aktuellen ID's herauslesen kann...
Ok... der Ordnung halber, und weil ich es selber Hasse, wenn andere ein Problem gelöst haben, und es dann für sich behalten, hier die Tabelle für die USMap bzw Elmcreek:

(Thanks again @TheSuBBie for pointing me the right direction)

Code: Select all

00    Layer: "animalMud01"
01    Layer: "animalMud02"
02    Layer: "animalMud03"
03    Layer: "animalMud04"
04    Layer: "concrete01"
05    Layer: "concrete02"
06    Layer: "concrete03"
07    Layer: "concrete04"
08    Layer: "dirt01"
09    Layer: "dirt02"
10    Layer: "dirt03"
11    Layer: "dirt04"
12    Layer: "grass01"
13    Layer: "grass02"
14    Layer: "grass03"
15    Layer: "grass04"
16    Layer: "grassDry01"
17    Layer: "grassDry02"
18    Layer: "grassDry03"
19    Layer: "grassDry04"
20    Layer: "grassDryPatchy01"
21    Layer: "grassDryPatchy02"
22    Layer: "grassDryPatchy03"
23    Layer: "grassDryPatchy04"
24    Layer: "forestGround01"
25    Layer: "forestGround02"
26    Layer: "forestGround03"
27    Layer: "forestGround04"
28    Layer: "gravel01"
29    Layer: "gravel02"
30    Layer: "gravel03"
31    Layer: "gravel04"
32    Layer: "gravelDirt01"
33    Layer: "gravelDirt02"
34    Layer: "gravelDirt03"
35    Layer: "gravelDirt04"
36    Layer: "gravelDust01"
37    Layer: "gravelDust02"
38    Layer: "gravelDust03"
39    Layer: "gravelDust04"
40    Layer: "gravelGrass01"
41    Layer: "gravelGrass02"
42    Layer: "gravelGrass03"
43    Layer: "gravelGrass04"
44    Layer: "gravelMoss01"
45    Layer: "gravelMoss02"
46    Layer: "gravelMoss03"
47    Layer: "gravelMoss04" 
48    Layer: "mud01"
49    Layer: "pathway01"
50    Layer: "pathway02"
51    Layer: "pathway03"
52    Layer: "pathway04"
53    Layer: "pathwayGravel01"
54    Layer: "pathwayGravel02"
55    Layer: "pathwayGravel03"
56    Layer: "pathwayGravel04"
57    Layer: "riverBed01" 
58    Layer: "riverBed02" 
59    Layer: "riverBed03" 
60    Layer: "riverBed04" 
61    CombinedLayer: "ANIMALMUD" 
62    CombinedLayer: "CONCRETE" 
63    CombinedLayer: "DIRT" 
64    CombinedLayer: "FORESTGROUND" 
65    CombinedLayer: "GRASS" 
66    CombinedLayer: "GRASSDRY" 
67    CombinedLayer: "GRASSDRYPATCHY" 
68    CombinedLayer: "GRAVEL" 
69    CombinedLayer: "GRAVELDIRT" 
70    CombinedLayer: "GRAVELDUST" 
71    CombinedLayer: "GRAVELGRASS" 
72    CombinedLayer: "GRAVELMOSS" 
73    CombinedLayer: "PATHWAY" 
74    CombinedLayer: "PATHWAYGRAVEL" 
75    CombinedLayer: "RIVERBED" 
Stegei
GIANTS Software | CTO
Posts: 1788
Joined: Sat Jun 09, 2007 10:51 am

Re: Terrain mit Spline anpassen funktioniert nicht (richtig)

Post by Stegei »

Das aktuelle paintTerrainBySpline Script hat einen Bug wenn der Spline rotiert ist. Mit dem nächsten Editor Update wird dies gefixt.
Also Workaround kann man z.B. das Freeze Transform Feature im Editor benutzen um die Rotation auf 0 zurückzusetzen, ohne dass sich der Spline verschiebt (seit GE 9 funktioniert dies nun auch mit Splines).

Die Layer Number hängt von der Map ab.
Die "normalen" Layer fangen bei 0 an und sind in der Reihenfolge wie im i3D deklariert (oder im Terrain Editing Panel drop down).
Danach folgenden die "komplexen" Layer.

Eine Liste wie von Mike77 gepostet, kann man sich z.b. mit folgendem Script generieren (wenn man das Terrain selektiert hat):

Code: Select all

local terrainId = getSelection(0)
local numLayers = getTerrainNumOfLayers(terrainId)
for i=0,numLayers-1 do
    print(string.format("%d: %s", i, getTerrainLayerName(terrainId, i)))
end
Mike77
2. Verwarnung
Posts: 662
Joined: Tue Nov 06, 2012 2:33 am

Re: Terrain mit Spline anpassen funktioniert nicht (richtig)

Post by Mike77 »

Stegei wrote: Fri Mar 04, 2022 2:28 pm Also Workaround kann man z.B. das Freeze Transform Feature im Editor benutzen um die Rotation auf 0 zurückzusetzen
Ah... vielen Dank. Das wäre gestern ganz nützlich gewesen, bevor ich 21 Kilometerlange Splines gelöscht und neu gesetzt habe. :frown:

Stegei wrote: Fri Mar 04, 2022 2:28 pm Eine Liste wie von Mike77 gepostet, kann man sich z.b. mit folgendem Script generieren (wenn man das Terrain selektiert hat):

Code: Select all

local terrainId = getSelection(0)
local numLayers = getTerrainNumOfLayers(terrainId)
for i=0,numLayers-1 do
    print(string.format("%d: %s", i, getTerrainLayerName(terrainId, i)))
end
Auch das sieht sehr nützlich aus und dürfte ne ganze Menge Zeit sparen. Dankeschön.
Post Reply