directjngine user guide.1.3
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
;