Skocz do zawartości

Export do cs source


nourin

Rekomendowane odpowiedzi

witam

Może zacznę od tego że w 3d jestem baardzo początkujący ,więc nie dziwcie się że zadaje wam pewnie głupie pytanie:

a więc jak swoją scenę mogę wrzucić do countera chodzi mi żeby pokazała mi się w tabelce map w cs-esie i żebym mógł się po niej poruszać?

 

(chodzi mi o counter strike source albo 1.6 ale podejrzewam że do sourca będzie prościej)

Edytowane przez nourin
Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 4
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

nourin w silniku source geometrie levelu robi sie bezposrednio w edytorze hammer doloczonym do sdk sourca,mniejsze propsy i obiekty fizyczne importuje sie z maxa czy z czego tam chcesz. z tym ze jest z tym troche roboty. Kiedys pisalem takiego malego tutka do wrzucania propsow to sprobuje go ci tu wkleic.

 

w tym wypadku mapa nazywala sie ironworks, mozesz uzywac innej nazwy xD

 

I. Potrzebny soft:

 

- 3ds max 9/2008

- eksporter do .smd http://www.wunderboy.org

- GUI studio mdl http://www.wunderboy.org/download.php?file=guistudiomdl_2.2.zip&s=2

- VTF Edit

Ściągamy czytamy readme i instalujemy.

 

II. 3ds max

 

1) Modelujemy nasz model mapujemy i teksturujemy go.

2) budujemy collision boxa. colbox to model, który engin używa do określania kolizji z graczem i obiektami props_physics(dalej zwane psycholami :P) powinien się składać najlepiej z samych boxów i cylindrów, być jak najprostszy. Wszystkie elementy MUSZĄ być 'zamknięte' czyli nie mogą mieć żadnej dziury(bordera), oraz nie mogą być 'wklęsłe'(wrzucę obrazek potem) zapisujemy go do osobnego pliku

3) Nasze textury zapisujemy w formacie .tga jako nazwamodelu_CLR.tga dla tekstury diffuse,w kanale alpha opacity mapka. nazwamodelu_NRM dla normalek, w kanale alpha normalki maska odbić.

4) Ważne! Na nasz model nakładamy materiał standard z naszą teksturą(nazwamodelu_CLR.tga) w slocie diffuse i niczym więcej.

Pivota ustawiamy na spodzie modelu i w punkcie 0 0 0.

5) Eksport

Czas na eksport naszego modelu. Upewniamy sie ze nasz model jest jednym obiektem editable poly, jesli w scenie oprócz niego znajduje sie coś jeszcze usuwamy to tak aby pozostał tylko nasz model.

Każdy obiekt w silniku potrzebuje 3(!) modeli obiektu wyswietlanego, collision_boxa oraz animacji :) tak tak nawet obiekty statyczne potrzebują animacji.

-Klikamy file/eksport z eksporterów wybieramy source .smd (którego wczesniej zainstalowalismy prawda?)

Zapisujemy nasz obiekt jako nazwamodelu_REF w opcjach eksportera zaznaczamy eksport reference smd - bedzie to nasz obiekt wyswietlany w silniku

-Następnie klikamy file/export raz jeszcze

zapisujemy obiekt jako nazwaobiektu_IDLE w opcjach eksportera zaznaczamy Export sequence SMD, export range ustawiamy 0 to 0.

-Następnie eksportujemy naszego collision boxa -Zapisujemy nasz obiekt jako nazwamodelu_COL w opcjach eksportera zaznaczamy eksport reference smd

Mozemy juz zamknąć maxa.

 

III. kompilacja modelu

Tworzymy katalogi o nazwie IRONWORKS(koniecznie taka nazwa!!!) w folderach :

-...Steam\steamapps\(twoja_nazwa)\half-life 2 deathmatch\hl2mp\models

-oraz w ...Steam\steamapps\(twoja_nazwa)\half-life 2 deathmatch\hl2mp\materials

 

1) MODEL

W jednym folderze umieszczamy 3 pliki naszego modelu z rozszerzeniem .smd, oraz nasze tekstury w formacie .tga.

Tworzymy w notatniku plik nazwamodelu.qc (trzeba ręcznie zmienić rozszerzenie z .txt na .qc) o treści

 

$modelname "IRONWORKS/nazwamodelu.mdl"
$scale 1.0
$staticprop
$body "Body" "nazwamodelu_REF.smd"
$surfaceprop "concrete"
$cdmaterials "IRONWORKS/"
$collisionmodel "nazwamodelu_COL" {
$automass
$concave
}
$sequence idle "nazwamodelu_IDLE.smd" fps 15 ACT_IDLE 1

gdzie nazwamodelu to nazwa naszego modelu a w miejsce "concrete" (określa jakie dzwieki bedzie wydawaćmodel przy trafieniu kulą itp.) mozna wpisac cos z listy na: http://developer.valvesoftware.com/wiki/Material_Surface_Property

Umieszczamy go w folderze z teksturami i 3plikami z modelem

Gdy mamy juz ładnie napisany plik .qc mozemy przystąpić do kompilacji modelu. W tym celu odpalamy program GUIStudioMDL i na samym początku podajemy ścieżki w menu Config nas interesuje ep1 tools path, jest to zazwyczaj ...\sourcesdk\bin\ep1\bin

W oknie programu wybieramy:

-w polu Target Mod : Half-Life 2 Deathmatch

-w polu SDK Version: Episode 1

Następnie klikamy file/Load .QC file i tam wybieramy nasz swiezo zrobiony plik .qc. Następnie klikamy na przycisk Compile Chwilę czekamy i jesli nie wyskoczą zadne errory(jesli errory wyskoczą to coś zle zrobiłeś :( ) to mamy skompilowany model w naszym katalogu /models/IRONWORKS

2) Tekstury

Zazwyczaj potrzebujemy tylko 2 tekstury nazwamodelu_CLR, W którym mamy teksture oraz jako alpha channel mamy zapisaną przezroczystość, oraz nazwamodelu_NRM zawierający normalmapę, oraz jako kanał alpha mape odbic, czyli cos jak specular. Obie w formacie .tga

Otwieramy nasze tekstury w programie VTFedit i zapisujemy je w w ...Steam\steamapps\(twoja_nazwa)\half-life 2 deathmatch\hl2mp\materials/IRONWORKS Następnie tworzymy notatnikiem plik .VTM o nazwie nazwamodelu_CLR

Przykład

"VertexlitGeneric"
{
   "$basetexture" "IRONWORKS/nazwamodelu_CLR"
   "$normalmapalphaenvmapmask" 1
   "$envmap" "env_cubemap"
   "$nocull" 1
   "$alphatest" 1
   "$bumpmap" "IRONWORKS/nazwamodelu_NRM"
}

Gdzie

"$basetexture" to nasza tekstura z alphą(bez rozszerzenia)

"$staticprop" musi być :)

"$normalmapalphaenvmapmask" 1 ustawia alfę z normalki jako maske odbić, jak nie ma być odbić usówamy linię

"$envmap" "env_cubemap" powoduje ze obiekt odbija najblizszą cubemape (jak nie ma nic odbijac to wywalamy)

"$nocull" 1 2sided geometry (jak nie trzeba wywalamy)

"$alphatest" 1 ustawia alfę z tekstury jako mapę przezroczystości

"$bumpmap" nasza NORMALMAPA(bez rozszerzenia)

 

FINITO możemy odpalic modelviewera z sdk i oglądać nasz model albo wstawic go w hammerze

jak wstawic propa do hammera http://sourcesdk.pl/tut,mapping,13.html

 

 

 

 

Wstawianie psycholi

 

Wstawianie obiektów fizycznych się trochę różnie od statycznych, ale niewiele.

1. w pliku .qc wywalamy linię $staticprop

2. wywalamy linię $automass i zamiast niej wpisujemy np $mass 34 gdzie 34 to masa modelu w kilogramach

3. w hammerze nie wstawiamy obiektu jako prop_static, ani jako prop_physics tylko jako prop_physics_multiplayer.

 

pozdrawiam i zycze powodzenia

Edytowane przez SoAd
  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach




×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności