Szerző Téma: Saját object berakása MTA szerveredbe  (Megtekintve 11064 alkalommal)

Saját object berakása MTA szerveredbe
« Dátum: 2014. Június 19. - 18:03:48 »
+2

Sziasztok!

Beszeretném mutatni, hogy rakhatjuk be saját kezűleg készített objektumunkat MTA szerverünkbe.

 

1. Szükséges programok
Ahhoz, hogy saját objektumot készíthessünk, szükségünk lesz egy modellezőprogramra, ajánlott a Cinema4D, átláthatósága, és könnyű kezelhetősége miatt, illetve a 3ds Max.
Az objektum elkészítése után át kellene konvertálnunk az adott objektumot dff, txd és col fájlba, amit a Kam\'s Max Script segítségével tehetünk meg.
!FIGYELEM! A Kam\'s Max Script kizárólag 3ds Max modellezőprogramban működik!
A dff, txd és col fájl lementése után szükségünk lesz a txd workshop-ra, vagy a G-TXD nevezetű programra. A két program lényege ugyan az, mind a kettő a textúrázásért felel.
-Kam\'s Max Script
-TXD Workshop
-G-TXD
2. Kam\'s Max Script berakása 3ds Max-ba


A Kam\'s Max Script letöltése után csomagoljuk ki, majd a benne levő \"scripts\" és \"maps\" mappát helyezzük át a 3ds Max főkönyvtárába. (C:\\Program Files\\Autodesk\\3ds Max)
3. Az elkészített modell konvertálása dff, txd és col fájlba
Miután végeztünk saját objektumunk elkészítésével, nincs más dolgunk, mint lekonvertálni ezeket dff, txd és col fájlba a következőképpen.

dff-re konvertálás:

3ds Max-ban menjünk rá az \'Utilities\' fülre, majd ott lent megtaláljuk a Kam\'s Max Scriptet. Az alatta található \'DFF IO\' segítségével kezdhetünk bele dff fájlunk konvertálásába.


Ha rákattintunk a \'DFF IO\' fülecskére, ki kell jelölnünk az objektumunkat ahhoz, hogy konvertálni tudjuk. Az objektum kijelölését követően találunk ott egy \'Skip COL\' nevezetű mezőt, amelyet be kell pipálnunk ahhoz, hogy ne készítsen COL fájlt, mert a COL fájl elkészítését nekünk kell megcsinálnunk, külön.


Ha mindez megtörtént, kattintsunk rá az \'Export DFF\' gombra, adjuk meg a mentés helyét, illetve objektumunk nevét.

col-ba konvertálás:
A col-ba való konvertálást szintén a Kam\'s Max Script felirat alatt találjuk, a \'Collision IO\' gombra kattintva.

Col-ba való konvertáláshoz szintén ki kell jelölnünk az objektumunkat, majd az \'Export\' gomb felett egy kis mezőbe be kell írnunk az objektumnak megadott nevet. Miután beírtuk, rákattintunk az \'Export\' gombra, szintén megadjuk a mentés helyét, és objektum nevét.

txd fájl készítése:
TXD fájl készítéséhez szükségünk lesz vagy a txd workshopra, vagy a G-TXD-re.
txd workshop:
TXD workshop megnyitása után menjünk rá a \'File\' fülre, majd nyomjunk a \'New\' gombra. Ezáltal létrehozunk egy új txd fájlt. A \'New\' gombra kattintva megadhatjuk azt, hogy hány bit-es legyen az adott textúra. A bit megadása után jelöljük ki az új txd fájlunkat, és kattintsunk az \'Import\' fülecskére fent. Itt beimportálhatjuk a használt textúrát objektumunkon, majd ha ezzel is kész vagyunk kattintsunk a \'Save TXD\' gombra, adjuk meg nevét, és mentési helyét.
G-TXD:
A G-TXD-t megnyitva menjünk rá a \'File\' fülre, és hozzunk létre egy új txd fájlt a \'New\' gombra kattintva, majd adjuk meg a nevét is. A név beírását követően kiválaszthatjuk hogy melyik játék verziójára szeretnénk készíteni az adott txd fájlt. Kattintsunk a \'San Andreas\' gombra, ezáltal létrehoztuk új fájlunkat. Fájl létrehozása után kapunk egy szöveget (\"This Archive is empty\") felirattal. Abban a részben, amelyben kapjuk ezt a feliratot, nyomjunk jobb egeret, majd kattintsunk az \'Add\' opcióra. Az \'Add\' opciót követve kapunk még egy feliratot (\"Right click to add and remove\"). Szintén nyomjunk jobb egeret abba a részbe, amelyben megtalálható ez a felirat, majd tallózzuk be az objektumra rakott textúrát. A Compression felirat alatt válasszuk ki a \"DXT3\" opciót, majd kattintsunk az \'Add\' gombra. Mindezek után menjünk rá a \'File\' fülecskére, és mentsük le a txd fájlunkat a \'Save\' opcióval.
A három fájl lementésének következtével már csak be kell raknunk a fájlokat MTA-ba, és megjelenik saját objektumunk.
4. Berakás a szerverbe:
Már csak a model berakása van hátra. Az alábbi kód, amit most fogok bemásolni, innét származik: http://sampforum.hu/index.php?topic=50661.0
Íme a kód:
 
function loadMod(fajl, model, col)
txd = engineLoadTXD(\'modellek/\'.. fajl ..\'.txd\')
engineImportTXD(txd, model)
dff = engineLoadDFF(\'modellek/\'.. fajl ..\'.dff\', 0)
engineReplaceModel(dff, model)
if col then
  col = engineLoadCOL(\'modellek/\'.. fajl ..\'.col\')
  engineReplaceCOL(col, model)
end
end

 
Használata egyszerű.

Hozzunk létre egy új clientscriptet, majd egyszerűen írjuk be a következőt valahová a scripten belül:



loadMod(\"fajlodneve\", kicserelendoobjectedidje, true)

 

true/false: Ha van .col fájl a modelledhez, akkor true-t kell írni az utolsó paraméterhez, ha nincs, akkor pedig false-t.

Ezek után már csak a meta.xml-be kell betenni az objectet:


<file src=\"modellek/fajlodneve.dff\"/>
... és a többi

 


Tippek
 

-A .dff, .txd és .col azonos néven legyen (pl.: asd.dff, asd.txd, asd.col)

-A szerverbe való berakáskor kapcsoljuk be a \'replace\' funkciót, ezáltal megjelenik az object két oldala

-Ha más modellezőprogramot használunk saját objectünk elkészítésére, akkor az elkészített objektumot exportáljuk .3ds formátumba, majd rakjuk be 3ds Max-ba, ezáltal eltudjuk készíteni a szükséges .dff, .txd és .col fájljainkat.

-Konvertáláskor egy objektumot lehet .dff-be és .col-ba konvertálni, de az esetben, ha több objektumunk van, hozzunk létre egy ún. \'Group\'-ot, ezáltal a több részből álló objektumunk \"egy lesz\".
« Utoljára szerkesztve: 2014. Június 20. - 10:18:53 írta KisHP »

Nem elérhető Xenius

  • 668
    • Profil megtekintése
Saját object berakása MTA szerveredbe
« Válasz #1 Dátum: 2014. Június 20. - 11:46:16 »
0
function loadMod(f, m)
if fileExists(\'asd/\'.. f ..\'.txd\') then
txd = engineLoadTXD(\'asd/\'.. f ..\'.txd\')
engineImportTXD(txd, m)
end
if fileExists(\'asd/\'.. f ..\'.dff\') then
dff = engineLoadDFF(\'asd/\'.. f ..\'.dff\', m)
engineReplaceModel(dff, m)
end
if fileExists(\'asd/\'.. f ..\'.col\') then
col = engineLoadCOL(\'asd/\'.. f ..\'.col\')
engineReplaceCOL(col, m)
end
end
loadMod(\"teszt\", 670)

Saját object berakása MTA szerveredbe
« Válasz #2 Dátum: 2014. Június 20. - 23:34:53 »
0
Szép leírás!
Én is pont így szoktam csinálni!

Carlos

  • Vendég
Saját object berakása MTA szerveredbe
« Válasz #3 Dátum: 2014. Június 21. - 20:44:49 »
0
Köszönjük a leírást!  ;)

Saját object berakása MTA szerveredbe
« Válasz #4 Dátum: 2014. Július 26. - 15:35:35 »
0
A \'replacer\' funkciót, hogyan kell elindítani?:D Köszönöm a válaszokat.:D

Saját object berakása MTA szerveredbe
« Válasz #5 Dátum: 2014. Július 26. - 16:02:48 »
0
A replacer funkciót scriptileg kell engedélyezni tudtommal. :D

Nem elérhető Xenius

  • 668
    • Profil megtekintése
Saját object berakása MTA szerveredbe
« Válasz #6 Dátum: 2014. Július 30. - 11:37:34 »
0
A replace kliens oldali, semmit nem kell hozzá engedélyezni.

Saját object berakása MTA szerveredbe
« Válasz #7 Dátum: 2014. Július 30. - 20:03:19 »
0
Így kell egy objectre rá rakni egy textúrát?

Saját object berakása MTA szerveredbe
« Válasz #8 Dátum: 2014. Augusztus 07. - 00:28:32 »
0
Egy picit megkésve, de igen, a textúrázás is megtalálható fent.

Saját object berakása MTA szerveredbe
« Válasz #9 Dátum: 2015. Január 09. - 16:43:06 »
0
Hasznos volt,kösz.

Saját object berakása MTA szerveredbe
« Válasz #10 Dátum: 2015. Február 18. - 14:27:35 »
0
És azt meglehet oldani,hogy ha én csak 1db bizonyos objectet akarok lecserélni pl.: van 4 ugyanolyan fa de csak az egyik van textúrázva

Saját object berakása MTA szerveredbe
« Válasz #11 Dátum: 2015. Február 18. - 20:37:44 »
0
Azt azthiszem csak 1 alap shaderrel tudod megoldani.

Saját object berakása MTA szerveredbe
« Válasz #12 Dátum: 2015. Február 20. - 13:05:24 »
0
Nekem van egy kicsi gondom a 3ds max al mivel amikór telepitem akkor azt írja hogy valami \"monitor.exe\" valaki tudna segíteni?

Nem elérhető hunfiu

  • 161
    • Profil megtekintése
Saját object berakása MTA szerveredbe
« Válasz #13 Dátum: 2015. Február 20. - 19:43:15 »
0
Ha fenn van az Asus GPU Tweak lödd ki

Nem elérhető Xenius

  • 668
    • Profil megtekintése
Saját object berakása MTA szerveredbe
« Válasz #14 Dátum: 2015. Március 24. - 06:23:50 »
0
Új funkció:
 
local dir = \"mods\" -- mappa neve, ahol a modell található
function loadMod(f, m)
local txdFile = dir..\"/\"..f..\".txd\"
local dffFile = dir..\"/\"..f..\".dff\"
local colFile = dir..\"/\"..f..\".col\"
if fileExists(txdFile) then
local txd = EngineTXD(txdFile)
if txd then
   txd:import(m)
end
end
if fileExists(dffFile) then
local dff = EngineDFF(dffFile,m)
if dff then
   dff:replace(m)
end
end
if fileExists(colFile) then
local col = EngineCOL(colFile)
if col then
   col:replace(m)
end
end
end

 
Meta.xml:
 
<oop>true</oop>

 
Használat:
 
addEventHandler(\"onClientResourceStart\", resourceRoot, function()
loadMod(\"teszt_object\", 4848)
end

 

SimplePortal 2.3.7 © 2008-2020, SimplePortal