Napisano 11 Grudzień 200915 l 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 12 Grudzień 200915 l przez nourin
Napisano 12 Grudzień 200915 l Oprócz wujka Google'a to faktycznie chyba nikt... http://hlmaps.noskill.pl/page.php?id=289
Napisano 12 Grudzień 200915 l 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 12 Grudzień 200915 l przez SoAd
Napisano 13 Grudzień 200915 l kanterszajs ma jakiś edytor map i będzie Ci łatwiej jak jego będziesz używał