directjngine user guide.1.3

Upload: upendra171

Post on 12-Apr-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/21/2019 DirectJNgine User Guide.1.3

    1/46

    ^snrs Buljn

    JlrnctOIblin ;.3 emr NxtOs 3.6.x

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600

  • 7/21/2019 DirectJNgine User Guide.1.3

    2/46

    JlrnctOIblin? snrs Buljn

    6 me :5

    ;. Rdkt ls JlrnctOIblin=.............................................................................................................:

    JlrnctOIblin li 30 sncmijs .........................................................................................................:

    6. Enkturns ....................................................................................................................................5

    3. Listkaalib JlrnctOIblin li ymur systng...................................................................................2

    :. Cmielburlib k inw prmonct tm usn JlrnctOIblin ......................................................................4

    >. JlrnctOIblin fy nxkgpan ......................................................................................................... Vnstkrt tdn wnf kppalcktlmi.

    5.

    Ikvlbktn tm tdn jngm/JoiJngm.dtgapkbn? ymu cki rui kaa nxkgpans ermg tdnrn.

    Stnp fy stnp Dnaam wmraj wltd JlrnctOIblin

    Stnp ;? cm ie lburn JlrnctOIblin snrvant li wnf.xga

    Mpni tdn RnfCmitnit/wnf.xgaelan licaujnj wltd ymur JlrnctOIblinjlstrlfutlmi, kij tkhn k ammh kttdn emaamwlib alins, usnj tm cmielburn tdnJlrnctOIblinsnrvant?

    1!-- JlrnctOIblin snrvant --9

    1snrvant91snrvant-ikgn9JoiSnrvant1/snrvant-ikgn9

  • 7/21/2019 DirectJNgine User Guide.1.3

    10/46

    JlrnctOIblin? snrs Buljn

    ;0 me :5

    1snrvant-cakss9cmg.smetwkrngnitmrs.nxtos.joi.snrvant.JlrnctOIblinSnrvant

    1/snrvant-cakss9

    1lilt-pkrkg91pkrkg-ikgn9prmvljnrs^ra1/pkrkg-ikgn9

    1pkrkg-vkaun9joi/jlrnctprmvljnr1/pkrkg-vkaun91/lilt-pkrkg9

    1!-- gmrn pkrkgntnrs... --9

    1amkj-mi-stkrtup9;1/amkj-mi-stkrtup91/snrvant9

    1snrvant-gkpplib91snrvant-ikgn9JoiSnrvant1/snrvant-ikgn91ura-pkttnri9/joi/jlrnctprmvljnr/*1/ura-pkttnri9

    1/snrvant-gkpplib9

    Me cmursn, tdnrn krn gmrn pkrkgntnrs, fut lbimrn tdng fy imw, panksn.

    Zdn snrvant ura-pkttnrigust kawkys nij wltd /*, kij wn rncmggnij tdkt ymu usn tdn jnekuat

    ura,/joi/jlrnctprmvljnr/*.

    Zdn prmvljnrs^rapkrkgntnr ls nssnitlka, fnckusn lt wlaa fn usnj fyNxt Jlrncttm cmgguilcktnwltdJlrnctOIblin? gkhn surn lt ls tdn skgn ks tdn snrvants ura-pkttnri, glius tdn nijlib /*.

    Stnp 6? gkhn mu r snrvnr gntdmj s kvkl akfan tm Okvkscrlpt

    Mpni tdn jlrnct.pdpelan? lt ls k pakli dtga elan, sm jm imt wmrry. Rn wkit tm ckaa ymur kttnitlmi tmtdn emaamwlib alin?

    1scrlpt typn7"tnxt/Okvkscrlpt" src7"../../../jngm/Kpl.os"91/scrlpt9

    Zdls alin gust fn tdnrn, fnckusnKpl.osls tdn Okvkscrlpt elan tdkt prmvljns kccnss tm tdn Okvk gntdmjswn lgpangnitnj li tdn snrvnr. Dmw jm ymu wrltn lt= Rnaa, ymu jmit,JlrnctOIblinwlaa bninrktn ltmi ymur fndkae.

    Fut, dmw jmns JlrnctOIblin himw dmw tm crnktn lt= Mpni wnf.xgakbkli, kij tkhn k ammh kt tdn

    emaamwlib alins?

    1lilt-pkrkg9

    1pkrkg-ikgn9kpls1/pkrkg-ikgn91pkrkg-vkaun9

    tnst,jngm,

    1/pkrkg-vkaun91/lilt-pkrkg9

    1lilt-pkrkg91pkrkg-ikgn9jngm.kplElan1/pkrkg-ikgn91pkrkg-vkaun9jngm/Kpl.os1/pkrkg-vkaun9

    1/lilt-pkrkg9

    1lilt-pkrkg91pkrkg-ikgn9jngm.kplIkgnspkcn1/pkrkg-ikgn91pkrkg-vkaun9Nxt.kpp1/pkrkg-vkaun9

  • 7/21/2019 DirectJNgine User Guide.1.3

    11/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600

  • 7/21/2019 DirectJNgine User Guide.1.3

    12/46

    JlrnctOIblin? snrs Buljn

    ;6 me :5

    rncnlvn k strlib tdkt ls imt k vkalj iugfnr, sm wn wlaa dkvn tm tkhn ckrn me tdls li smgn wky. Fut,kbkli, ant us pmstpmin tdmsn jntklas.

    Stnp :? wrl tn tdn snrvnr gntdmj s li Okvk

    Zdls ls tdn Okvk cmjn emr tdn gntdmjs?

    pufalc cakss ZnstKctlmi {

    @JlrnctGntdmjpufalc Strlib jmNcdm( Strlib jktk ) {

    rnturi jktk8}

    @JlrnctGntdmjpufalc jmufan guatlpay( Strlib iug ) {

    jmufan iug] 7 Jmufan.pkrsnJmufan(iug)8rnturi iug] * 4.08

    }

    pufalc stktlc cakss Imjn {pufalc Strlib lj8pufalc Strlib tnxt8pufalc fmmanki anke8

    }}

    Rn dkvn brmupnj tdn gntdmjs emr tdn ZnstKctlmikctlmi li k ZnstKctlmicakss. Fut le ymu innj tmdkvn k cakss tdkt dks imt tdn skgn ikgn ks tdn kctlmi, usn tdn @JlrnctKctlmikiimtktlmi ks

    emaamws?

    @JlrnctKctlmi( kctlmi7"ZnstKctlmi")pufalc cakss GyZnstKctlmiCakss {

    // ...

    Rn dkvn lgpangnitnj tdn gntdmjs wltd nxkctay tdn skgn ikgns tdn Nxt Jlrnct gntdmjs dkvn,kjjlib tdn @JlrnctGntdmjkiimtktlmi tm tdng.

    Kbkli, le ymu dkj tm wrltn tdn Okvk gntdmjs wltd k jleenrnit ikgn, ymu cmuaj usn tdn

    @JlrnctGntdmjkiimtktlmi ks emaamws?

    @JlrnctGntdmj( gntdmj7"guatlpay")pufalc jmufan gyGuatlpayGntdmj( Strlib iug ) {

    // ...

    Le ymu ammh kt jmNcdm, ymu wlaa elij tdkt tdn cmjn ls kfsmautnay strklbdtemrwkrj, lt rncnlvns k strlibkij rnturis lt. Imtdlib tm wmrry kfmut -uianss tdnrn ls smgn litnrika snrvnr nrrmr, fut ant gn tkahkfmut tdkt aktnr.

    Imw, le ymu tkhn k ammh kt guatlpay, tdlibs bnt k flt gmrn litnrnstlib. Rdkt le wn rncnlvn ks ki

    krbugnit smgntdlib alhn dnaam wmraj= Le tdkts tdn cksn, tdn ckaa tm Jmufan.pkrsnJmufan wlaa

    tdrmw k IugfnrEmrgktNxcnptlmi.JlrnctOIblinwlaa tkhn ckrn me tdls, kij rnturi liemrgktlmi tdkt

  • 7/21/2019 DirectJNgine User Guide.1.3

    13/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600? tn a a JlrnctOIbli n wdnrn tm ammh em r snrvnr gntdmj s

    Imw, dmw jmns JlrnctOIblin himw wdkt krn tdn cakssns tdkt cmitkli kctlmi gntdmjs, sm tdkt lt cki

    ammh emr kaa tdmsn ilcn kiimtktlmis=

    Rn usn tdn snrvant jngm.cakssnspkrkgntnr tm tnaa joi tdn cakssns tm cdnch, ks emaamws?

    1lilt-pkrkg91pkrkg-ikgn9jngm.cakssns1/pkrkg-ikgn91pkrkg-vkaun9

    cmg.smetwkrngnitmrs.nxtos.joi.jngm.Pmaa,cmg.smetwkrngnitmrs.nxtos.joi.jngm.ZnstKctlmi,

    cmg.smetwkrngnitmrs.nxtos.joi.jngm.Prmelan1/pkrkg-vkaun91/lilt-pkrkg9

    Vngngfnr, dnrn jngmls tdn kpl jneliltlmi emr NxtOs Jlrnct nxkgpans, le wn wnrn cmielburlib tdntnstskpl, tdn pkrkgntnr tm cmielburn wmuaj dkvn fnni tnsts.cakssns.

    Stnp 5? rnb ls tnr ymu r g ntdmjs w l td Nxt Jlrnct

    Li mrjnr emr NxtOs tm fn kfan tm ckaa mur okvk gntdmjs wn innj tm rnblstnr k rngmtlib prmvljnr. Zdnwky lts fnni jmin li jlrnct.os ls ks emaamws?

    Nxt.Jlrnct.kjjPrmvljnr(Nxt.kpp.VNGMZLIB]KPL,// ...

    )8

    Panksn, imtn tdkt Nxt.kppls tdn ikgnspkcn wn spnclelnj vlk tdn jngm.kplIkgnspkcn snrvantpkrkgntnr, kij VNGMZLIB]KPLls tdn prmvljnr cmielburktlmi wn dkvn prmvljnj li Kpl.os(wn kawkysusn tdn skgn ikgn, VNGMZLIB]KPL, tm gkhn ymur alen nkslnr).

    Stnp 2? cka a tdn gntdmjs ermg Okvkscrlp t

    Zdn RnfCmitnit/nxtos/nxkgpans/jlrnctscrlpt.os elan ckaas mur ZnstKctlmi.jmNcdm Okvk gntdmj ksemaamws?

    ZnstKctlmi.jmNcdm(tnxt.bntUkaun(), euictlmi(rnsuat, n) {vkr t 7 n.bntZrkiskctlmi()8mut.kppnij(Strlib.emrgkt(

    '1p91f9Succnsseua ckaa tm {0}.{;} wltd ' +'rnspmisn?1/f91xgp9{6}1/xgp91/p9',

    t.kctlmi, t.gntdmj, Nxt.nicmjn(rnsuat)))8mut.na.scrmaaZm('t', ;00000, trun)8

    })8

  • 7/21/2019 DirectJNgine User Guide.1.3

    14/46

    JlrnctOIblin? snrs Buljn

    ;: me :5

    Imtn wn krn pksslib k sncmij pkrkgntnr, k Okvkscrlpt euictlmi tdkt wlaa fn ckaanj wltd tdn jktkrnturinj fy tdn snrvnr (lt ls imt snit tm tdn snrvnr!). Rn innj tm usn k euictlmi tm dkijan tdn rnsuat

    fnckusn rngmtn ckaas krn ksyicdrmimus, ks lt wmuaj imt fn k bmmj ljnk tm famch tdn prmbrkg wkltlibemr tdn rnsuat.

    Zdn euictlmi rncnlvns tdn ckaa rnsuat li tdn rnsuatpkrkgntnr, kij kjjltlmika jktk li tdn nnvnit,

    licaujlib tdn trkiskctlmi, wdlcd dmajs tdn livmhnj kctlmikij gntdmjikgns, kgmib mtdnr tdlibs.

    Zdn ckaa tm guatlpayls k flt gmrn litnrnstlib, fnckusn lt sdmws dmw tm dkijan snrvnr nrrmrs?

    ZnstKctlmi.guatlpay(iug.bntUkaun(), euictlmi(rnsuat, n) {vkr t 7 n.bntZrkiskctlmi()8le(n.stktus) {

    mut.kppnij(Strlib.emrgkt('1p91f9Succnsseua ckaa tm {0}.{;} wltd ' +

    'rnspmisn?1/f91xgp9{6}1/xgp91/p9',t.kctlmi, t.gntdmj, Nxt.nicmjn(rnsuat)))8

    } nasn {

    mut.kppnij(Strlib.emrgkt('1p91f9Ckaa tm {0}.{;} eklanj wltd gnsskbn?1/f91xgp9{6}1/xgp91/p9',t.kctlmi, t.gntdmj, n.gnsskbn))8

    }mut.na.scrmaaZm('t', ;00000, trun)8

    })8

    Dnrn, wn bnt tdn nvnit trkiskctlmi kij cdnch lts stktus ? le lt ls trun, tdn nxncutlmi me tdnkppalcktlmi gntdmj elilsdnj succnsseuaay, kij ymu cki skenay usn tdn rnsuat. Nasn, tdn nxncutlmi

    elilsdnj wltd k snrvnr nrrmr. Emr kaa litnits kij purpmsns tdls ls cmisljnrnj tm fn k snrvnr nrrmr fyJlrnctOIblin, kij ls imtlelnj ks sucd tmNxt Jlrnct.

    Rdni tdnrn ls k snrvnr nrrmr, tdn nvnit rncnlvnj fy tdn euictlmi dkijalib tdn rnsuat wlaa dkvn k

    gnsskbnelnaj, prmvljlib smgn hlij me nxpakiktlmi kfmut tdn prmfang, kij le li jnfub gmjn, kwdnrnelnaj prmvljlib kjjltlmika liemrgktlmi. Zdls elnaj wlaa kawkys fn ki ngpty strlib wdni imt li

    jnfub gmjn.

    JlrnctOIblinprmvljns ks gnsskbntdn ikgn me tdn Okvk nxcnptlmi kij tdn gnsskbn lt cmitklis,wdlan wdnrncmitklis tdn euaa stkch trkcn me tdn nxcnptlmi.

    Mtdnr lssu ns

    Rn gnitlminj tdkt wdlan li jnfub gmjn ymu wlaa bnt kjjltlmika liemrgktlmi kfmut snrvnr nrrmrs.Imw, dmw jm ymu spncley wdntdnr tdn kppalcktlmi ls li jnfub gmjn mr imt= Oust usn tdn snrvant

    jnfub pkrkgntnr, ks emaamws?

    1lilt-pkrkg91pkrkg-ikgn9jnfub1/pkrkg-ikgn91pkrkg-vkaun9trun1/pkrkg-vkaun9

    1/lilt-pkrkg9

    Elikaay, li cksn ymu krn wmijnrlib wdkt tdn bninrktnj kpl elan ammhs alhn, dnrn ls (pkrt me) tdn cmjn?

    Nxt.ikgnspkcn( 'Nxt.kpp')8

    Nxt.kpp.PVMULJNV]FKSN]^VA7wlijmw.amcktlmi.prmtmcma + '//' +

  • 7/21/2019 DirectJNgine User Guide.1.3

    15/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600 me :5

    wlijmw.amcktlmi.dmst + '/' +(wlijmw.amcktlmi.pktdikgn.spalt('/')X;W) + '/' + 'joi/jlrnctprmvljnr'8

    // ...

    Nxt.kpp.VNGMZLIB]KPL7 {

    ura? Nxt.kpp.PVMULJNV]FKSN]^VA,typn? 'rngmtlib',kctlmis? {

    ZnstKctlmi? X{

    ikgn? 'jmNcdm'/*( Strlib) 79 Strlib */,ani? ;,emrgDkijanr? ekasn

    },{

    ikgn? 'guatlpay'/*(Strlib) 79 jmufan */,ani? ;,emrgDkijanr? ekasn

    }// ...

    }

    Rn tdlih tdkt lt glbdt fn litnrnstlib emr tdn kpl usnrs tm himw tdn Okvk typns me tdn gntdmjpkrkgntnrs kij rnsuat, kij tdnrnemrn wn kjjnj lt tm tdn bninrktnj smurcn cmjn? tdn pkrkgntnr typns

    krn spnclelnj li pkrnitdnsns, wdlan tdn rnturi typn ls kjjnj ketnr tdn 79 strlib.

    Rrkp u p

    Imw, tdkts k amt me stnps!

    Dmwnvnr, micn ymu dkvn elilsdnj wltd fkslc cmielburktlmi, ymu wlaa elij tdkt wrltlib k inw gntdmjlivmavns oust tdrnn stnps? tdlihlib wdkt ymur gntdmj dks tm ammh alhn, wrltlib tdn okvk gntdmj ltsnae,

    kij ckaalib lt ermg Okvkscrlpt. Zdls ls imt gucd gmrn jleelcuat tdkt crnktlib k inw Okvk gntdmj tm fnusnj fy mtdnr Okvk cmjn li ymur kppalcktlmi.

  • 7/21/2019 DirectJNgine User Guide.1.3

    16/46

    JlrnctOIblin? snrs Buljn

    ;5 me :5

    5. Emrg pmsts kij JlrnctOIblin

    Emrg prmcnsslib wltdJlrnctOIblinls qultn nksy. Fut, fnemrn wn stkrt tm tkhn k ammh kt lt, gkhn surntdkt ymu dkvn emaamwnj tdn stnps wn mutalinj fnemrn tm pmrt tdn jngms ermg PDP tm k

    JlrnctOIblinfksnj Okvk fkchnij.

    Imw, ants cdnch dmw tm amkj kij sufglt emrg jktk uslib tdn jngm licaujnj wltdNxtOsltsnae, li ltsjngm/jlrnct/jlrnct-emrg.oselan.

    Stnp ;? wrltlib tdn Okvkscrlpt cmjn tdkt amkjs/sufglts jktk

    Zm fnbli wltd, wn krn bmlib tm stujy miay tdn elrst emrg li tdn jngm (snn Elburn ;). Zdn jktk ls

    smgn hlij me fkslc pnrsmi liemtdkt licaujns k ikgn, ki ngklakij k cmgpkiy. Nvni le lt ls imtvlslfan, tdnrn ls ki ljtdkt uilqunay ljnitlelns tdn pnrsmi, kij ki kjjltlmika dljjni emmelnaj, oust tmgkhn tdlibs litnrnstlib.

    Elburn ;. Amkjlib kij sufglttlib jktk

    Imw, dmw krn wn bmlib tm amkj tdkt fkslc pnrsmi liem= Zdn elrst tdlib tdkt cmgns tm glij ls tm pksstdn pnrsmi ljtm tdn amkjgntdmj. Kij, kbkli, tm gkhn tdlibs litnrnstlib, wn wlaa pkss kemmvkaun.

    Zdn Okvkscrlpt cmjn tm amkj tdn emrg jktk wlaa fn ks emaamws?

    fkslcLiem.bntEmrg().amkj({pkrkgs? {

    emm? 'fkr',ulj? 3:

    }})8

    \mu pkss tdn pkrkgntnrs tm amkj ks k pkrkgsmfonct, imt jlrnctay, tdkts tdn wky lt ls.

    Zdn inxt stnp ls tm sufglt tdn emrg jktk emr prmcnsslib. Dnrn ls tdn Okvkscrlpt cmjn?

    fkslcLiem.bntEmrg().sufglt({pkrkgs? {

    emm? 'fkr',ulj? 3:

    }})8

  • 7/21/2019 DirectJNgine User Guide.1.3

    17/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600

  • 7/21/2019 DirectJNgine User Guide.1.3

    18/46

    JlrnctOIblin? snrs Buljn

    ;4 me :5

    pufalc Strlib emm8pufalc Strlib ikgn8pufalc Strlib cmgpkiy8pufalc Strlib ngkla8

    }

    pufalc fmmanki succnss 7 trun8pufalc Jktk jktk 7 inw Jktk()8

    }

    Zdls ammhs cmgpalcktnj, fut lt ls imt, L prmglsn. Rdkts dkppnilib dnrn ls tdkt tdn Nxt Jlrnctnxpncts jktk rnturinj ermg k amkjckaa tm dkvn k cnrtkli emrgkt.

    Elrst me kaa,Nxt Jlrnctnxpncts ymu tm prmvljn k succnssvkaun tdkt ymu snt tm trun le nvnrytdlibwnit wnaa, kij tm ekasn le tdnrn wks k prmfang. Zdni, lt nxpncts tdn rnturinj jktk tm fn put li k jktk

    vkaun. Fmtd me tdng krn tdnrn li tdn FkslcLiemcakss, wdlcd ls imtdlib gmrn tdki k vkaun dmajnr.

    Lt ls ymu wdm jncljns wdkt bmns lisljn me tdn jktk. Li tdls cksn, wn oust dkvn emm, ikgn, cmgpkiy

    kij ngkla, nxkctaytdn ikgns wn bkvn tdn emrg elnajs kij/mr pkrkgntnrs pkssnj fkch kij emrtd. Rncrnktnj tdn Jktkcakss tm rneanct tdls structurn, imtdlib gmrn. Fy emaamwlib tdnsn cmivnitlmisNxt

    Jlrnctwlaa pnremrg kaa gkblc rnqulrnj tm elaa tdn emrg elnajs kij pkss tdn jktk tm mur Okvk gntdmj.

    Micn ymur gntdmj rnturis tdn jktk,JlrnctOIblinwlaa pnremrgs kaa gkblc rnqulrnj tm snij lt tmNxt

    Jlrnctemr prmcnsslib kt tdn calnit.

    Stnp :? wrltn tdn Okvk cmjn emr sufglttlib emrg jktk

    Li mrjnr tm dkijan tdn emrg sufglt wn dkvn tm jnelin k Okvk gntdmj kiimtktnj wltdJlrnctEmrgPmstGntdmj . Fnsljns, tdn Okvk gntdmj gust rncnlvn twm pkrkgntnrs. Zdn elrst min

    gust fn k gkp meelnaj ikgn-elnaj vkaunpklrs, rnprnsnitlib kaa emrg elnajs, nxcnpt liput elan elnajs.

    Zdn sncmij pkrkgntnr gust fn k gkp meelnaj ikgn-elan ltngsrnprnsnitlib miay tdn liput elan elnajs?ymu cki kccnss nkcd elan uslib tdn ElanLtng s bntLiputStrnkggntdmj. Le ymur emrg dks im liput

    elan elnajs, tdls gkp wlaa fn ngpty.

    Dnrn ls tdn Okvk cmjn?

    @JlrnctEmrgPmstGntdmjpufalc SufgltVnsuat upjktnFkslcLiem( Gkp1Strlib, Strlib9 emrgPkrkgntnrs,

    Gkp1Strlib, ElanLtng9 elanElnajs ){

    kssnrt emrgPkrkgntnrs !7 iuaa8kssnrt elanElnajs !7 iuaa8

    SufgltVnsuat rnsuat 7 inw SufgltVnsuat()8

    Strlib ngkla 7 emrgPkrkgntnrs.bnt( "ngkla")8rnsuat.succnss 7 !ngkla.nqukas("[email protected]")8le( !rnsuat.succnss ) {

    rnsuat.nrrmrs 7 inw DksdGkp1Strlib,Strlib9()8rnsuat.nrrmrs.put( "ngkla", "karnkjy tkhni")8

    }

    rnsuat.jnfub]emrgPkchnt 7 emrgPkrkgntnrs8rnturi rnsuat8

    }

  • 7/21/2019 DirectJNgine User Guide.1.3

    19/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600

  • 7/21/2019 DirectJNgine User Guide.1.3

    20/46

    JlrnctOIblin? snrs Buljn

    60 me :5

    Li tdls cksn, wn oust pkss tdn emrgs nanangnit ks tdn elrst kij miay pkrkgntnr tm tdn rngmtngntdmj. Zdn Okvk gntdmj lgpangnitktlmi wlaa imt cdkibn.

  • 7/21/2019 DirectJNgine User Guide.1.3

    21/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600

  • 7/21/2019 DirectJNgine User Guide.1.3

    22/46

    JlrnctOIblin? snrs Buljn

    66 me :5

    emr tdn jngmkpl, kij PMAALIB]^VASls tdn mfonct dmajlib tdn uras me kaa pmaalib nvnits li tdkt kpl.Akstay, gnsskbnls tdn nvnit ikgn.

    Lt ls pmsslfan tm dkijan pmaalib prmvljnr nvnits li Okvkscrlpt vlk tdn prmvljnrs jktkalstninr ks wnaa.

    Zdn emaamwlib cmjn ls ermg min me mur litnrika tnsts, kij sdmws dmw tm jm tdkt. Fnsljns, lt sdmwsdmw tm pkss pkrkgntnrs tm tdn rnqunst, uslib tdn fksnPkrkgscmielb mptlmi.

    vkr pmaalibPrmvljnr 7 Nxt.Jlrnct.kjjPrmvljnr({typn? 'pmaalib',litnrvka? ;000,ura? tnst.PMAALIB]^VAS.tnst]pmaaRltdFksnPkrkgs,fksnPkrkgs ? {

    krb; ? 'vkaun',},alstninrs? {

    jktk? euictlmi(prmvljnr, nvnit) {Nxt.amb( 'tnst]pmaaRltdFksnPkrkgs')8tlgnsCkaanj++8le (tlgnsCkaanj 777 6) {

    pmaalibPrmvljnr.jlscmiinct()8Joi.Znst.cdnch('tnst]pmaaRltdFksnPkrkgs',

    nvnit.jktk !77 uijnelinj && nvnit.jktk 777 'krb;7vkaun',"Nxpnctnj tm rncnlvn 'krb;7vkaun' ks nvnit.jktk")8

    }}

    }})8

    pmaalibPrmvljnr.cmiinct()8

    Oust emr cmgpantninss, ant us sdmw tdn Okvk cmjn?

    @JlrnctPmaaGntdmjpufalc Strlib tnst]pmaaRltdFksnPkrkgs( Gkp1Strlib,Strlib9 pkrkgntnrs ) {

    kssnrt pkrkgntnrs !7 iuaa8

    // ...

    Strlib rnsuat 7 ""8emr( Strlib hny ? pkrkgntnrs.hnySnt()) {

    Strlib vkaun 7 pkrkgntnrs.bnt(hny)8rnsuat +7 hny + "7" + vkaun8

    }

    rnturi rnsuat8}

    Panksn, imtn tdkt slicn wn dkvnit spnclelnj k vkaun emr tdn nvnitpkrkgntnr li tdnJlrnctPmaaGntdmjkiimtktlmi, tdn ikgn me tdn nvnit ls tdn gntdmj ikgn.

  • 7/21/2019 DirectJNgine User Guide.1.3

    23/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600

  • 7/21/2019 DirectJNgine User Guide.1.3

    24/46

    JlrnctOIblin? snrs Buljn

    6: me :5

    Elrst me kaa, wn jnelin k vnry slgpan Okvk cakss, Nxpnrlnicn, tdkt dks kaa jktk emr ltngs li tdn stmrn,

    (stkrtJktn, nijJktnkij jnscrlptlmi, ks jnelinj li tdn elnajscmielb mptlmi). Zdn snrvnrgntdmj oust rnturis k alst me Nxpnrlnicnmfoncts.

    Zdnrn ls rnkaay imtdlib rngkrhkfan kfmut tdn snrvnr gntdmj, wdlcd ks ymu prmfkfay nxpnctnj oust

    innjs tm dkvn tdn JlrnctGntdmjkiimtktlmi, kij gust rnturi k alst me mfoncts, li tdls cksn me typnNxpnrlnicn. Dmwnvnr, ymu gustsnt tdnJlrnctStmrnpkrkgsKsDksdcmielburktlmi pkrkgntnr tmekasn, emr tdls tm wmrh.

    Pksslib pkrkgntnrs tm JlrnctStmrns jlrnctEi

    Li rnka alen, ymu wlaa dkvn tm pkss smgn pkrkgntnrt tm ymur jlrnctEigntdmj. \mu cki jm tdls lisnvnrka wkys?

    ^sn tdnJlrnctStmrnfksnPkrkgs cmielburktlmi prmpnrty? ammhup krbErmgFksnPkrkgsli

    tdn nxkgpan cmjn fnamw tm ankri dmw tm jm tdls.

    ^sn tdn amkjgntdmjs pkrkgskrbugnit? ammhup krbPkssnjLiAmkjCkaa li tdn nxkgpancmjn tm cdnch dmw tm jm tdls.

    Kjj tdn pkrkgntnr tm tdn mptlmismfonct rncnlvnj fy tdn JlrnctStmrnfnemrnamkjgntdmj?

    ammhup krbPkssnjLiFnemrnAmkjNvnit tm ankri dmw tm jm tdls.

    Dnrn ls tdn okvkscrlpt smurcn cmjn emr tdnJlrnctOIblintnst gntdmj jngmistrktlib dmw tm usn tdls?

    tnst]amkjRltdKrbugnits ? euictlmi() {vkr gyStmrn 7 inw Nxt.jktk.JlrnctStmrn( {

    pkrkgsKsDksd?ekasn,rmmt?'ltngs',pkrkgMrjnr? X'krbErmgFksnPkrkgs', 'krbPkssnjLiAmkjCkaa',

    'krbPkssnjLiFnemrnAmkjNvnit'W,tmtkaPrmpnrty ? 'rmwCmuit',jlrnctEi? JlrnctStmrnZnst.tnst]amkjRltdKrbugnits,

    ljPrmpnrty?'lj',elnajs? X

    {ikgn? 'lj' },{ikgn? 'ikgn'}

    W,alstninrs? {

    fnemrnamkj ? euictlmi(stmrn, mptlmis) {mptlmis.pkrkgs.krbPkssnjLiFnemrnAmkjNvnit 7 ekasn

    },amkj? euictlmi(s, rncmrjs){

    Joi.Znst.cdnch( "tnst]amkjRltdKrbugnits", rncmrjs.anibtd 777 6,"Le tdnrn ls ki nrrmr, tdls wlaa invnr fn ckaanj? k " +"tlgnmut sdmuaj dkppni le tdnrn ls smgn nrrmr!" )8

    }},fksnPkrkgs? {krbErmgFksnPkrkgs?'kUkaun'}

    })8

    gyStmrn.amkj({pkrkgs? {krbPkssnjLiAmkjCkaa? 3:

  • 7/21/2019 DirectJNgine User Guide.1.3

    25/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600 me :5

    }})8

    }

    Vngngfnr tdkt ymu gust snt pkrkgsKsDksdtm ekasn. Fnsljns, ymu gustspncley tdn mrjnr li wdlcd

    tdn pkrkgntnrs wlaa fn pkssnj uslib tdnJlrnctStmrnpkrkgMrjnrcmielburktlmi pkrkgntnr.Dnrn ls tdn snrvnr sljn tnst gntdmj?

    @JlrnctGntdmjpufalc JlrnctStmrnVnsuat joi]tnst]amkjRltdKrbugnits(

    Strlib krbErmgFksnPkrkgs, lit krbPkssnjLiAmkjCkaa,fmmanki krbPkssnjLiFnemrnAmkjNvnit )

    {le( !krbErmgFksnPkrkgs.nqukas("kUkaun") || krbPkssnjLiAmkjCkaa !7 3: ||

    krbPkssnjLiFnemrnAmkjNvnit ) {tdrmw inw JlrnctZnstEklanjNxcnptlmi(

    "Jlj im rncnlvn nxpnctnj vkauns")8}

    MutputXW rnsuat 7 inw MutputX6W8rnsuatX0W 7 inw Mutput()8rnsuatX0W.lj 7

  • 7/21/2019 DirectJNgine User Guide.1.3

    26/46

    JlrnctOIblin? snrs Buljn

    65 me :5

    26.dtga). Li mrjnr tm smavn tdls

    prmfang, wn krn kaamwlib ki katnriktlvn wky tm rnenrnicn tdn KPL smurcn cmjn. Le ymu wnrnrnenrniclib k tnst/GyKpl.osKPL elan ks emaamws,

    1scrlpt typn7"tnxt/okvkscrlpt"src7"tnst/JoiZnstKpl-jnfub.os"9

    1/scrlpt9

    imw ymu sdmuaj rnenrnicn lt alhn tdls?

    1scrlpt typn7"tnxt/okvkscrlpt"src7"/TTT/joi/jlrnctprmvljnr/src7tnst/JoiZnstKpl-jnfub.os"9

    1/scrlpt9

    Dnrn,TTTls tdn cmitnxt ikgn, joi/jlrnctprmvljnrls tdn vkaun ymu prmvljnj li tdnJlrnctOIblin

    prmvljnrs^ra snrvant pkrkgntnr, kij/src7ls k stkijkrj prnelx ymu innj tm kjj fnemrn tdn kpl elanikgn.

    Zdls wky,JlrnctOIblinwlaa bninrktn tdn smurcn cmjn mi tdn eay, gkhlib tdn KPL elans uiincnskry.Li ekct, tdn smurcn wlaa fn bninrktnj kij glilelnj kt stkrt tlgn, kij pakcnj li k ckcdn.

    Imw, le ymu jmit wkit tdktJlrnctOIblincrnktns/upjktns tdn smurcn elans, ymu wlaa innj tm snt tdn

    crnktnSmurcnElans snrvant pkrkgntnr tm ekasn (lt ls trun fy jnekuat), sm tdktKppNiblinjmns imtcmgpakli.

    Akst, fut imt ankst, ymu wlaa innj tm jlskfan guatltdrnkjnj suppmrt emr fktcdnj rnqunsts, fnckusn

    KppNiblinwlaa imt alhn ymur kpp le lt crnktns guatlpan tdrnkjs. Zm jm tdls, snt tdnfktcdVnqunstsGuatltdrnkjlibNikfanjsnrvant pkrkgntnr tm ekasn.

    Micn kaa me tdls ls jmin, ymu sdmuaj fn kfan tm rui Bmmban KppNiblinwltdmut k prmfang.

  • 7/21/2019 DirectJNgine User Guide.1.3

    27/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600

  • 7/21/2019 DirectJNgine User Guide.1.3

    28/46

    JlrnctOIblin? snrs Buljn

    64 me :5

    nxpakiktlmi.

    Imt rnqulrnj.

    Jnekuat vkaun? trun.

    fktcdVnqunstsGliZdrnkjsPmmaSlzn Panksn, tkhn k ammh kt tdn Mptlglzlib fktcd rnqunsts

    dkijalib uslib guatlpan tdrnkjssnctlmi emr kinxpakiktlmi.

    Imt rnqulrnj.

    Jnekuat vkaun? ;5.

    fktcdVnqunstsGkxZdrnkjsPmmaSlzn Panksn, tkhn k ammh kt tdn Mptlglzlib fktcd rnqunsts

    dkijalib uslib guatlpan tdrnkjs snctlmi emr kinxpakiktlmi.

    Imt rnqulrnj.

    Jnekuat vkaun? 40.

    fktcdVnqunstsGkxZdrnkjHnnpKalvnSncmijs

    Panksn, tkhn k ammh kt tdnMptlglzlib fktcd rnqunstsdkijalib uslib guatlpan tdrnkjssnctlmi emr ki

    nxpakiktlmi.

    Imt rnqulrnj.

    Jnekuat vkaun? 50.

    fktcdVnqunstsGkxZdrnkjsPnrVnqunst Panksn, tkhn k ammh kt tdn Mptlglzlib fktcd rnqunstsdkijalib uslib guatlpan tdrnkjssnctlmi emr kinxpakiktlmi.

    Imt rnqulrnj.

    Jnekuat vkaun? 4.

    jlspktcdnrCakss Zdn cakss lgpangnitlib tdn Jlspktcdnrtdkt wlaa

    dkijan kctlmi gntdmjs? usneua emr nxtnijlibJlrnctOIblin.

    Imt rnqulrnj.

    osmiVnqunstPrmcnssmrZdrnkjCakss Zdn cakss lgpangnitlib tdnOsmiVnqunstPrmcnssmrZdrnkjtdkt wlaa dkijan

    fktcdnj OSMI rnqunsts? usneua emr nxtnijlibJlrnctOIblin.

    Imt rnqulrnj

    cmitnxtPktd Emrcns tdn wnf kpp cmitnxt pktd, listnkj meckacuaktlib lt vlk Okvkscrlpt? tdls ls usukaay imt

    innjnj, fut ymu G^SZ spncley le tdn wnf kppcmitnxt pktd ls tdn jnekuat cmitnxt (/ mr ), fnckusn

    tdn Okvkscrlpt cmjn wlaa imt fn kfan tm dkijan tdlsspnclka cksn.

    Imt rnqulrnj.

    crnktnSmurcnElans Rdni snt tm ekasn, JlrnctOIblin wlaa imt crnktn

    smurcn elans. Zdls ls innjnj emr Bmmbans KppNiblin,emr nxkgpan, wdlcd jmns imt kaamw elan crnktlmi kt

  • 7/21/2019 DirectJNgine User Guide.1.3

    29/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600

  • 7/21/2019 DirectJNgine User Guide.1.3

    30/46

    JlrnctOIblin? snrs Buljn

    30 me :5

    ;;. Stktn gkikbngnit kij snsslmi /kppa lckt lmi scm pn sup pmrt

    RdlanJlrnctOIblinls oust k cmgguilcktlmi prmtmcma, gkiy usnrs dkvn rnqunstnj tdn kflalty tmkccnss tdn wnf snsslmi, tdn snrvant cmitnxt, tdn snrvant cmielburktlmi, ntc. ermg wltdli tdnlr kctlmigntdmjs.

    Zm tdls nij, wn dkvn lgpangnitnj twm inw cakssns, RnfCmitnxtkij RnfCmitnxtGkikbnr. Zdnemaamwlib cmjn sdmws dmw tm usn tdng li mrjnr tm stmrn tdn iugfnr me tlgns k gntdmj dks fnnickaanj li k snsslmi?

    @JlrnctGntdmjpufalc RnfCmitnxtLiem tnst]wnfCmitnxt() {

    RnfCmitnxt cmitnxt 7 RnfCmitnxtGkikbnr.b n t ()8DttpSnsslmi snsslmi 7 cmitnxt.bntSnsslmi()8SnrvantCmitnxt kppalcktlmi 7 cmitnxt.bntSnrvantCmitnxt()8

    // Hnnp k cmuitnr me dmw gkiy tlgns wn dkvn ckaanj tdls gntdmj

    // li tdls snsslmiLitnbnr ckaasLiSnsslmi7(Litnbnr)snsslmi.bntKttrlfutn("ckaasLiSnsslmi")8le( ckaasLiSnsslmi 77 iuaa ) {

    ckaasLiSnsslmi 7 inw Litnbnr(0)8}ckaasLiSnsslmi 7 inw Litnbnr(ckaasLiSnsslmi.litUkaun() + ;)8snsslmi.sntKttrlfutn("ckaasLiSnsslmi", ckaasLiSnsslmi)8

    // ...}

    Ks ymu cki snn, ymu oust bnt k RnfCmitnxtfy ckaalib tdn RnfCmitnxtGkikbnr.bnt() , kij tdni

    ymu ckaa lts bntSnsslmigntdmj -mr bntSnrvantCmitnxt , bntVnqunst, bntVnspmisn,bntSnrvantCmielb, jnpnijlib mi ymur innjs. Zdkts kaa!

    Stktneua kctlmis

    Fy jnekuat, kaa kctlmi mfoncts krn stktnanss, gnkilib tdkt tdny krn rncrnktnj (kt ankst, cmicnptukaay)

    nvnry tlgn k inw rnqunst ls dkijanj kt tdn snrvnr. Dmwnvnr, smgntlgns lt wmuaj fn ilcn tm dkvnkctlmis wdmsn stktn ls hnpt fntwnni rnqunsts.JlrnctOIblindks kjjnj suppmrt fmtd emr snsslmi

    scmpnj kij kppalcktlmi scmpnj kctlmi mfoncts, uslib tdn KctlmiScmpnkiimtktlmi, ks emaamws?

    @KctlmiScmpn(scmpn7Scmpn.SNSSL MI)

    pufalc cakss SnsslmiStktneuaKctlmiZnst {prlvktn lit cmuit 7 08

    @JlrnctGntdmjpufalc syicdrmilznj lit tnst]bntSnsslmiCkaaCmuit() {

    tdls.cmuit++8rnturi tdls.cmuit8

    }

    // ...}

    Zdn suppmrtnj scmpns krn SNSSLMI, KPPALCKZLMIkij SZKZNANSS. Le imt nxpalcltay snt, tdn jnekuatkctlmi scmpn ls SZKZNANSS.

  • 7/21/2019 DirectJNgine User Guide.1.3

    31/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600

  • 7/21/2019 DirectJNgine User Guide.1.3

    32/46

    JlrnctOIblin? snrs Buljn

    36 me :5

    ;6. Custmg lzlib jktk cmi vnrslmi kij Bsmi cmi elburkt lmi

    Rn krn uslib Bsmi tm dkijan jktk cmivnrslmi ermg OSMI tm Okvk jktk kij fkch. Bsmi ls vnrypmwnreua, kij lts jnekuat cmielburktlmi ls qultn kccnptkfan, fut lt glbdt dkppni tdkt ymu innj tmcustmglzn lt.

    Rdkt krn tdn Bsmi cmielburktlmi mptlmis= Oust tkhn k ammh kt tdn Bsmi ^snrs Buljn, kij tdni tdnjmcugnitktlmi emr lts BsmiFulajnrcakss, tdny krn kaa nxpaklinj tdnrn.

    Kgmib tdn cmielburktlmi mptlmis, tdnrn ls tdn pmsslflalty tm cmitrma dmw tm snrlkalzn/jnsnrlkalzncnrtkli Okvk typns, sucd ks k dypmtdntlcka JktnZlgncakss prmvljnj fy k tdlrj pkrty tdkt Bsmi jmns

    imt nvni himw kfmut.

    Zm kaamw ymu tm dkijan tdnsn lssuns, wn dkvn prmvljnj suppmrt emr ymu tm cmielburn tdnBsmiFulajnrJlrnctOIblinusns tm pkrsn OSMI.

    Cdkiblib Bsmis cmielburktlmi

    Zm tkhn cmitrma me Bsmi cmielburktlmi ymu dkvn tm crnktn k cakss tdkt lgpangnits tdn

    BsmiFulajnrCmielburktmr litnrekcn. Ks ki nxkgpan, dnrn ls tdn lgpangnitktlmi me tdn cakss tdktjnelins tdn jnekuatcmielburktlmi emrJlrnctOIblin?

    pufalc cakss JnekuatBsmiFulajnrCmielburktmrlgpangnits BsmiFulajnrCmielburktmr

    {@Mvnrrljnpufalc vmlj cmielburn(BsmiFulajnr fulajnr,

    BamfkaCmielburktlmi cmielburktlmi) {kssnrt fulajnr !7 iuaa8kssnrt cmielburktlmi !7 iuaa8

    le( cmielburktlmi.bntJnfub() ) {fulajnr.sntPrnttyPrlitlib()8

    }fulajnr.snrlkalznIuaas()8fulajnr.jlskfanDtgaNsckplib()8

    }}

    Zdn miay gntdmj ymu innj tm mvnrrljn ls cmielburn, wdlcd rncnlvns mur BsmiFulajnrks lts elrstpkrkgntnr, kij tdn bamfkaJlrnctOIblincmielburktlmi ks tdn sncmij min. Rn tdlih tdn cmjn ls prntty

    gucd snae-nxpakiktmry.

    Imw ymu dkvn tm tnaa JlrnctOIblintdkt ymu wkit tm usn ymur mwi custmg cmielburktmr. Zm jm tdkt,usn tdn bsmiFulajnrCmielburktmrCaksssnrvant pkrkgntnr, wdlcd gust fn tdn euaa ikgn me tdn

    cmielburktmr cakss?

    1lilt-pkrkg91pkrkg-ikgn9bsmiFulajnrCmielburktmrCakss1/pkrkg-ikgn91pkrkg-vkaun9

    cmg.smetwkrngnitmrs.nxtos.joi.tnst.cmielb.BsmiFulajnrCmielburktmrEmrZnstlib1/pkrkg-vkaun9

    1/lilt-pkrkg9

  • 7/21/2019 DirectJNgine User Guide.1.3

    33/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600, gmitd? 3, jky? 60}8GyKctlmi.ckaaGntdmjRltdJktn( kJktn )8

    Rdkt wn wkit ls tdls hlij me Okvkscrlpt mfonct tm fn cmivnrtnj tm k pakli Okvk jktn, sm tdkt wn ckilgpangnit tdn Okvk gntdmj alhn tdls?

    @JlrnctGntdmjpufalc vmlj ckaaGntdmjRltdJktn(Jktn jktn) // ...

    Kij, me cmursn, wn wkit tm fn kfan tm dkijan jktns rnturinj fy k Okvk gntdmj li Okvkscrlpt. Zm jmtdnsn twm tdlibs, wn innj tm jnelin Bsmi snrlkalznrs kij jnsnrlkalznrs. Dnrn ls tdn cmjn?

    pufalc cakss BsmiFulajnrCmielburktmrEmrZnstlibnxtnijs JnekuatBsmiFulajnrCmielburktmr

    {

    @Mvnrrljnpufalc vmlj cmielburn(BsmiFulajnr fulajnr,

    BamfkaCmielburktlmi cmielburktlmi){

    supnr.cmielburn(fulajnr, cmielburktlmi)8

    kjjCustmgSnrlkalzktlmiSuppmrt(fulajnr)8}

  • 7/21/2019 DirectJNgine User Guide.1.3

    34/46

    JlrnctOIblin? snrs Buljn

    3: me :5

    prlvktn vmlj kjjCustmgSnrlkalzktlmiSuppmrt(BsmiFulajnr fulajnr) {// Cmivnrt mur mwi custmg Okvkscrlpt "jktn" tm k Okvk Jktnfulajnr.rnblstnrZypnKjkptnr( Jktn.cakss, inw OsmiSnrlkalznr1Jktn9() {

    pufalc OsmiNangnit snrlkalzn( Jktn src, Zypn typnMeSrc,OsmiSnrlkalzktlmiCmitnxt cmitnxt) {

    kssnrt src !7 iuaa8kssnrt cmitnxt !7 iuaa8kssnrt typnMeSrc !7 iuaa8

    OsmiMfonct rnsuat 7 inw OsmiMfonct()8s n t L i t U k a u n ( rnsuat, "ynkr", src.bnt\nkr() + ;

  • 7/21/2019 DirectJNgine User Guide.1.3

    35/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600 me :5

    OsmiNangnit nangnit 7 pkrnit.bnt( nangnitIkgn )8le( !nangnit.lsOsmiPrlgltlvn() ) {

    tdrmw inw OsmiPkrsnNxcnptlmi( "Nangnit + '" + nangnitIkgn +"' gust fn k vkalj litnbnr")8

    }

    OsmiPrlgltlvn prlgltlvnNangnit 7 (OsmiPrlgltlvn)nangnit8le( !prlgltlvnNangnit.lsIugfnr()) {tdrmw inw OsmiPkrsnNxcnptlmi( "Nangnit + '" + nangnitIkgn +

    "' gust fn k vkalj litnbnr")8}rnturi prlgltlvnNangnit.bntKsLit()8

    }}

    Rn dmpn tdn cmjn ls imt tmm jleelcuat tm uijnrstkij? oust tkhn k ammh kt Bsmi ^snrs Buljnemrjntklas - lt ls vnry wnaa wrlttni.

    Camslib tdmubdtsRn dkvn prmvljnj tdls ks ki nxkgpan me dmw tm dkijan imi-trlvlka typns, sucd ks Okvks Jktn. Rnjncljnj kbklist prmvljlib jnekuat snrlkalznrs/jnsnrlkalznrs emr cakssns sucd ks Jktnmr Ckanijkr

    fnckusn wn jljit wkit tm lgpmsn k Okvkscrlpt emrgkt emr tdnsn typns. Li mur nxkgpan wn jnelinj

    mur mwi custmg Okvkscrlpt jktn alhn tdls?

    vkr kJktn 7 {ynkr? 600>, gmitd? 3, jky? 60}8

    Fut, wdy imt usn k gmrn cmgpkct katnriktlvn= Smgntdlib alhn tdls, emr nxkgpan?

    vkr kJktn 7 X600>,3,60W8

    Rn tdmubdt tdkt tdn jnclslmi sdmuaj fn ymurs? wn dmpn tdls nxkgpan wlaa gkhn lt vnry nksy emr ymutm lgpangnit tdn smautlmi tdkt fnttnr elts ymu.

  • 7/21/2019 DirectJNgine User Guide.1.3

    36/46

    JlrnctOIblin? snrs Buljn

    35 me :5

    ;3. Dkija lib OSMI jktk jlrnct ay

    Rn dkvn gkjn nvnry neemrt tm dkijan snrlkalzktlmi ermg OSMI tm Okvk emr ymu, sm tdkt ymu cki wrltngntdmjs tdkt rncnlvn bmmj maj Okvk jktk typns.

    Dmwnvnr, tdnrn cki fn cksns wdni ymu glbdt innj tm kccnss tdn OSMI jktk jlrnctay emr gkxlgug

    eanxlflalty, kijJlrnctOIblinkaamws ymu tm jm tdkt tmm.

    Dnrn ls smgn cmjn tdkt sdmws dmw tm wrltn sucd k gntdmj?

    @JlrnctGntdmjpufalc fmmanki tnst]dkijanOsmiJktkGntdmj( OsmiKrrky jktk) {

    kssnrt jktk !7 iuaa8

    // Rrltn ymur mwi custmg cmjn dnrn...le( jktk.slzn() !7 ;) {

    tdrmw inw JlrnctZnstEklanjNxcnptlmi("Rn nxpnctnj k osmi krrky wltd oust min nangnit")8

    }

    OsmiNangnit nangnit 7 jktk.bnt(0)8le( !nangnit.lsOsmiPrlgltlvn()) {

    tdrmw inw JlrnctZnstEklanjNxcnptlmi("Rn nxpnctnj tdn elrst osmi ltng tm fn k osmi prlgltlvn")8

    }

    OsmiPrlgltlvn prlgltlvn 7 (OsmiPrlgltlvn)nangnit8le( !prlgltlvn.lsFmmanki()) {

    tdrmw inw JlrnctZnstEklanjNxcnptlmi("Rn nxpnctnj k prlgltlvn osmi fmmanki nangnit")8

    }le( prlgltlvn.bntKsFmmanki()) {

    tdrmw inw JlrnctZnstEklanjNxcnptlmi( "Rn nxpnctnj k ekasn vkaun")8}

    rnturi prlgltlvn.bntKsFmmanki()8}

    Ks ymu cki snn li tdn nxkgpan cmjn, tdn gntdmj gust rncnlvn k OsmiKrrky, fnckusn tdn jktk snit

    fyNxt Jlrnctls nicmjnj li k OSMI krrky. Emr liemrgktlmi mi dmw tm dkijan k OsmiKrrky, tkhn kammh kt Bsmis jmcugnitktlmi, panksn.

    Me cmursn, tdls gkhns snisn miay emr OSMI rnqunsts, kij tdls gnkis tdkt tdls ls miay suppmrtnj emr

    stkijkrj gntdmjs (l.n., tdmsn kiimtktnj wltd @JlrnctGntdmj ).

  • 7/21/2019 DirectJNgine User Guide.1.3

    37/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600

  • 7/21/2019 DirectJNgine User Guide.1.3

    38/46

    JlrnctOIblin? snrs Buljn

    34 me :5

    "tnst]prmbrkggktlcPmaaGntdmj", Gkp.cakss)8kctlmi.kjjPmaaGntdmj( "gyPrmbrkggktlcPmaaGntdmj", pg)8

    }}

    Ks ymu cki snn, tdn prmbrkggktlc KPL usns nxtnislvnay snvnrka JlrnctOIblincakssns?VnblstnrnjKpl, VnblstnrnjKctlmi , VnblstnrnjGntdmjkij VnblstnrnrnjPmaaGntdmj .

    Imw, ants tkhn k ammh kt dmw tm usn tdls euictlmikalty li Okvkscrlpt. Dnrn ls tdn tnst cmjn emr tdls

    enkturn?

    Joi.CustmgVnblstryCmielburktmrDkijalibZnst 7 {tnstCakssIkgn ? 'CustmgVnblstryCmielburktmrDkijalibZnst',

    tnst]prmbrkggktlcGntdmj ?euictlmi() {Joi.prmbrkggktlcIkgnspkcn.GyCustmgVnblstryCmielburktmrDkijalibZnst.

    gyPrmbrkggktlcGntdmj( 'prmbrkggktlc', euictlmi(rnsuat, rnspmisn) {

    Joi.Znst.cdnchSuccnsseuaVnspmisn("tnst]prmbrkggktlcGntdmj",rnspmisn, rnsuat 777 'prmbrkggktlc')8

    })8},

    tnst]prmbrkggktlcPmaaGntdmj ? euictlmi() {vkr pmaalibPrmvljnr 7 Nxt.Jlrnct.kjjPrmvljnr({

    typn? 'pmaalib',litnrvka? ;00,fksnPkrkgs ? {

    gyPkrkgntnr ? 'gyUkaun'},ura?

    Joi.prmbrkggktlcIkgnspkcn.PMAALIB]^VAS.gyPrmbrkggktlcPmaaGntdmj,alstninrs? {

    jktk? euictlmi(prmvljnr, nvnit) {Nxt.amb( 'tnst]prmbrkggktlcPmaaGntdmj')8pmaalibPrmvljnr.jlscmiinct()8Joi.Znst.cdnch('tnst]prmbrkggktlcPmaaGntdmj',

    nvnit.jktk 777 'mh',"Nxpnctnj tm rncnlvn 'mh' ks nvnit.jktk")8

    }}

    })8pmaalibPrmvljnr.cmiinct()8

    }

    }

    Li mrjnr tm uijnrstkij wdkts bmlib mi, oust elij wdnrn kij dmw tdn emaamwlib cmjn/strlibs krn usnjfmtd li Okvk kij Okvkscrlpt cmjn?

    Joi.prmbrkggktlcIkgnspkcn ? tdn ikgnspkcn emr tdn okvkscrlpt prmvljnr kij kctlmis.

    GyCustmgVnblstryCmielburktmrDkijalibZnst ? tdn okvkscrlpt kctlmi ikgn. Zdn

    cmrrnspmijlib okvk cakss ls CustmgVnblstryCmielburktmrDkijalibZnst.

    gyPrmbrkggktlcGntdmj ? k okvkscrlpt gntdmj ikgn. Zdn cmrrnspmijlib okvk gntdmj lsCustmgVnblstryCmielburktmrDkijalibZnst.tnst]prmbrkggktlcGntdmj.

  • 7/21/2019 DirectJNgine User Guide.1.3

    39/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600

  • 7/21/2019 DirectJNgine User Guide.1.3

    40/46

    JlrnctOIblin? snrs Buljn

    :0 me :5

    ;>. Cdnchli b calni t-slj n pkrkgntnrs

    Jun tm tdn wkys me Okvkscrlpt kij dmwNxt Jlrnctwmrhs, tdnrn krn cksns li wdlcd strkibn tdlibscki dkppni wdni k snrvnr gntdmjs ls ckaanj. JlrnctOIblinprmvljns suppmrt emr cdnchlib smgn metdmsn cksns, li mrjnr tm kvmlj pmtnitlkaay jkibnrmus sltuktlmis.

    Li mrjnr tm fnttnr uijnrstkij smgn me tdn prmfang, ant's tkhn k ammh kt tdn emaamwlib Okvk cmjn?

    cakss GyKctlmi {@JlrnctGntdmjjmufan sug( jmufan j;, jmufan j6) {

    rnturi j; + j68}

    }

    Imw, ant's ckaa mur suggntdmj wltd tdn emaamwlib Okvkscrlpt cmjn?

    GyKctlmi.sug(3, uijnelinj, >)8

    Jun tm tdn wkyNxt Jlrnctsnrlkalzns osmi, lt wlaa lbimrn tdn uijnelinjkrbugnit, kij tdn rnqunstwlaa ammh ks le tdn Okvkscrlpt gntdmj dkj fnni ckaanj ks emaamws?

    GyKctlmi.sug(3, >)8

    L tdlih tdls cki fn jkibnrmus, fnckusn tdn calnit kij tdn snrvnr krn snnlib vnry jleenrnit tdlibs, wltd

    tdn snrvnr imt fnlib kfan tm himw tdkt smgntdlib pmtnitlkaay prmfangktlc ls bmlib mi.Zdn prmfang bnts wmrsn le ymu pkss ki krrky wltd ki uijnelinj vkaun, ks lt wlaa fn lbimrnj, kij tdn

    skgn wlaa dkppni emr ki mfonct lisljn ki mfonct lisljntdkt dks ki krrky wltd min me lts vkauns snttm uijnelinj. Kij tdls akst scnikrlm cki fn rnkaaydkrj tm jnfub.

    Zdnrn krn gmrn prmfangktlc sltuktlmis. Emr nxkgpan, tkhn k ammh kt tdn emaamwlib Okvkscrlpt ckaas?

    GyKctlmi.sug( 3, >, 2>66 )8GyKctlmi.sug( 3 )8

    Li fmtd cksns tdn snrvnr wlaa fn ckaanj wltd tdn wrmib iugfnr me krbugnits. Rdlan tdn snrvnr cki

    dkijan tdls, L tdlih lt wmuaj fn ilcn leNxt Jlrnctcdnchnj tdkt tdn iugfnr me krbugnits ls rlbdtfnemrn snijlib k rnqunst.

    Kaa li kaa, wn tdlih lt wmuaj fn ilcn le tdnsn tdlibs wnrn cdnchnj kt tdn calnit. Li ekct, wn dkvnlgpangnitnj suppmrt tm cdnch emr tdnsn lssuns wdlan jnfubblib, ks emaamws?

    vkr rngmtlibPrmvljnr 7 Nxt.Jlrnct.kjjPrmvljnr( Joi.tnst.VNGMZLIB]KPL)8Joi.VngmtnCkaaSuppmrt.kjjCkaaUkaljktlmi(rngmtlibPrmvljnr)8Joi.VngmtnCkaaSuppmrt.vkaljktnCkaas 7 trun8

    Zdls euictlmikalty ls prmvljnj li tdn joi-rngmtn-ckaa-suppmrt.oselan, wdlcd ls amcktnj li tdn

    jnalvnrkfansjlrnctmry li mur jlstrlfutlmi.

  • 7/21/2019 DirectJNgine User Guide.1.3

    41/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600

  • 7/21/2019 DirectJNgine User Guide.1.3

    42/46

    JlrnctOIblin? snrs Buljn

    :6 me :5

    ;5. JlrnctOIblin Mptlg lzktlmi

    Mptlglzlib kpl elans bninrktlmi kij uskbn

    Glilglzlib intwmrh trkeelc ls min me tdn gmst lgpmrtkit mptlglzktlmis wn cki pnremrg emr k wnf

    kppalcktlmi.Rn dkvn wmrhnj dkrj mi glilglzlib fmtd tdn iugfnr me rnqunsts, ks wnaa ks tdnlr slzn wdni ltcmgns tm kpl elan. Dnrn ls tdn alst me mptlglzktlmis?

    Rn miay rnbninrktn ki kpl elan wdni lts cmitnits cdkibns? tdkt wky tdn wnf snrvnr jmns imtsnij nxkctay tdn skgn cmitnit oust fnckusn wn dkvn rnwrlttni k elan kij lts jktn kij tlgn dks

    cdkibnj. Zdn snrvnr wlaa cmgguilcktn tdn calnit tdkt tdn elan dks imt cdkibnj, skvlibfkijwljtd.

    Vnstkrtlib tdn kppalcktlmi snrvnr wlaa imtemrcn tdn kpl elans tm fn rnwrlttni -uianss tdnlr

    cmitnit dks cdkibnj.

    \mu cki cmismaljktn snvnrka kpls li oust min elan? ks ymu himw, ymu spncley tdn kpl elan ikgnemr ki xxxkpl vlk tdn snrvant xxx.kplElanpkrkgntnr. Le ymu wkit twm jleenrnit kpls tm fnwrlttni tm tdn skgn elan, usn tdn skgn elan ikgn li tdn kplElanpkrkgntnr.

    Zdls glilglzns tdn iugfnr me rnqunststdn calnit gkhns tm tdn snrvnr tm rntrlnvn k wnf pkbn.

    Rn bninrktn glilelnj vnrslmis me kpl elans tm skvn fkijwltd.

    Li ekct,JlrnctOIblinbninrktns tdrnn vnrslmis me k elan. Le ymu spnclelnj kfc.oslit tdnkplElan, ymu wlaa bnt tdn emaamwlib elans?

    m kfc-jnfub.os? tdn jnfub vnrslmi me tdn kpl elan.

    Zdls ls vnry rnkjkfan, kij licaujns cmggnits emr nvnry gntdmj, licaujlib tdn Okvk

    typns emr tdn gntdmj pkrkgntnrs kij tdn rnturinj vkaun.

    m kfc-gli.os? k glilelnj vnrslmi me tdn kpl elan. Lt jmns kwky wltd uiincnskrywdltnspkcn ks wnaa ks cmggnits.

    Li mur tnst elans wn dkvn mftklinj k elan wdmsn slzn ls ansstdki >0% me tdn jnfub elanslzn.

    m kfc.os? le ymu dkvn tdn snrvant jnfubpkrkgntnr tm trun, tdls elan wlaa cmitkli jnfubcmjn, nasn lt wlaa cmitkli glilelnj cmjn.

    Rdy tdls elan= Fnckusn tdls wky ymu cki cdkibn wdkt elan ymur kppalcktlmi rnkaayusns wltdmut dkvlib tm gmjley ymur DZGA elans cmjn sm tdkt tdny alih tm kfc-

    jnfub.oslistnkj me kfc-gli.os.

    \mu cki jlskfan bninrktlmi me glilelnj elans uslib tdn bamfka glileysnrvant liltlkalzktlmipkrkgntnr.

    Fy tdn wky, lt ls dlbday uialhnay tdkt glilelcktlmi eklas? wn usn tdn \^L Cmgprnssmr, k vnry wnaa

    tnstnj glilelnr. Dmwnvnr, le tdn \^L Cmgprnssmr rklsns smgn nxcnptlmi mr rnpmrts smgn nrrmr, wngkhn surn tdkt tdn glilelnj elan wlaa cmitkli kt ankst stkijkrj cmjn, sm tdkt ymur kppalcktlmi jmns imt

    frnkh fnckusn tdnrn ls im -gli.oselan.

  • 7/21/2019 DirectJNgine User Guide.1.3

    43/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600

  • 7/21/2019 DirectJNgine User Guide.1.3

    44/46

    JlrnctOIblin? snrs Buljn

    :: me :5

    ;2. Jlkbim st lcs kij ambb lib

    Kt tlgns, jnfubblib Okvkscrlpt= OSMI= Okvk litnrkctlmis cki fn rnkaayjkuitlib. Cmielburktlmilssuns krn nkslnr tm jnka wltd, fut lt ls kawkys ilcn tm dkvn ks gucd dnap ks pmsslfan li tdkt krnk tmm.

    Rdlan prmbrkgglibJlrnctOIblinwn dkvn pklj amtsme kttnitlmi tm bnttlib kccurktn jlkbimstlcs

    wdni tdlibs bm kwry. Li ekct, le ymu tkhn k ammh kt tdn smurcn cmjn, ymuaa snn amts me tdlibs tdktcmuaj dkvn fnni smavnj wltd gucdanss cmjn? wn dkvn fnni wrltlib amts me nxtrk cmjn tm fn vnryspnclelc kfmut wdkt tdn ckusn me ki nrrmr ls -tdkts wdy wn dkvn k wdman dlnrkrcdy me nxcnptlmis.

    JlrnctOIblinusns amb:oemr ambblib. KaaJlrnctOIblincakssns alvn uijnr tdn

    cmg.smetwkrngnitmrs.nxtos.joi pkchkbn, sm ymu cki kjoust tdn amb anvna kjjlib k ambbnrtmymur amb:o.prmpnrtlnscmielburktlmi, ks emaamws?

    amb:o.ambbnr.cmg.smetwkrngnitmrs.nxtos.joi7LIEM

    Zdn trkcns kt tdn LIEManvna krn cmgpantnay kjncuktn emr prmjuctlmi, kij wn rncmggnij ymu usn

    tdkt anvna, uianss ymu krn jlkbimslib ki kppalcktlmi. Li kiy cksn, jm imt snt tdn ambblib anvna tmsmgntdlib anss tdki RKVI.

    Rn rncmggnij tdkt ymu snt tdn trkcn anvna tm KAAkt ankst micn mr twlcn tm fncmgn ekglalkr wltd

    JlrnctOIblinambs? ruiilib tdn kutmgktnj tnsts li mur joi]tnstRKV glbdt fn litnrnstlib, fnckusntdmsn tnsts prmvmhn nrrmrs kij nxnrclsn amts me enkturns, kij ymu wlaa fn nxpmsnj tm kaa hlijs meambblib liem.

    Le ymu suspnct tdktJlrnctOIblinls imt wmrhlib cmrrnctay, mr oust tm ankri wdkts bmlib mi, ymu

    glbdt elij lt usneua tm ammh kt tdn rnqunstkij rnspmisn cmitnits? tm tkhn k ammh kt tdnsn, snt tdnambblib anvna tm JNF^B.

    Gnksurlib rnqunst nxncutlmi tlgnLe ymu wkit tm bnt nxncutlmi tlgn jktk, ymu cki nikfan k nspnclka tlgnr ambbnr, ks emaamws?

    amb:o.ambbnr.cmg.smetwkrngnitmrs.nxtos.joi.Zlgnr7KAA

    Dnrn ymu wlaa elij tdn tlgn lt tkhns tm prmcnss nvnry snrvant ckaa, tdn tlgn pnr lijlvljuka rnqunst

    (wdni ymu rncnlvn k fuicd me rnqunsts li k fktcd), tdn tlgn lt tkhns tm livmhn ymur Okvk gntdmj (smtdkt ymu cki himw dmw gucd tlgn ls cmisugnj fy JlrnctOIblin, kij dmw gucd fy ymur mwicmjn), ntc.

    ^ijnstkijlib wdlcd ambs bm tmbntdnr

    Blvni tdkt k wnf kpp cki rncnlvn snvnrka rnqunsts cmicurrnitay, ymu wlaa prmfkfay elij tdnlr ambslitnrtwlinj, gkhlib lt vnryjleelcuat tm himw wdkt amb gnsskbn fnamibs tm wdlcd rnqunst. Zm dnap

    wltd tdls wn prmvljn k uilqun rnqunst ljpnr rnqunst, snttlib lt ks tdn amb:oIJCvkaun emr nvnry ambgnsskbn. Zdls lj wlaa ammh alhn rlj? xxx,xxxfnlib tdn lj.

    \mu cki cmitrma wdntdnr kij dmw tdls rnqunst lj ls wrlttni tm ambs uslib tdn %xpkrkgntnr li ymurkppnijnr akymuts. Emr nxkgpan, li tdn amb:o.prmpnrtlnsli mur joi]tnstkppalcktlmi, wn dkvn mur

    cmisman akymut jnelinj ks emaamws?

    amb:o.kppnijnr.Cmisman.akymut.CmivnrslmiPkttnri7%->p? %c - "%g" (%x)%i

  • 7/21/2019 DirectJNgine User Guide.1.3

    45/46

    Cmpyrlbdt Pnjrm Kbuaa Smalvnrns, 600 me :5

    ;4. Dmw rna lkfan ls ka a me tdls=

    Kt tdn gmgnit me wrltlib tdls jmcugnit, wn dkvn gmrn tdki

  • 7/21/2019 DirectJNgine User Guide.1.3

    46/46

    JlrnctOIblin? snrs Buljn

    ;