kazik2000

Jak stworzyć własne spline?

47 postów w tym temacie

Ostatnio nie mam zbyt wiele czasu, ale jeśli już się taki cud zdarzy to staram się ogarniać własne drogi i skrzyżowania. W tym miejscu, chcę przedstawić poradnik, jak zbudować własny spline i omówię wszystkie sekcje jakie znajdują się w pliku .sli.

UWAGA! Nie wzorujcie się na SDK, a konkretnie na pliku Inofficial_SDK_Omsi_0.1.02.pdf, bo chyba od tamtego czasu zmieniła się trochę struktura spline.

Do dzieła. Najlepiej się omawia na przykładzie, a więc na tapetę idzie jeden z prostszych segmentów czyli str_2spur_11m_SeeburgerStr1.sli. Plik można edytować w notatniku.

Struktura każdego spline składa się z 4 sekcji: Height Profiles, Textures, Graphical Lanes i Paths. Do poprawnego zrozumienia wartości używanych w pliku trzeba to zobrazować plikiem:

symetria.jpg

Ważne: wszystkie wartości są wyrażone w metrach. Do tego trzeba sobie rozrysować przyszły spline na kartce, bo jak widać, jest on symetryczny!. Zatem koordynatą środka X jest zawsze 0, a resztę drogi rozkładamy na boki. W powyższym przypadku chodnik przypada w sekcjach -10.5 do -5.5 oraz 5.5 do 10.5. Droga natomiast to obszar pomiędzy punktami -5.5 do 5.5 (na osi X - jest to ważne). Wszystkie sekcje swoje wpisy opiera na kierunku od lewej do prawej. Nie sprawdzałem czy zaburzenie tej kolejności coś psuje (na pewno czytelność).

Po takim wstępie omówię po kolei sekcje:

---------------------------
      Height Profiles
---------------------------

[heightprofile]
-10.500
-5.500
0.250
0.250

[heightprofile]
-5.500
5.500
0.100
0.100

[heightprofile]
5.500
10.500
0.250
0.250

Z angielskiego: profil wysokości. Jak widać są trzy wpisy w sekcji. Pierwsza odpowiedzialna jest za lewy chodnik. Wg. wzoru:

[heightprofile]
x1 - współrzędna lewej krawędzi
x2 - współrzędna prawej krawędzi
z1 - wysokość lewej krawędzi
z2 - wysokość prawej krawędzi

0.250 - jest to wysokość chodnika (tak to zostało przyjęte)

Drugi wpis w sekcji mówi nam, że od punktu -5.5 do 5.5 (czyli razem 11 metrów szerokości) będziemy mieli drogę na wysokości 0.1 (standardowa wysokość drogi w OMSI).

Trzeci wpis to prawy chodnik, stworzony analogicznie do lewego.

Zasada jest prosta: im więcej przewidujemy różnic wysokości w spline, tym więcej wpisów musi być w sekcji. Każdy odcinek musi być opisany w profilu wysokości!. Np. spline z chodnika, asfaltu, pasu zieleni, asfaltu i chodnika musi posiadać 5 wpisów w sekcji jeśli chcemy, aby chodnik i pas zieleni był wyżej niż asfalt.

Sekcja textures:

---------------------------
         Textures
---------------------------

[texture]
str_side1.bmp

[texture]
str_asphdrk_1line.bmp

Każda z użytych tekstur musi być wpisana w tej sekcji. Tekstury są "numerowane", tzn. że w przyszłej sekcji definicje tekstur są liczone od góry i od 0, w tym przypadku wpis str_side1.bmp będzie miał numer 0 a str_asphdrk_1line.bmp będzie miał numer 1 i tak dalej (w przypadku większej ilości tekstur. Pliki wypisane w tej sekcji muszą znajdować się w katalogu "textures" (oczywiście powinny posiadać też swój plik .cfg).

Sekcja następna (najtrudniejsza) to Graphical Lanes:

---------------------------
     Graphical Lanes
---------------------------

Left sidewalk:

[profile]
0

[profilepnt]
-10.500
0.250
0.187
0.200

[profilepnt]
-5.500
0.250
0.953
0.200

[profile]
0

[profilepnt]
-5.500
0.250
0.953
0.200

[profilepnt]
-5.500
0.100
0.995
0.200

Lane:

[profile]
1

[profilepnt]
-5.500
0.100
0.995
0.167

[profilepnt]
0.000
0.100
0.005
0.167

Lane:

[profile]
1

[profilepnt]
0.000
0.100
0.005
0.167

[profilepnt]
5.500
0.100
0.995
0.167

Right sidewalk:

[profile]
0

[profilepnt]
5.500
0.100
0.995
0.200

[profilepnt]
5.500
0.250
0.953
0.200

[profile]
0

[profilepnt]
5.500
0.250
0.953
0.200

[profilepnt]
10.500
0.250
0.187
0.200

Left sidewalk: <---- to jest ignorowany wpis w tej sekcji, służy za komentarz.

[profile]

0 <---- odnosi się do numeru tekstury z sekcji "textures". Zgodnie z przykładem jest to tekstura str_side1.bmp, czyli chodnik. Teraz definiujemy położenie tekstury:

Do łatwiejszego omówienia przyda się kolejny obrazek przykładowej tekstury:

tekstura.jpg

[profilepnt]
-10.500 &lt;--- położenie punktu x1
0.250 &lt;--- wysokość punktu x1
0.187 &lt;--- wartość od którego punktu zaczyna być pobierana określona tekstura (w tym przypadku jest to odległość 18,7% od lewej krawędzi)
0.200 &lt;--- trochę tajemniczy faktor, który odpowiedzialny jest za powtarzanie się tekstury, czasem trzeba go dobrać doświadczalnie, sam dokładnie tego nie zgłębiłem

Aby "zakończyć" kładzenie tekstury, należy zdefiniować jej drugi brzeg:

[profilepnt]
-5.500 &lt;--- położenie punktu x2
0.250 &lt;--- wysokość punktu x2
0.953 &lt;-- wartość do którego punktu zaczyna być pobierana określona tekstura (w tym przypadku jest to odległość 95,3% od lewej krawędzi)
0.200

W teorii zakończyliśmy definicję chodnika. Ale chcielibyśmy, aby był ładny krawężnik, zamiast "powietrza pod chodnikiem". Zatem nic prostszego, definiujemy kolejną podsekcję wykorzystując różnicę wysokości:

[profile]
0 &lt;--- definicja tekstury

[profilepnt]
-5.500 &lt;--- punkt x1 krawężnika
0.250 &lt;--- wysokość punktu x1 krawężnika
0.953 &lt;-- wartość od którego punktu zaczyna być pobierana określona tekstura (w tym przypadku jest to odległość 95,3% od lewej krawędzi)
0.200

[profilepnt]
-5.500 &lt;--- punkt x2 krawężnika jest równy x1, ponieważ idziemy w pionie!
0.100 &lt;--- wysokość punktu x2 krawężnika - tu jest zmiana wysokości
0.995 &lt;-- wartość do którego punktu zaczyna być pobierana określona tekstura (w tym przypadku jest to odległość 99,5% od lewej krawędzi)
0.200

I już! Ponieważ jesteśmy w punkcie -5.5 zabieramy się za drogę, więc definiujemy kolejne sekcje:

Lane: &lt;--- pomijalny komentarz

[profile]
1 &lt;--- tekstura numer 1 (czyli druga!)

[profilepnt]
-5.500 &lt;--- x1
0.100 &lt;--- z1
0.995 &lt;--- ciekawa sprawa, jeżeli zaczniemy definiować teksturę od prawej do lewej [od 99,5% do 0,5%] to zostanie ona odbita lustrzanie!)
0.167

[profilepnt]
0.000 &lt;--- x2 (sam środek)
0.100 &lt;--- z2
0.005 &lt;--- ciekawa sprawa, jeżeli zaczniemy definiować teksturę od prawej do lewej [od 99,5% do 0,5%] to zostanie ona odbita lustrzanie!)
0.167

Lane: &lt;--- pomijalny komentarz (tworzymy kolejny pas)

[profile]
1 &lt;--- tekstura numer 1 (czyli druga!)

[profilepnt]
0.000 &lt;--- x1
0.100 &lt;--- z1
0.005 &lt;--- tym razem tekstura "po bożemu" czyli od lewej do prawej [od 0,5% do 99,5%]
0.167

[profilepnt]
5.500 &lt;--- x2
0.100 &lt;--- z2
0.995 &lt;--- tym razem tekstura "po bożemu" czyli od lewej do prawej [od 0,5% do 99,5%]
0.167

I mamy załatwioną drogę. Został nam chodnik, a ponieważ idziemy od lewej, jako pierwszy musimy ułożyć krawężnik:

[profile]
0 &lt;--- tekstura pierwsza z listy

[profilepnt]
5.500 &lt;--- x1 = x2
0.100 &lt;--- z1 (krawężnik przy drodze)
0.995
0.200

[profilepnt]
5.500 &lt;--- x2 = x1
0.250 &lt;--- z2 ((krawężnik przy chodniku)
0.953
0.200

[profile]
0 &lt;--- tekstura pierwsza z listy

[profilepnt]
5.500 &lt;--- x1
0.250 &lt;--- z1
0.953 &lt;--- tekstura odwrócona lustrzanie (bo pierwszy punkt jest dalej lewej krawędzi)
0.200

[profilepnt]
10.500 &lt;--- x2
0.250 &lt;--- z1
0.187 &lt;--- tekstura odwrócona lustrzanie (bo pierwszy punkt jest dalej lewej krawędzi)
0.200

I tyle. O czym należy bezwględnie pamiętać? O właściwej strukturze, czyli najpierw definiujemy fragment teksturą ([profile]) a następnie dwoma punktami ([profilepnt]).

I na koniec definiujemy patche, czyli ruch na naszym spline, bo na razie jest martwy:

---------------------------
          Paths
---------------------------

[path]
1
-7.806
0.250
1.959
2

[path]
0
-1.639
0.100
3.278
1

[path]
0
1.639
0.100
3.278
0

[path]
1
7.806
0.250
1.959
2

Definicja ścieżki nie jest trudna. Oto opis:

[path]
V &lt;--- definicja, kto może się poruszać ścieżką (0 - auto, 1 - pieszy, 2 - kolej)
X &lt;--- miejsce, w którym dana ścieżka jest położona (wartości zgodnie z pierwszym rysunkiem)
Z &lt;--- wysokość (dla aut 0.1, dla pieszych 0.25)
W &lt;--- szerokość ścieżki (1.959 dla pieszych, 3.278 dla aut)
D &lt;--- kierunek poruszania się (0 - do przodu, 1 - do tyłu, 2 - oba kierunki)

Patche należy tak modyfikować, aby nasze spline mogły się połączyć już z istniejącymi. A na deser, dowód że to działa. Mój pierwszy spline :D

spline.jpg

Zażalenia, prośby, pochwały i groźby proszę pisać w tym wątku. W miarę mojej czasowości z chęcią pomogę ;)

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Mam problem z jedną z wykonanych ulic. Do mapy nad , którą pracuje brakowało mi ulicy mostu jednopasmowej, jednokierunkowej. Zrobiłem to, działa dobrze jednakże gdyby spojrzeć od dołu tekstura jest przezroczysta. W efekcie z góry wygląda to dobrze auta jadą idealnie a z dołu wygląda tak jak gdyby wisiały w powietrzu. Gdyby ktoś z osób znających się zechciał na to zerknąć w wolnej chwili i coś na to poradzić byłbym bardzo wdzięczny.

RQ_10_5_1spur_bridge.txt

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jak dla mnie to musisz stworzyć dodatkowy profil odrobinę niżej, np. na poziomie 0.0 (gdy droga jest na 0.1). Pytanie tylko jak to obłożyć teksturą z drugiej strony? Nie jestem pewien czy jest to możliwe w spline, czy jednak może trzeba to zrobić jako obiekt.

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dzięki za radę. Poradziłem sobie już. Wyszło dobrze wystarczyło wszystko podzielić na dwa względem szerszego odpowiednika tej ulicy i dodatkowo odpowiednio ustawić tekstury. Trochę roboty z tym było ale się udało

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

To fajnie, opisz może szerzej jak postępować z takim spline "w powietrzu", może się to przydać.

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
0.187 <--- wartość od którego punktu zaczyna być pobierana określona tekstura (w tym przypadku jest to odległość 18,7% od lewej krawędzi)

Sorry ale wcale nie rozumiem :( Jak mierzyć odległość od lewej krawędzi? O co w tym chodzi? (10,5 * 18,7% = 197,...) Czemu akurat 18,7 w tym przypadku? Reszta jest banalna. Tego nie mogę rozgryźć :/

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

#449

To nie jest tak... Wartość 0.187 odnosi się do tekstury, której w danym momencie się używa. Wyobraź sobie tenże plik podzielony na 1000 części (nie pikseli, bo pikseli jest nieco mniej) - pierwsze 187 kawałków idzie na ten kawałek krzywej. Następne ileśtam idzie na następny i tak dalej. Tylko nie podajesz liczby jako ilość takich kawałków, ale jako liczbę dziesiętną.

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nie myl spline'a z teksturą. Spline ma wartości od -x do x, a tekstura jest określana jak na drugim rysunku (od 0 do 1). Dobrze to wytłumaczył Piotr. Gdyby tą teksturę z rysunku 2 podzielić na 1000 równych części to od lewej byłaby liczona jako 0, 0.001, 0.002, 0.003, ... , 0.997, 0.998, 0.999, 1. I w podanym przez ciebie przykładzie tekstura jest rysowana od "punktu" 0.187 (a gdyby przedstawiać procentowo szerokość to właśnie od 18,7% licząc od lewej strony).

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Myślałem, że to trochę bardziej skomplikowane 8D Dzięki za objaśnienia, pomogły :)

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A może ktoś pokazać krok po kroku jak stworzyć skrzyżowanie? takie proste i takie bardziej skomplikowane 9przykładowo z wysepkami ?

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Skrzyżowania tylko programem do modelowania 3D np. Blender, 3ds Max, itp.

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ja ze swojej strony spróbuję uzupełnić temat tworzenia własnych splinów aby wyjaśnić jak zbudować spline, który byłby widoczny także od spodu.

Zacznę może od tego, że kładąc teksturę od punktu A zdefiniowanym pod pierwszym wpisem [profilepnt] do punktu B określonym pod drugim wpisem [profilepnt] tworzy nam się pewien wektor w układzie współrzędnych. Tekstura położona na całej długości tego wektora jest widoczna tylko od jego "lewej strony" (jeśli można to tak nazwać). Dla lepszego zrozumienia posłużę się tym schematem:

poradnik_splinow1.JPG

Wszystkie spliny ulic są definiowane od lewej do prawej strony, dlatego ich tekstury są widoczne od góry. Gdybyśmy zrobili to na odwrót tzn. najpierw określili punkt B a potem punkt A ulica byłaby widoczna od spodu.

Ta sama zasada dotyczy pozostałych kierunków:

poradnik_splinow2.JPG

I to by było na tyle. Może i odświeżam nieco stary temat ale może komuś się ta wiedza na coś przyda ;)

[Edit]

Załączniki poprawione. Przepraszam za kłopot.

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Witam mam pytanie a w zasadzie prośbę o wytłumaczenie jednej kwestii. Temat na sb zaraz zaginie a taka informacja byłaby pomocna dla osób chętnych urozmaicić swoje tworzone przez siebie mapy.

Otóż tworzę własne spliny z dziurami, pęknięciami i innymi uszkodzeniami. Tekstury są nałożone dobrze lecz gra "nie widzi" różnic w wysokościach tekstury. Powodem tego, jak się dowiedziałem jest brak pliku z rozszerzeniem surf, który odpowiada za te kwestie. Plik ten tworzy się w programie graficznym lecz jedyny opis jak to zrobić, który udało mi się znaleźć jest w języku rosyjskim a google translate nie bardzo sobie poradził z przetłumaczeniem.

Jeżeli ktoś z was wie jak to zrobić to proszę o odpowiedź w tym temacie lub na pw.

Dzięki za wszelkie pomocne informacje.

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Zapodaj linka do tego opisu, może znajdzie się ktoś bardziej zaznajomiony z tym językiem.

Sprawdzałem jak ten plik jest czytany przez programy graficzne - paint i gimp pokazują tą teksturę ale na czerwono.

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ta tekstura prawdopodobnie ma tak wyglądać przynajmniej z opisu mniej więcej tak wynika.

Opis jest w tym temacie: http://www.vbusblog.ru/forum/showthread.php?t=129&page=6 jak ktoś ma ochotę poczytać nieco więcej.

Открой в фотошопе текстуру сплайна

1.синий и зелёный каналы залей чёрным цветом

2.красный канал залией чёрно-белым градиентом по вертикали(т.е полосы должны быть горизонтально) или диагонали(чёрный будет как яма ,белый как горка(или наоборот х.з))

(если залить по горизонтали получится просто колея)

сохрани под любым именем в .bmp в папку с текстурой сплайна

переименуй это в ""ИМЯ ТЕКСТУРЫ СПЛАЙНА.bmp.surf""

если будет сильно трясти на скорости уменьшить кол-во полос градиента

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Wystarczy w PS (lub innym programie graficznym) pobawić się kolorami - kolorem wyjściowym jest czerwony. Jaśniejsze/ciemniejsze miejsca oznaczają prawdopodobnie wysokość, im większa różnica, tym głębsza dziura/wyższe wybrzuszenie (czy ciemne czy jasne odpowiada za dziurę - tego nie wiem).

http://www.mediafire.com/?7s3ybpvps5o3lm8 - wrzuć ten surf do folderu ze splinami używanymi na Twojej mapie i zrób przejażdżkę, powinieneś zauważyć kołysanie. M&R nie opisali tego zagadnienia, więc sami metodą prób i błędów musimy dojść do sposobu działania tej ciekawej funkcji ;)

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Trochę mi to rozjaśniło. Będę próbował coś z tym zrobić w wolnej chwili. Myślę, że jak się opanuje ten gadżet to powstanie z tego dobry poradnik a mapy będą bardziej realne.

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

#553

Witam serdecznie,

Panowie... Mam problem.

Mam taką oto krzywą:

---------------------------
      Height Profiles
---------------------------

[heightprofile]
-21.000
-16.000
0.250
0.250

[heightprofile]
-16.000
-7.000
0.100
0.100

[heightprofile]
-7.000
-6.800
0.250
0.250

[heightprofile]
-6.800
6.800
0.100
0.100

[heightprofile]
6.800
7.000
0.250
0.250

[heightprofile]
7.000
16.000
0.100
0.100

[heightprofile]
16.000
21.000
0.250
0.250

---------------------------
         Textures
---------------------------

[texture]
rail_bue1.bmp

[texture]
str_asphdark_1line.bmp

[texture]
str_asphdark_2line.bmp

[texture]
str_side2.bmp

[texture]
str_gruenstreifen.bmp

---------------------------
     Graphical Lanes
---------------------------

Lewy chodnik:

[profile]
3

[profilepnt]
-21.000
0.250
0.256
0.200

[profilepnt]
-16.000
0.250
0.953
0.200

[profile]
3

[profilepnt]
-16.000
0.250
0.953
0.200

[profilepnt]
-16.000
0.100
1.000
0.200

Lewa jezdnia pas 1:

[profile]
1

[profilepnt]
-16.000
0.100
1.000
0.200

[profilepnt]
-14.000
0.100
0.000
0.200

Lewa jezdnia pas 2:

[profile]
2

[profilepnt]
-14.000
0.100
0.000
0.200

[profilepnt]
-10.000
0.100
1.000
0.200

Lewa jezdnia pas 3:

[profile]
1

[profilepnt]
-10.000
0.100
0.000
0.200

[profilepnt]
-7.000
0.100
1.000
0.200

Lewy kraweznik wewnetrzny:

[profile]
5

[profilepnt]
-7.000
0.100
1.000
0.200

[profilepnt]
-7.000
0.250
0.953
0.200

[profile]
5

[profilepnt]
-7.000
0.250
0.953
0.200

[profilepnt]
-6.800
0.250
0.900
0.200

[profile]
5

[profilepnt]
-6.800
0.250
0.900
0.200

[profilepnt]
-6.800
0.100
0.000
0.200

[profile]
5

[profilepnt]
-6.800
0.100
0.900
0.200

[profilepnt]
-2.100
0.100
0.000
0.200

Lewy tor:

[profile]
0

[profilepnt]
-2.100
0.100
0.000
0.200

[profilepnt]
-0.500
0.100
1.000
0.200

Prawy tor:

[profile]
0

[profilepnt]
0.500
0.100
1.000
0.200

[profilepnt]
2.100
0.100
0.000
0.200

Prawy kraweznik wewnetrzny:

[profile]
5

[profilepnt]
2.100
0.100
0.000
0.200

[profilepnt]
6.800
0.100
0.900
0.200

[profile]
5

[profilepnt]
6.800
0.100
0.000
0.200

[profilepnt]
6.800
0.250
0.900
0.200

[profile]
5

[profilepnt]
6.800
0.250
0.900
0.200

[profilepnt]
7.000
0.250
0.943
0.200

[profile]
5

[profilepnt]
7.000
0.250
0.943
0.200

[profilepnt]
7.000
0.100
1.000
0.200

Prawa jezdnia pas 3:

[profile]
1

[profilepnt]
7.000
0.100
0.000
0.200

[profilepnt]
10.000
0.100
1.000
0.200

Prawa jezdnia pas 2:

[profile]
2

[profilepnt]
10.000
0.100
0.000
0.200

[profilepnt]
14.000
0.100
1.000
0.200

Prawa jezdnia pas 1:

[profile]
1

[profilepnt]
14.000
0.100
1.000
0.200

[profilepnt]
16.000
0.100
0.000
0.200

Prawy chodnik:

[profile]
3

[profilepnt]
16.000
0.100
1.000
0.200

[profilepnt]
16.000
0.250
0.943
0.200

[profile]
3

[profilepnt]
16.000
0.250
0.943
0.200

[profilepnt]
21.000
0.250
0.000
0.200

---------------------------
          Paths
---------------------------

[path]
1
-19.500
0.250
2.000
2

[path]
0
-14.500
0.100
3.000
1

[path]
0
-11.500
0.100
3.000
1

[path]
0
-8.500
0.100
3.000
1

[path]
2
-1.600
0.100
2.400
1

[path]
2
1.600
0.100
2.400
0

[path]
0
8.500
0.100
3.000
0

[path]
0
11.500
0.100
3.000
0

[path]
0
14.500
0.100
3.000
0

[path]
1
19.500
0.250
2.000
2

Mi wszystko pasuje, itd, itp, zrobione podług tego poradnika. A jak chcę wstawić w jakąkolwiek mapę, to mam bardzo fajny error, który zresztą też mam na wszystkich mapach Spandau - "Division durch Null", czyli "dzielenie przez zero". Ktoś raczyłby wyjaśnić, co gdzie źle nagrzebałem? Chyba, że muszę jeszcze wyeskportować przez StreetCreator, a tego nie wiem, jak zrobić. Oficjel - większość po niemiecku, a jak większość z was wie, hablo español.

Za pomoc z góry dziękuję. Jakaś nagroda się znajdzie.

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Punkty pobierania tekstury (3. wartość w [profilepnt]) - M&R mają w swoich splinach np. 0.005 - 0.995, Ty masz od 0.000 do 1.000, może chodzić właśnie o to "dzielenie przez 0".

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

#553

Witam serdecznie' date='

Panowie... Mam problem.

Mam taką oto krzywą:

(...)

Mi wszystko pasuje, itd, itp, zrobione podług tego poradnika. A jak chcę wstawić w jakąkolwiek mapę, to mam bardzo fajny error, który zresztą też mam na wszystkich mapach Spandau - "Division durch Null", czyli "dzielenie przez zero". Ktoś raczyłby wyjaśnić, co gdzie źle nagrzebałem? Chyba, że muszę jeszcze wyeskportować przez StreetCreator, a tego nie wiem, jak zrobić. Oficjel - większość po niemiecku, a jak większość z was wie, [i']hablo español[/i].

Za pomoc z góry dziękuję. Jakaś nagroda się znajdzie.

Nie wiem co dokładnie było przyczyną wyświetlania się tego błędu ale po drobnych korektach udało mi się go rozwiązać. Oto lista czynności, które wykonałem:

1. Poprawiono nazwy tekstur:

rail_bue1.bmp -> rail_bue_1.bmp

str_asphdark_1line.bmp -> str_asphdrk_1line.bmp

str_asphdark_2line.bmp -> str_asphdrk_2line.bmp

2. Skorygowano wartości pod wpisami [profile] dotyczącymi tekstury "str_gruenstreifen.bmp" gdyż jej liczba porządkowa jest równa 4, a nie 5;

3. Wszystkie punkty pobierania tekstur, o których pisał tomass94 zostały poprawione:

0.000 -> 0.005

1.000 -> 0.995

4. Dokonano kilka poprawek w teksturowaniu krawężników oraz pasów ruchu;

Poniżej załączam zmodyfikowany kod:

---------------------------
      Height Profiles
---------------------------

[heightprofile]
-21.000
-16.000
0.250
0.250

[heightprofile]
-16.000
-7.000
0.100
0.100

[heightprofile]
-7.000
-6.800
0.250
0.250

[heightprofile]
-6.800
6.800
0.100
0.100

[heightprofile]
6.800
7.000
0.250
0.250

[heightprofile]
7.000
16.000
0.100
0.100

[heightprofile]
16.000
21.000
0.250
0.250

---------------------------
         Textures
---------------------------

[texture]
rail_bue_1.bmp

[texture]
str_asphdrk_1line.bmp

[texture]
str_asphdrk_2line.bmp

[texture]
str_side2.bmp

[texture]
str_gruenstreifen.bmp

---------------------------
     Graphical Lanes
---------------------------

Lewy chodnik:

[profile]
3

[profilepnt]
-21.000
0.250
0.256
0.200

[profilepnt]
-16.000
0.250
0.953
0.200

[profile]
3

[profilepnt]
-16.000
0.250
0.953
0.200

[profilepnt]
-16.000
0.100
1.000
0.200

Lewa jezdnia pas 1:

[profile]
1

[profilepnt]
-16.000
0.100
0.995
0.200

[profilepnt]
-13.000
0.100
0.005
0.200

Lewa jezdnia pas 2:

[profile]
2

[profilepnt]
-13.000
0.100
0.005
0.200

[profilepnt]
-10.000
0.100
0.995
0.200

Lewa jezdnia pas 3:

[profile]
1

[profilepnt]
-10.000
0.100
0.005
0.200

[profilepnt]
-7.000
0.100
0.995
0.200

Lewy kraweznik wewnetrzny:

[profile]
4

[profilepnt]
-7.000
0.100
0.995
0.200

[profilepnt]
-7.000
0.250
0.973
0.200

[profile]
4

[profilepnt]
-7.000
0.250
0.973
0.200

[profilepnt]
-6.800
0.250
0.945
0.200

[profile]
4

[profilepnt]
-6.800
0.250
0.973
0.200

[profilepnt]
-6.800
0.100
0.995
0.200

[profile]
4

[profilepnt]
-6.800
0.100
0.929
0.200

[profilepnt]
-2.100
0.100
0.005
0.200

Lewy tor:

[profile]
0

[profilepnt]
-2.100
0.100
0.000
0.200

[profilepnt]
-0.500
0.100
1.000
0.200

Prawy tor:

[profile]
0

[profilepnt]
0.500
0.100
1.000
0.200

[profilepnt]
2.100
0.100
0.000
0.200

Prawy kraweznik wewnetrzny:

[profile]
4

[profilepnt]
2.100
0.100
0.005
0.200

[profilepnt]
6.800
0.100
0.929
0.200

[profile]
4

[profilepnt]
6.800
0.100
0.995
0.200

[profilepnt]
6.800
0.250
0.973
0.200

[profile]
4

[profilepnt]
6.800
0.250
0.973
0.200

[profilepnt]
7.000
0.250
0.945
0.200

[profile]
4

[profilepnt]
7.000
0.250
0.973
0.200

[profilepnt]
7.000
0.100
0.995
0.200

Prawa jezdnia pas 3:

[profile]
1

[profilepnt]
7.000
0.100
0.995
0.200

[profilepnt]
10.000
0.100
0.005
0.200

Prawa jezdnia pas 2:

[profile]
2

[profilepnt]
10.000
0.100
0.005
0.200

[profilepnt]
13.000
0.100
0.995
0.200

Prawa jezdnia pas 1:

[profile]
1

[profilepnt]
13.000
0.100
0.005
0.200

[profilepnt]
16.000
0.100
0.995
0.200

Prawy chodnik:

[profile]
3

[profilepnt]
16.000
0.100
1.000
0.200

[profilepnt]
16.000
0.250
0.943
0.200

[profile]
3

[profilepnt]
16.000
0.250
0.943
0.200

[profilepnt]
21.000
0.250
0.000
0.200

---------------------------
          Paths
---------------------------

[path]
1
-19.500
0.250
2.000
2

[path]
0
-14.500
0.100
3.000
1

[path]
0
-11.500
0.100
3.000
1

[path]
0
-8.500
0.100
3.000
1

[path]
2
-1.600
0.100
2.400
1

[path]
2
1.600
0.100
2.400
0

[path]
0
8.500
0.100
3.000
0

[path]
0
11.500
0.100
3.000
0

[path]
0
14.500
0.100
3.000
0

[path]
1
19.500
0.250
2.000
2

Zauważyłem też, że tory tramwajowe są o wiele za wąskie (ich szerokość jest równa 1.6 m) dlatego sugeruję by je poszerzyć przynajmniej do 2.4 m

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

#554

No więc tak - más "Division durch Null".

Poprawiłem trochu więcej wartości dotyczące tekstur (żeby nie było 0.000 i 1.000) i dodałem brakujący segment pomiędzy torami.

Jak było, tak jest.

Tutaj jest nowa krzywa:

---------------------------
      Height Profiles
---------------------------

[heightprofile]
-21.000
-16.000
0.250
0.250

[heightprofile]
-16.000
-7.000
0.100
0.100

[heightprofile]
-7.000
-6.800
0.250
0.250

[heightprofile]
-6.800
6.800
0.100
0.100

[heightprofile]
6.800
7.000
0.250
0.250

[heightprofile]
7.000
16.000
0.100
0.100

[heightprofile]
16.000
21.000
0.250
0.250

---------------------------
         Textures
---------------------------

[texture]
rail_bue_1.bmp

[texture]
str_asphdrk_1line.bmp

[texture]
str_asphdrk_2line.bmp

[texture]
str_side2.bmp

[texture]
str_gruenstreifen.bmp

---------------------------
     Graphical Lanes
---------------------------

Lewy chodnik:

[profile]
3

[profilepnt]
-21.000
0.250
0.005
0.200

[profilepnt]
-16.000
0.250
0.953
0.200

[profile]
3

[profilepnt]
-16.000
0.250
0.953
0.200

[profilepnt]
-16.000
0.100
0.995
0.200

Lewa jezdnia pas 1:

[profile]
1

[profilepnt]
-16.000
0.100
0.995
0.200

[profilepnt]
-13.000
0.100
0.005
0.200

Lewa jezdnia pas 2:

[profile]
2

[profilepnt]
-13.000
0.100
0.005
0.200

[profilepnt]
-10.000
0.100
0.995
0.200

Lewa jezdnia pas 3:

[profile]
1

[profilepnt]
-10.000
0.100
0.005
0.200

[profilepnt]
-7.000
0.100
0.995
0.200

Lewy kraweznik wewnetrzny:

[profile]
4

[profilepnt]
-7.000
0.100
0.995
0.200

[profilepnt]
-7.000
0.250
0.973
0.200

[profile]
4

[profilepnt]
-7.000
0.250
0.973
0.200

[profilepnt]
-6.800
0.250
0.945
0.200

[profile]
4

[profilepnt]
-6.800
0.250
0.973
0.200

[profilepnt]
-6.800
0.100
0.995
0.200

[profile]
4

[profilepnt]
-6.800
0.100
0.929
0.200

[profilepnt]
-2.100
0.100
0.005
0.200

Lewy tor:

[profile]
0

[profilepnt]
-2.100
0.100
0.005
0.200

[profilepnt]
-0.500
0.100
0.995
0.200

[profile]
4

[profilepnt]
-0.500
0.100
0.000
0.200

[profilepnt]
0.500
0.100
0.500
0.200

Prawy tor:

[profile]
0

[profilepnt]
0.500
0.100
0.995
0.200

[profilepnt]
2.100
0.100
0.005
0.200

Prawy kraweznik wewnetrzny:

[profile]
4

[profilepnt]
2.100
0.100
0.005
0.200

[profilepnt]
6.800
0.100
0.929
0.200

[profile]
4

[profilepnt]
6.800
0.100
0.995
0.200

[profilepnt]
6.800
0.250
0.973
0.200

[profile]
4

[profilepnt]
6.800
0.250
0.973
0.200

[profilepnt]
7.000
0.250
0.945
0.200

[profile]
4

[profilepnt]
7.000
0.250
0.973
0.200

[profilepnt]
7.000
0.100
0.995
0.200

Prawa jezdnia pas 3:

[profile]
1

[profilepnt]
7.000
0.100
0.995
0.200

[profilepnt]
10.000
0.100
0.005
0.200

Prawa jezdnia pas 2:

[profile]
2

[profilepnt]
10.000
0.100
0.005
0.200

[profilepnt]
13.000
0.100
0.995
0.200

Prawa jezdnia pas 1:

[profile]
1

[profilepnt]
13.000
0.100
0.005
0.200

[profilepnt]
16.000
0.100
0.995
0.200

Prawy chodnik:

[profile]
3

[profilepnt]
16.000
0.100
0.995
0.200

[profilepnt]
16.000
0.250
0.943
0.200

[profile]
3

[profilepnt]
16.000
0.250
0.943
0.200

[profilepnt]
21.000
0.250
0.005
0.200

---------------------------
          Paths
---------------------------

[path]
1
-19.500
0.250
2.000
2

[path]
0
-14.500
0.100
3.000
1

[path]
0
-11.500
0.100
3.000
1

[path]
0
-8.500
0.100
3.000
1

[path]
2
-1.600
0.100
2.400
1

[path]
2
1.600
0.100
2.400
0

[path]
0
8.500
0.100
3.000
0

[path]
0
11.500
0.100
3.000
0

[path]
0
14.500
0.100
3.000
0

[path]
1
19.500
0.250
2.000
2

Małe poprawki, nic wielkiego.

Tor szeroki na 1,6m, bo sam rozstaw szyn to 1435mm, czyli 1,435m... trochę dziwnie by wyglądało, gdyby miało pół metra z każdej strony, szczególnie przy tej teksturze.

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Witajcie serdecznie, przepraszam za odkop tematu. Otóż robię spline-a dla swojej mapy (Białołęki). Niestety, jej wydajność byłaby bardzo mała, gdybym używał poszczególnych kawałków oddzielnie. No i mam problem. Wszystko działa, tylko spline jest do góry nogami.

File created with StreetCreator v1.000

---------------------------
      Height Profiles
---------------------------

[heightprofile]
-4.550
4.550
0.100
0.100

---------------------------
         Textures
---------------------------

[texture]
str_asphdrk.bmp

[texture]
str_asphdrk.bmp

---------------------------
     Graphical Lanes
---------------------------

Całość:

[profile]
0

[profilepnt]
4.550
0.100
0.000
0.200

[profilepnt]
-4.550
0.100
0.000
0.200
---------------------------
          Paths
---------------------------

[path]
0
2.275
0.100
3.535
1

[path]
0
-2.275
0.100
3.535
1

Jak to naprawić? Z góry dziękuję za odpowiedź.

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Witajcie serdecznie' date=' przepraszam za odkop tematu. Otóż robię spline-a dla swojej mapy (Białołęki). Niestety, jej wydajność byłaby bardzo mała, gdybym używał poszczególnych kawałków oddzielnie. No i mam problem. Wszystko działa, tylko spline jest do góry nogami.

File created with StreetCreator v1.000

---------------------------
      Height Profiles
---------------------------

[heightprofile]
-4.550
4.550
0.100
0.100

---------------------------
         Textures
---------------------------

[texture]
str_asphdrk.bmp

[texture]
str_asphdrk.bmp

---------------------------
     Graphical Lanes
---------------------------

Całość:

[profile]
0

[profilepnt]
4.550
0.100
0.000
0.200

[profilepnt]
-4.550
0.100
0.000
0.200
---------------------------
          Paths
---------------------------

[path]
0
2.275
0.100
3.535
1

[path]
0
-2.275
0.100
3.535
1

Jak to naprawić? Z góry dziękuję za odpowiedź.

[/quote']

Spliny musisz definiować od lewej do prawej - wtedy tekstura będzie widoczna od góry:

---------------------------
     Graphical Lanes
---------------------------

Całość:

[profile]
0

[profilepnt]
-4.550
0.100
0.000
0.200

[profilepnt]
4.550
0.100
0.000
0.200

Zajrzyj na wcześniejszą stronę tego tematu. Tam znajdziesz bardziej szczegółowe informacje na ten temat. ;)

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Już ogarnąłem prawie, potrafię wszystko robić, ale... Wyskakuje mi błąd:

29394906621560805323.jpg

File created with StreetCreator v1.000

---------------------------
      Height Profiles
---------------------------
[heightprofile]
-8.050
-4.550
0.250
0.250

[heightprofile]
-4.550
4.550
0.100
0.100

[heightprofile]
4.550
8.050
0.250
0.250

---------------------------
         Textures
---------------------------

[texture]
str_asphdrk.bmp

[texture]
str_asphdrk.bmp

[texture]
str_gehweg02.bmp

---------------------------
     Graphical Lanes
---------------------------

Lewy chodnik:

[profile]
2

[profilepnt]
-8.050
0.250
1.000
0.200

[profilepnt]
-4.550
0.250
0.250
0.200

Droga:

[profile]
0

[profilepnt]
-4.550
0.100
1.000
0.200

[profilepnt]
4.550
0.100
0.000
0.200

Prawy chodnik:

[profile]
2

[profilepnt]
4.550
0.250
0.250
0.200

[profilepnt]

8.050
0.250
1.000
0.200

[profile]
2 

[profilepnt]
-4.550
0.250 
0.953 
0.200

[profilepnt]
-4.550 
0.100 
0.995 
0.200

[profile]
2 

[profilepnt]
-4.550
0.250 
0.953 
0.200

[profilepnt]
-4.550 
0.100 
0.187 
0.200


---------------------------
          Paths
---------------------------

[path]
0
2.275
0.100
3.535
0

[path]
0
-2.275
0.100
3.535
1

0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą dodawać komentarze

Dodaj konto

Załóż nowe konto. To bardzo proste!


Zarejestruj nowe konto

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.


Zaloguj się teraz

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.