Huom. FS2015:ssä näyttää esittelyvideoiden mukaan olevan jokin ShaderTippingia vastaava ominaisuus. En siis ainakaan toistaiseksi aio lisätä ShaderTippingia edes ”omiin” kärryihin, joten en tee lisäystä myöskään pyynnöstä.
Nämä ohjeet (PDF ja ODT), fruktorin ohjeet ”Explanations for ShaderTipping” sekä ShaderTipping.zip saatavilla täällä: https://www.dropbox.com/sh/lze37bb10wmt ... NC7Pa?dl=0
Huom. alkuperäisessä ShaderTipping.lua:ssa on bugi, joka estää kippaamasta MR-kärryjä kokonaan tyhjiksi tietyissä olosuhteissa. Dropboxissa on versiossa korjattu versio, jossa ehkä sain tämän ehkä korjattua.
Lyhyet ohjeet
1. Otetaan Fortuna FTM 200 -kärryt malliksi ja kopioidaan dynPlaneShader.xml omaan modiin.
2. Kopioidaan ShaderTipping.zip omaan modikansioon.
3. Kopioidaan tasot omiin kärryihin (Export↔Import GE:ssä).
4. Valitaan lajike, josta aloitetaan, skaalataan se ja asetellaan taso omiin kärryihin.
5. Lisätään muokataan CustomParameter-arvot omien kärryjen mittojen mukaan.
6. Kopioidaan FTM200.xml:stä omaan XML:ään kohdat, joissa shaderTipping mainitaan ja korjataan fillPlane-kohdat.
7. Testataan pelissä.
8. Jos kaikki näyttää hyvältä, siirrytään kohtaan 3. ja lisätään loput lajikkeet.
Yksityiskohtaisemmat ohjeet
Nämä ohjeet on koostettu tutkimalla itse FTM 200 -kärryjen toteutusta, lukemalla saksankielisiä foorumeita sekä ShaderTippingin tekijän (fruktor) ns. virallista ohjetta (http://www.fileswap.com/dl/IsuYTPR7pY/). Jos joku keksii kätevämpiä tapoja tehdä joitain askelia, niin vinkkejä otetaan vastaan.
Tarvitset:
- * GIANTS editorin (GE)
* tekstieditorin (suosittelen Notepad++:aa)
* paljon tupakkia.
2. Pura omat kärrysi ja FTM 200 eri hakemistoihin. Kopioi FTM 200:n hakemistosta tiedostot FTM200.i3d, FTM200.i3d.shapes ja dynPlaneShader.xml sekä tekstuurihakemisto texturen/ omien kärryjesi hakemistoon.
3. Avaa FTM200.i3d GE:ssä. Avaa kohta Fortuna_FTM_200 → chasis → body → fillPlanes (ks. kuva 1). fillPlanes näyttää, kuinka korkealle huiput voivat maksimissaan nousta. Lajikkeet (FTM:ssä kaikki nimellä pCube2) kannattaa nimetä uudelleen nyt, jotta lajikkeet on helpompi löytää GE:ssä. Valitse fillPlanes ja vie se omien kärryjesi kansioon (File → Export Selection...).
Kuva 1: tasojen sijainti Scenegraphissa.
4. Avaa omien kärryjesi i3d-tiedosto toisessa GE:ssä, tuo fillPlanes omiin kärryihisi ja korvaa sillä kärryjen alkuperäinen taso eli siirrä ryhmä tismalleen samaan paikkaan kuin alkuperäinen.
5. ”Tasoryhmä” asetellaan kärryihin. Ensin fillPlanes siirretään Y-akselia pitkin tasolle, jolla renkaat lepäävät.
6.
a) Valitaan lajike, jonka lisäämisestä aloitetaan. Tässä esimerkissä aloitetaan vehnästä, joten valitaan Scenegraphissa fillPlanesin alta ensimmäinen objekti.
b) Kasa pitää nyt siirrellä ja skaalata siten, että se istuu laitojen sisälle sopivasti. Ensin siirrellään ja skaalataan kasa X- ja Z-suunnassa kokeilemalla sopivia Scale-arvoja.
c) Skaalataan kasa Y-suunnassa, mutta samalla kasan myös pitää olla oikealla korkeudella. Tämä tarkoittaa sitä että ns. 3D-manipulaattori asetetaan lavan pohjalle (ks. kuva 2). Jos pohjaa on vaikea nähdä, lisää valoja ja klikkaa Visibility-kohdasta kaikki kasat näkymättömiksi. Jos kasa ei näytä muotonsa puolesta hyvältä, joudut valitettavasti etsimään sopivan muodon toisista kärryistä tai veistämään sopivan muodon 3D-mallinnusohjelmassa (Sketchup, Maya, Blender jne.).
Kuva 2: tason asettaminen säiliön pohjalle
d) Tärkeää: skaalan pitää lopuksi olla 1:1:1. Kasan objektia klikataan Scenegraphissa hiiren oikealla napilla, valitaan Freeze Transformations... ja valitaan kohta Scale (ks. kuva 3).
Kuva 3: kasan skaalaaminen.
e) Tallennetaan i3d-tiedosto GE:ssä.
7.
a) Avataan omien kärryjen i3d-tiedosto tekstieditorissa, esim. Notepad++:ssa. Tiedostoa on helpompi lukea, kun syntaksivärjäyksen klikkaa (suomenkielisessä) Notepad++:ssa päälle valikosta Koodikieli→XML.
b) Korjataan dynPlaneShader.xml viittaamaan oikeaan polkuun. Tallennetaan i3d-tiedosto tekstieditorissa, suljetaan kärryä varten avattu GE ja avataan se uudelleen. Jos GE valittaa, että jotain tiedostoa ei pystytä avaamaan, korjataan polut kunnes virheitä ei ole.
c) Etsitään materiaaleista vehnä (wheat). Huom. FTM 200:ssa on virheellisesti kaksi materiaalia nimellä wheat – jos et löydä oikeaa kohtaa, muokkaa molempia materiaaleja. Materiaalin alla pitäisi nyt näkyä seuraavat CustomParameter-rivit:
Koodi: Valitse kaikki
<CustomParameter name="lb" value="0 0 0 0"/>
<CustomParameter name="lf" value="0 0 0 0"/>
<CustomParameter name="ls" value="0 1.01 0.5 1.175"/>
<CustomParameter name="p1" value="1.25 1 3.07 1"/>
<CustomParameter name="p2" value="1 1 1 1"/>
<CustomParameter name="p3" value="1 1 1 1"/>
<CustomParameter name="uvScrollSpeed" value="0 0 0 0"/>
<CustomParameter name="yMax" value="0 0 0 0"/>
Kuva 4: arvot muutetaan säiliön sisämittojen mukaan.
e) p1:n ensimmäinen arvo on säiliön leveys jaettuna kahdella. Kolmas arvo on säiliön pituus jaettuna kahdella.
f) ls:n toinen arvo on säiliön leveys pohjalla. Kolmas arvo kertoo, millä korkeudella kasa levitetään koko säiliön leveydelle (etäisyys säiliön pohjasta, ei pelkkä Y-arvo). Neljäs arvo on säiliön täysi leveys jaettuna kahdella (huomasit ehkä, että FTM 200 levenee ylöspäin).
8. Arvot on nyt syötetty. Tallenna i3d tekstieditorissa ja avaa kärryjesi XML toiseen välilehteen.
9. Lisää seuraavat rivit XML:ään:
Koodi: Valitse kaikki
<shaderTipping>
<plane node="0>4|0|3|0" width="1.25" length="3.07" />
</shaderTipping>
11. XML:stä etsitään kohta tipAnimations ja lisätään seuraavat rivit kuvan 5 osoittamalla tavalla (joissain kärryissä on vain yksi kippausanimaatio):
Koodi: Valitse kaikki
<shaderTipping side="back" uvSpeed="0 -0.1" scalePS="false" />
Koodi: Valitse kaikki
<shaderTipping side="back" uvSpeed="0 -0.01"/>
Kuva 5: ShaderTippingin lisääminen kippausanimaatioihin.
12. Etsitään kohta fillPlanes XML-tiedostosta. Pitäisi löytyä jotain tällaista:
Koodi: Valitse kaikki
<node index="0>3|0|0|6|0">
<key time="0" y="1.3202" scale="1 0 1"/>
<key time="0.205" y="1.3202" scale="1 0.205 1"/>
<key time="1" y="1.3202" scale="1 1 1"/>
</node>
Koodi: Valitse kaikki
<key time="0" y="1.47886" scale="1 1 1"/>
<key time="1" y="1.47886" scale="1 1 1"/>
a) kopioi muokkaamasi modi zippaamattomana modikansion alle ja käynnistä peli.
b) täytä kärryt vehnällä siilosta tai kauhalla
c) kokeile eri täyttöasteita
d) testaa kuorman kippaamista.
15. Jos kuorma puskee laitojen läpi tai kärri ei ala täyttyä tarpeeksi nopeasti tms., tee hienosäätöjä arvoihin ja tarkista kasan sijainti kärryissä. Huomaa kuitenkin, että ShaderTipping bugaa joskus, kun kärryt eivät ole aivan täynnä, ja silloin kuorma tulee laitojen läpi.
16. Jos kaikki näyttää toimivan vehnän kanssa niin kuin pitää, voit onnitella itseäsi, siirtyä kohtaan 6. ja soveltaa ohjetta lopuille lajikkeille. Viittaukset tasoihin ovat todennäköisesti hieman muuttuneet, joten korjaa fillPlane-kohdat kärryn XML:ssä tai siirrä tasot oikeille paikoille GE:n Scenegraphissa.
17. Ylimääräiset FTM 200:sta tuodut tiedostot eli FTM200.i3d, FTM200.i3d.shapes ja ylimääräiset tekstuurit voi nyt poistaa. Tupakit voi heittää roskiin.
Vinkkejä
1. Kun teet tasojen mittoihin liittyviä hienosäätöjä, älä tallenna i3d:tä GE:ssä ennen kuin olet uudelleenkäynnistänyt GE:n, sillä se ei huomaa arvojen päivittämistä reload-napilla ja jyrää uudet arvot vanhoilla arvoilla.
2. Varsinkin silloin, kun muokattavia tasoja on useita, nopein tapa taso-objektien muokkaamiseen on muovata yksi taso kärryihin sopivaksi GE:ssä, ja kopioida siitä koordinaatit muihin (Ctrl-Shift-C ja Ctrl-Shift-V). Tämän jälkeen i3d-tiedosto avataan tekstieditorissa ja muutetaan kaikkien tasojen shapeId viittaamaan samaan ID:hen.
3. Tekstieditorin avulla ShaderTippingin voi lisätä materiaaleille, joita FTM 200:ssa ei ole. Etsitään vain materiaali, lisätään sille parametri customShaderId="XXX" ja korjataan ID. Sitten CustomShader-parametrit kopioidaan jo lisätystä materiaalista.
4. Tarkemmat selitykset eri parametreille löytyvät fruktorin oppaasta. lb-, lf- ja yMax-arvoja tarvitsee ilmeisesti muuttaa vain jos kärryt ovat suppilomalliset etu- tai takaosasta.
5. Lisää modDesc.xml:ään seuraava rivi, l10n-osaan, niin lokiin tulee ilmoitus, jos ShaderTipping.zip ei ole asennettuna:
Koodi: Valitse kaikki
<text name="WARNING_SHADERTIPPING">
<de>ShaderTipping.zip fehlt im mods Ordner!</de>
<en>ShaderTipping.zip missing in mods folder!</en>
</text>
7. FTM 200:n kasan muoto ei sovellu kärryille, joissa etureuna on läpinäkyvä ikkunan tai verkon takia, koska muodossa ei ole etureunaa eli siitä näkyy läpi. Jos kuitenkin kärryssä on kippausta varten pölyanimaatio, muodon voi kääntää ympäri, jolloin läpinäkyvä kohta peittyy suht mukavasti, joskin tässä tapauksessa kasan kippausanimaatio näyttää hassulta (sisältö siirtyy kärrissä eteenpäin). Muista myös ns. tehdä kierroksesta pysyvä eli vastaavasti kuin skaalatessa (kuva 3), mutta valitaan Rotate.
Tämän ohjeen kopiointi, korjaaminen, uudelleenjulkaisu (esim. siinä tilanteessa, että katoan jonnekin ) yms. on ehdottomasti sallittu.