Skocz do zawartości
View in the app

A better way to browse. Learn more.

Max3D.pl

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Napisano

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

  • Odpowiedzi 4
  • Wyświetleń 1,3k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano
  • Autor

widzę że nikt nie jest w stanie odpowiedzieć na mojego posta

Napisano

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

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.