Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Edycja Nieba, Chmur, Poświaty


Rekomendowane odpowiedzi

Opublikowano

W tym tutorialu opisze Wam jak edytować Niebo, Chmury, Poświatę, czyli krócej environment.

Zdaję sobie sprawę że dla niektórych tutorial może być niezrozumiały, ale ciężko mi to prościej opisać.

 

Na początek filmik. Chciałem wam pokazać w nim możliwości environment, nie przykładałem wagi do tego czy to ładnie wygląda czy nie. Na końcu filmiku macie już gotowe environment, które Wam załączam na dole tematu.

 

 

1.Ogólne

 

Za mgłę, niebo, chmury, refleks odpowiada plik environment. Każda mapa ma przypisany jakiś environment, jaki dowiadujemy się z pliku setting mapy,

oczywiście od strony klienta. A gdzie w takim razie można znaleźć te pliki? Po rozpakowaniu ETC z pack pojawi się nam folder environment w którym

znajdziemy pliki z rozszerzeniem msenv. W tym tutorialu posłużę się msenv ognistej ziemi.

 

ScriptType		 EnvrionmentData
ScriptVersion	  1.0000

Group DirectionalLight
{
Direction	 0.596551 0.281780 -0.751483

Group Background
{
	Enable		1
	Diffuse	   0.874510 0.643137 0.490196 1.000000
	Ambient	   0.478431 0.211765 0.035294 1.000000
}

Group Character
{
	Enable		1
	Diffuse	   0.874510 0.643137 0.490196 1.000000
	Ambient	   0.628431 0.361765 0.185294 1.000000
}
}
Group Material
{
Diffuse	   1.000000 0.984314 0.984314 1.000000
Ambient	   0.431373 0.200000 0.180392 1.000000
Emissive	  0.011765 0.003922 0.003922 1.000000
}

Group Fog
{
Enable		1
NearDistance  1.000000
FarDistance   30000.000000
Color		 0.580392 0.156863 0.023529 1.000000
}

Group Filter
{
Enable		0
Color		 0.176471 0.164706 0.164706 0.000000
AlphaSrc	  1
AlphaDest	 2
}

Group SkyBox
{
Scale				 3500.000000 3500.000000 3500.000000
GradientLevelUpper	8
GradientLevelLower	1

CloudScale			200000.000000 200000.000000
CloudHeight		   30000.000000
CloudTextureScale	 5.000000 5.000000
CloudSpeed			0.010000 0.010000
CloudTextureFileName  "d:/ymir work/environment/clouds_zone01.tga"
List CloudColor
{
	0.686275 0.223529 0.078431 0.000000
	0.000000 0.000000 0.000000 0.000000
}
List Gradient
{
	0.121569 0.000000 0.000000 0.000000
	0.121569 0.000000 0.000000 0.000000

	0.121569 0.000000 0.000000 0.000000
	0.098039 0.000000 0.000000 0.000000

	0.098039 0.000000 0.000000 0.000000
	0.172549 0.000000 0.000000 0.000000

	0.172549 0.000000 0.000000 0.000000
	0.109804 0.043137 0.000000 0.000000

	0.109804 0.043137 0.000000 0.000000
	0.098039 0.094118 0.019608 0.000000

	0.098039 0.094118 0.019608 0.000000
	0.207843 0.105882 0.000000 0.000000

	0.207843 0.105882 0.000000 0.000000
	0.243137 0.062745 0.062745 0.000000

	0.243137 0.062745 0.062745 0.000000
	0.580392 0.156863 0.023529 0.000000

	0.580392 0.156863 0.023529 0.000000
	1.000000 0.533333 0.000000 0.000000
}
}

Group LensFlare
{
Enable					 0
BrightnessColor			1.000000 0.886275 0.886275 1.000000
MaxBrightness			  0.740000
MainFlareEnable			1
MainFlareTextureFileName   "D:\YMIR WORK\environment\clouds_zone02.TGA"
MainFlareSize			  0.350000
}

2.Podstawy

 

Elementu environmentu możemy aktywować i dezaktywować. Aby aktywować szukamy linii z Enable i ustawiamy na 1, np:

	Group Background
{
	Enable		1

 

Lub

   MainFlareEnable			1

 

Edytując environment natkniemy się na tego typu linijki

		Diffuse	   0.874510 0.643137 0.490196 1.000000

Zwykle decydują one o kolorze, poprzez mieszanie podstawowych barw. Pierwsze 3 odpowiadają za kolor.

Szczerze mówiąc nie wiem za bardzo za co odpowiada 4 wartość (przezroczystość?) tu 1.000000, polecam zostawić taką jaka jest.

 

Maksymalna wartość koloru jaką możemy zastosować to 1.000000 a minimalna -1.000000. Jeżeli kolor jest na -, przykładowo

-0.643137

to zadziała inaczej niż wartości dodatnie.

 

Przykłady:

 

kolor czerwony w grze

Diffuse	   1.000000 0.000000 0.000000 1.000000

 

kolor zielony w grze

Diffuse	   0.000000 1.000000 0.000000 1.000000

 

kolor niebieski w grze

Diffuse	   0.000000 0.000000 1.000000 1.000000

 

kolor złota (żółty) w grze

Diffuse	   1.000000 1.000000 -1.000000 1.000000

 

kolor różowy w grze

Diffuse	   1.000000 -1.000000 1.000000 1.000000

 

kolor jasnoniebieski w grze

Diffuse	   -1.000000 1.000000 1.000000 1.000000

 

kolor czarny w grze

Diffuse	   0.000000 0.000000 0.000000 1.000000

 

Ustalając wartości pośrednie między tymi możemy uzyskiwać pozostałe kolory, tak jak np na ognistej ziemi kolor pomarańczowo-czerwony:

Diffuse	   0.874510 0.643137 0.490196 1.000000

 

Może zauważyliście oprócz Diffuse także Ambient. Przykładowo wygląda on tak:

Ambient	   0.628431 0.361765 0.185294 1.000000

 

Ambient jest to pogłębienie koloru który ustawialiśmy w Diffuse, a także odpowiada za to czy np postać tylko z jednej strony będzie miała poświatę czy z każdej strony.

 

Przykład:

 

Poświata tylko na plecach:

Ambient	   0.431373 0.200000 0.180392 1.000000

 

Poświata na całej postaci:

Ambient	   -1.000000 -1.000000 -1.000000 1.000000

 

Przy linijce z Material spotkamy się także z Emissive. Ta linia odpowiada na to jaki wpływ na pozostałe elementy ma edycja Material.

 

To wyżej to podstawy. Teraz przejdźmy do edycji poświaty.

3.Poświata

 

Widzieliście na pewno efekt na ognistej ziemi, kiedy postać, podłoże, kamienie i mosty stawały się pomarańczowe, czerwone.

Aby coś takiego uzyskać otwieramy nasz plik msenv i jedziemy do 8 linii, Group Background.

 

Background odpowiada przede wszystkim za podłoże wliczając w to góry, dno rzek, jezior.

Przykładowo. Aby te wyżej wymienione były koloru intensywnego zielonego, podobnie jak w przykładzie ustawiamy Diffuse tak:

Diffuse	   0.000000 1.000000 0.000000 1.000000

 

Zjeżdżamy do kolejnego, 15 linia, Group Character. Charakter odpowiada za postacie graczy, npc, a takze wszystkie potwory.

Aby postacie były koloru dajmy na to jasnoniebieskiego, ustawiamy Diffuse na

Diffuse	   -1.000000 1.000000 1.000000 1.000000

 

Tu pojawia się też zastosowanie Ambient, od tego jak je ustalimy oprócz pogłębienia koloru będzie także decydowało o tym czy poświata

na postaci będzie od każdej strony, czy tylko z jednej.

 

22 linia, Group Material. Material odpowiada generalnie za poświatę na budynkach, mostach, głazach itp, ale ma też pewny, możliwy do zmiany wpływ na resztę otoczenia. Aby Most miał złotą poświatę ustawiamy tu Diffuse na

Diffuse	   1.000000 1.000000 -1.000000 1.000000

 

Przy Material pojawi się też Emissive, pisałem o tym wyżej.

 

Uwaga! Poświata nigdy nie działa na drzewa, ponieważ są one w metinie zrobione w inny sposób.

4.Mgła

 

Może zauważyliście ze mgła na ognistej ziemi także ma inny kolor niż np w M1. Zjeżdżamy do 29 linii, Group Fog

 

NearDistance odpowiada za najbliższą odległość mgły.

FarDistance za najdalszą odległość mgły.

 

Uwaga! Odległość mgły jest też modyfikowana przez plik costinfo z root.

 

Color oczywiście odpowiada za kolor mgły, aby mgła była przykładowo czerwona, ustawiamy:

Color	   1.000000 0.000000 0.000000 1.000000

5.Chmury i Niebo

 

Szukamy linii 45, Group SkyBox. Widzimy tam wiele linii zaraz opiszę większość.

CloudHeight odpowiada za to, na jakiej wysokości będą chmury.

CloudSpeed odpowiada za szybkość przesuwania się chmur. Jeżeli chmury mają byc nieruchome, dajemy 0.000000

w CloudTextureFileName podajemy ścieżkę do naszej tekstury chmur.

Pod List CloudColor widzimy nawiasy klamrowe i miedzy nimi ciągi liczb podobne do Diffuse, działają tak samo, tylko że na chmury.

 

Niebo działa na zasadzie gradientu, czyli przechodzenia z jednego koloru w drugi. Mamy go w linii 61.

Widzimy tam wiele par podobnych do tych z wcześniejszych punktów. Jakbyście pootwierali różne msenv, zauważylibyście że się różni ilość tych par.

Tego ile ich powinno być definiują GradientLevelUpper i GradientLevelLower. W Lower dajemy zawsze 1, a w Upper możemy różnie. Ilość par powinna się

zgadzać sumie Upper i Lower, przykładowo:

	GradientLevelUpper	8
GradientLevelLower	1

W Gradient powinno być 9 par.

Z tych par będzie później tworzony nieboskłon w grze, oczywiście drogą Gradientu.

6.Słońce i Refleks

 

Zjeżdżamy do linii 92, Group LensFlare

Co to jest ten Refleks, możemy zobaczyć na filmiku.

 

Pamiętajmy, że linie z Enable odpowiadają za to czy konkretny element environmentu jest aktywny.

 

BrightnessColor modyfikuje kolor tego efektu, wartości podajemy identycznie jak przy Diffuse

MaxBrightness odpowiada za intensywność światła, max wartość to 1.000000, min 0.000001

 

Co do refleksu, możemy jeszcze edytować pod jakim kątem kamery nam się pojawi. Odpowiada za to Direction w 6 linii.

 

Mamy też tam coś takiego jak MainFlare, odpowiada to za Słońce lub Księżyc.

w MainFlareTextureFileName podajemy ścieżkę do teksturki słońca lub księżyca,

w MainFlareSize definiujemy rozmiar tarczy tego obiektu, max wartość to 1.000000, min 0.000001

environment.rar

sygnatura2.png


Opublikowano

Można to świetnie wykorzystać na jakiejś nowej mapie + quest . Wchodząc na tą mapę Twoja postać może dostać ''Czerwonki'' :P

2:55

 

W tym tutorialu opisze Wam jak edytować Niebo, Chmury, Poświatę, czyli krócej environment.

Zdaję sobie sprawę że dla niektórych tutorial może być niezrozumiały, ale ciężko mi to prościej opisać.

 

Na początek filmik. Chciałem wam pokazać w nim możliwości environment, nie przykładałem wagi do tego czy to ładnie wygląda czy nie. Na końcu filmiku macie już gotowe environment, które Wam załączam na dole tematu.

 

 

1.Ogólne

 

Za mgłę, niebo, chmury, refleks odpowiada plik environment. Każda mapa ma przypisany jakiś environment, jaki dowiadujemy się z pliku setting mapy,

oczywiście od strony klienta. A gdzie w takim razie można znaleźć te pliki? Po rozpakowaniu ETC z pack pojawi się nam folder environment w którym

znajdziemy pliki z rozszerzeniem msenv. W tym tutorialu posłużę się msenv ognistej ziemi.

 

ScriptType		 EnvrionmentData
ScriptVersion	  1.0000

Group DirectionalLight
{
Direction	 0.596551 0.281780 -0.751483

Group Background
{
	Enable		1
	Diffuse	   0.874510 0.643137 0.490196 1.000000
	Ambient	   0.478431 0.211765 0.035294 1.000000
}

Group Character
{
	Enable		1
	Diffuse	   0.874510 0.643137 0.490196 1.000000
	Ambient	   0.628431 0.361765 0.185294 1.000000
}
}
Group Material
{
Diffuse	   1.000000 0.984314 0.984314 1.000000
Ambient	   0.431373 0.200000 0.180392 1.000000
Emissive	  0.011765 0.003922 0.003922 1.000000
}

Group Fog
{
Enable		1
NearDistance  1.000000
FarDistance   30000.000000
Color		 0.580392 0.156863 0.023529 1.000000
}

Group Filter
{
Enable		0
Color		 0.176471 0.164706 0.164706 0.000000
AlphaSrc	  1
AlphaDest	 2
}

Group SkyBox
{
Scale				 3500.000000 3500.000000 3500.000000
GradientLevelUpper	8
GradientLevelLower	1

CloudScale			200000.000000 200000.000000
CloudHeight		   30000.000000
CloudTextureScale	 5.000000 5.000000
CloudSpeed			0.010000 0.010000
CloudTextureFileName  "d:/ymir work/environment/clouds_zone01.tga"
List CloudColor
{
	0.686275 0.223529 0.078431 0.000000
	0.000000 0.000000 0.000000 0.000000
}
List Gradient
{
	0.121569 0.000000 0.000000 0.000000
	0.121569 0.000000 0.000000 0.000000

	0.121569 0.000000 0.000000 0.000000
	0.098039 0.000000 0.000000 0.000000

	0.098039 0.000000 0.000000 0.000000
	0.172549 0.000000 0.000000 0.000000

	0.172549 0.000000 0.000000 0.000000
	0.109804 0.043137 0.000000 0.000000

	0.109804 0.043137 0.000000 0.000000
	0.098039 0.094118 0.019608 0.000000

	0.098039 0.094118 0.019608 0.000000
	0.207843 0.105882 0.000000 0.000000

	0.207843 0.105882 0.000000 0.000000
	0.243137 0.062745 0.062745 0.000000

	0.243137 0.062745 0.062745 0.000000
	0.580392 0.156863 0.023529 0.000000

	0.580392 0.156863 0.023529 0.000000
	1.000000 0.533333 0.000000 0.000000
}
}

Group LensFlare
{
Enable					 0
BrightnessColor			1.000000 0.886275 0.886275 1.000000
MaxBrightness			  0.740000
MainFlareEnable			1
MainFlareTextureFileName   "D:\YMIR WORK\environment\clouds_zone02.TGA"
MainFlareSize			  0.350000
}

2.Podstawy

 

Elementu environmentu możemy aktywować i dezaktywować. Aby aktywować szukamy linii z Enable i ustawiamy na 1, np:

	Group Background
{
	Enable		1

 

Lub

   MainFlareEnable			1

 

Edytując environment natkniemy się na tego typu linijki

		Diffuse	   0.874510 0.643137 0.490196 1.000000

Zwykle decydują one o kolorze, poprzez mieszanie podstawowych barw. Pierwsze 3 odpowiadają za kolor.

Szczerze mówiąc nie wiem za bardzo za co odpowiada 4 wartość (przezroczystość?) tu 1.000000, polecam zostawić taką jaka jest.

 

Maksymalna wartość koloru jaką możemy zastosować to 1.000000 a minimalna -1.000000. Jeżeli kolor jest na -, przykładowo

-0.643137

to zadziała inaczej niż wartości dodatnie.

 

Przykłady:

 

kolor czerwony w grze

Diffuse	   1.000000 0.000000 0.000000 1.000000

 

kolor zielony w grze

Diffuse	   0.000000 1.000000 0.000000 1.000000

 

kolor niebieski w grze

Diffuse	   0.000000 0.000000 1.000000 1.000000

 

kolor złota (żółty) w grze

Diffuse	   1.000000 1.000000 -1.000000 1.000000

 

kolor różowy w grze

Diffuse	   1.000000 -1.000000 1.000000 1.000000

 

kolor jasnoniebieski w grze

Diffuse	   -1.000000 1.000000 1.000000 1.000000

 

kolor czarny w grze

Diffuse	   0.000000 0.000000 0.000000 1.000000

 

Ustalając wartości pośrednie między tymi możemy uzyskiwać pozostałe kolory, tak jak np na ognistej ziemi kolor pomarańczowo-czerwony:

Diffuse	   0.874510 0.643137 0.490196 1.000000

 

Może zauważyliście oprócz Diffuse także Ambient. Przykładowo wygląda on tak:

Ambient	   0.628431 0.361765 0.185294 1.000000

 

Ambient jest to pogłębienie koloru który ustawialiśmy w Diffuse, a także odpowiada za to czy np postać tylko z jednej strony będzie miała poświatę czy z każdej strony.

 

Przykład:

 

Poświata tylko na plecach:

Ambient	   0.431373 0.200000 0.180392 1.000000

 

Poświata na całej postaci:

Ambient	   -1.000000 -1.000000 -1.000000 1.000000

 

Przy linijce z Material spotkamy się także z Emissive. Ta linia odpowiada na to jaki wpływ na pozostałe elementy ma edycja Material.

 

To wyżej to podstawy. Teraz przejdźmy do edycji poświaty.

3.Poświata

 

Widzieliście na pewno efekt na ognistej ziemi, kiedy postać, podłoże, kamienie i mosty stawały się pomarańczowe, czerwone.

Aby coś takiego uzyskać otwieramy nasz plik msenv i jedziemy do 8 linii, Group Background.

 

Background odpowiada przede wszystkim za podłoże wliczając w to góry, dno rzek, jezior.

Przykładowo. Aby te wyżej wymienione były koloru intensywnego zielonego, podobnie jak w przykładzie ustawiamy Diffuse tak:

Diffuse	   0.000000 1.000000 0.000000 1.000000

 

Zjeżdżamy do kolejnego, 15 linia, Group Character. Charakter odpowiada za postacie graczy, npc, a takze wszystkie potwory.

Aby postacie były koloru dajmy na to jasnoniebieskiego, ustawiamy Diffuse na

Diffuse	   -1.000000 1.000000 1.000000 1.000000

 

Tu pojawia się też zastosowanie Ambient, od tego jak je ustalimy oprócz pogłębienia koloru będzie także decydowało o tym czy poświata

na postaci będzie od każdej strony, czy tylko z jednej.

 

22 linia, Group Material. Material odpowiada generalnie za poświatę na budynkach, mostach, głazach itp, ale ma też pewny, możliwy do zmiany wpływ na resztę otoczenia. Aby Most miał złotą poświatę ustawiamy tu Diffuse na

Diffuse	   1.000000 1.000000 -1.000000 1.000000

 

Przy Material pojawi się też Emissive, pisałem o tym wyżej.

 

Uwaga! Poświata nigdy nie działa na drzewa, ponieważ są one w metinie zrobione w inny sposób.

4.Mgła

 

Może zauważyliście ze mgła na ognistej ziemi także ma inny kolor niż np w M1. Zjeżdżamy do 29 linii, Group Fog

 

NearDistance odpowiada za najbliższą odległość mgły.

FarDistance za najdalszą odległość mgły.

 

Uwaga! Odległość mgły jest też modyfikowana przez plik costinfo z root.

 

Color oczywiście odpowiada za kolor mgły, aby mgła była przykładowo czerwona, ustawiamy:

Color	   1.000000 0.000000 0.000000 1.000000

5.Chmury i Niebo

 

Szukamy linii 45, Group SkyBox. Widzimy tam wiele linii zaraz opiszę większość.

CloudHeight odpowiada za to, na jakiej wysokości będą chmury.

CloudSpeed odpowiada za szybkość przesuwania się chmur. Jeżeli chmury mają byc nieruchome, dajemy 0.000000

w CloudTextureFileName podajemy ścieżkę do naszej tekstury chmur.

Pod List CloudColor widzimy nawiasy klamrowe i miedzy nimi ciągi liczb podobne do Diffuse, działają tak samo, tylko że na chmury.

 

Niebo działa na zasadzie gradientu, czyli przechodzenia z jednego koloru w drugi. Mamy go w linii 61.

Widzimy tam wiele par podobnych do tych z wcześniejszych punktów. Jakbyście pootwierali różne msenv, zauważylibyście że się różni ilość tych par.

Tego ile ich powinno być definiują GradientLevelUpper i GradientLevelLower. W Lower dajemy zawsze 1, a w Upper możemy różnie. Ilość par powinna się

zgadzać sumie Upper i Lower, przykładowo:

	GradientLevelUpper	8
GradientLevelLower	1

W Gradient powinno być 9 par.

Z tych par będzie później tworzony nieboskłon w grze, oczywiście drogą Gradientu.

6.Słońce i Refleks

 

Zjeżdżamy do linii 92, Group LensFlare

Co to jest ten Refleks, możemy zobaczyć na filmiku.

 

Pamiętajmy, że linie z Enable odpowiadają za to czy konkretny element environmentu jest aktywny.

 

BrightnessColor modyfikuje kolor tego efektu, wartości podajemy identycznie jak przy Diffuse

MaxBrightness odpowiada za intensywność światła, max wartość to 1.000000, min 0.000001

 

Co do refleksu, możemy jeszcze edytować pod jakim kątem kamery nam się pojawi. Odpowiada za to Direction w 6 linii.

 

Mamy też tam coś takiego jak MainFlare, odpowiada to za Słońce lub Księżyc.

w MainFlareTextureFileName podajemy ścieżkę do teksturki słońca lub księżyca,

w MainFlareSize definiujemy rozmiar tarczy tego obiektu, max wartość to 1.000000, min 0.000001

 

nie umieszczamy linków zewnętrznych.

Opublikowano

szkoda że na filmie dałeś tylko ss'y bo to wygląda jakbyś w paincie to robił :P , ale wrzucę na serwer i przetestuje prydadzą się te efekty na nową mapke :)

Dłuższej grafiki się nie dało?
 

  • 1 rok później...
Opublikowano

Świetny TuT :D - Może na jego podstawię napiszę program do tworzenia msenv jak wysępie od kierowniczki wolne :P

jak juz bedziesz robic to daj opcje z porzadkowaniem stron(grafik) skyboxow bo , slabo sie to recznie robi :D bede cie calowal po stopach

 

 

@ o choy ale odkopalismy

Bez-nazwy_nxasswq.png


Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...