Ինչպես կոդավորել ավելացված իրականության մարկեր

Հեղինակ: Randy Alexander
Ստեղծման Ամսաթիվը: 1 Ապրիլ 2021
Թարմացման Ամսաթիվը: 16 Մայիս 2024
Anonim
Ինչպես կոդավորել ավելացված իրականության մարկեր - Ստեղծագործական
Ինչպես կոդավորել ավելացված իրականության մարկեր - Ստեղծագործական

Բովանդակություն

Լրացված իրականությունն արդեն որոշ ժամանակ գոյություն ունի, բայց WebRTC- ի (իրական ժամանակի հաղորդակցություն) օժանդակությամբ հնարավոր է, որ Android և սեղանադիր սարքեր ունեցող օգտվողները մուտք ունենան հեռախոսի տեսախցիկ:

Ներկայումս iOS- ը չի կարող դրան աջակցել, քանի որ այն չի ներդրվել Safari- ին աշխատող WebKit զննարկչում, բայց այն մշակման փուլում է, և կարգավիճակը կարող եք ստուգել այստեղ: Եթե ​​դուք ունեք iOS սարք, ապա ձեզ հարկավոր չէ բաց թողնել, քանի որ դեռ կարող եք օգտագործել վեբ-տեսախցիկը ձեր աշխատասեղանի համակարգչում:

Նշում: Որպեսզի դա աշխատի շարժական Chrome զննարկչի վրա, բովանդակությունը պետք է սպասարկվի ապահով վարդակից (այսինքն `ավելի շուտ HTTPS- ի փոխարեն, քան ստանդարտ HTTP): Չնայած աշխատասեղանն այժմ աշխատում է սովորական HTTP- ի հետ:

Փնտրու՞մ եք վեբ ձևավորման ռեսուրսներ ՝ կյանքը հեշտացնելու համար: Կօգնեն լավագույն վեբ կայքերի և վեբ հոստինգի ծառայության մեր ուղեցույցները:


  • Այս ձեռնարկի համար անհրաժեշտ ֆայլերը ներբեռնելու համար անցեք FileSilo, ձեռնարկի կողքին ընտրեք անվճար նյութեր և անվճար բովանդակություն:

Այս ձեռնարկում ես ցույց կտամ, թե ինչպես տեղադրել լրացված իրականության մարկեր հեռախոսի տեսախցիկի առջև: Սա կընտրվի զննարկչի և AR.js- ի կողմից, իսկ բովանդակությունը գծապատկերված կլինի վերևից 3D ձևով ՝ հավատարիմ մնալով AR նշագծին:

Այս տեխնիկայի համար շատ հնարավոր կիրառություններ կան: Օրինակ, գուցե ցանկանաք ստեղծել 3D պարզ ստեղծագործական ռեզյումե, և այնուհետև AR նշիչը կարող է տպվել ձեր այցեքարտի վրա: Քանի որ կարող եք շրջել նշագծով, սա հիանալի է այն բովանդակության համար, որը դուք կցանկանաք տեսնել տարբեր տեսանկյուններից. Մտածեք, որ կահույքի որոշակի արտադրող Շվեդիա ձեզ անիմացիոն քայլեր է տալիս, որոնք կարելի է դիտել ցանկացած տեսանկյունից: Այնքան շատ հնարավորություններ կան, որոնց համար դա կարող է օգտակար լինել:

01. Ավելացրեք գրադարանները


Ձեռնարկների ֆայլերը ներբեռնելուց հետո (և դրանք ամպային պահեստում պահեք) անցեք ծրագրի թղթապանակ, բացեք մեկնարկի պանակը ձեր կոդի խմբագրում և ապա բացեք ցուցիչ. html ֆայլ խմբագրման համար. Այս փուլում գրադարանները պետք է կապվեն միմյանց հետ, և այս նախագծի համար կան մի քանիսը: Գրադարանները երեք բաժնում են. Three.js, JSARToolKit և Three.js ընդլայնում ARToolKit- ի և նշիչի համար:

script src = 'js / three.js'> / script> script src = "js / ColladaLoader.js"> / script> script src = "վաճառող / jsartoolkit5 / build / artoolkit.min.js"> / սցենար> script src = "vendor / jsartoolkit5 / js / artoolkit.api.js"> / սցենար> սցենար src = "threex-artoolkitsource.js"> / սցենար> սցենար src = "threex-artoolkitcontext.js"> / սցենար> սցենար src = " threex-armarkercontrols.js "> / script> script> THREEx.ArToolkitContext.baseURL = '/' / script>

02. Հոգ տանել CSS ոճավորումը

Մեջ գլուխ էջի բաժինը, ավելացնել մի քանիսը սցենար պիտակներն ու ոճի կանոնները գցելու համար մարմին եւ կտավ տարր. Սա ապահովում է, որ դրանք ճիշտ տեղադրվեն էջում ՝ առանց զննարկչի կողմից ավելացված կանխադրված լուսանցքների:


մարմին {margin: 0px; վարարում ՝ թաքնված; } կտավ {դիրքը `բացարձակ; վերև ՝ 0; ձախ: 0; }

03. Ավելացրեք գլոբալ փոփոխականներ

Մեջ մարմին էջի բաժինը, ավելացնել մի քանիսը սցենար պիտակները, որտեղ կգնա այս ձեռնարկի համար մնացած JavaScript կոդը: Անհրաժեշտ են մի շարք փոփոխականներ. Առաջին տողը Three.js- ի համար է, երկրորդը `AR.js- ի, երրորդը` մոդելի և այնուհետև փոփոխական `մոդելը բեռնելու համար:

var մատուցող, տեսարան, տեսախցիկ; var arToolkitContext, onRenderFcts, arToolkitSource, markerRoot, artoolkitMarker, lastTimeMsec; var մոդել, tub1, tube2, կես, մանրամասներ, զարկերակ; var loader = new THREE.ColladaLoader ();

04. Բեռնել մոդելը

Դեպքի վայրի կարգավորումից առաջ մոդելը կբեռնվի այնպես, որ այն հնարավոր լինի ցուցադրել, երբ նշիչները հայտնաբերվեն: Սա կրճատվում է 10-ով, որպեսզի տեղավորվի ճիշտ AR նշիչի վրա: Մոդելը 10 սմ է լայնության և բարձրության համար, ուստի նշիչը 1 սմ է, ինչը թարգմանաբար նշանակում է 1 ավելացում Three.js- ում:

loader.load ('model / scene.dae', գործառույթ (collada) {model = collada.scene; model.scale.x = model.scale.y = model.scale.z = 0,1; մանրամասներ = model.getObjectByName (« մանրամասներ », ճշմարիտ);

05. Վերացնել ցուցադրման որոշ խնդիրներ

Collada- ի բեռնման ծածկագրի տակ, երբ մոդելը բեռնվում է, կլինեն մի քանի խողովակներ, որոնք պտտվում են, այնպես որ դրանք հայտնաբերվում են Collada- ի տեսարանում: Գտնվում է առաջին խողովակը, և դրա նյութը գրավվում է: Այստեղ նյութը դրված է պարզապես մատուցելու ոչ թե դրսից, այլ մոդելի ներսից:

tube1 = model.getObjectByName («tube1», ճիշտ); var a = tube1.children [0]. նյութական; a.transparent = true; a.side = THREE ["BackSide"]; a.blending = THREE [«AdditiveBlending "]; a.pacity = 0.9;

06. Կրկնեք շտկումը

Ինչպես վերջին քայլում, այս նույն սկզբունքը կրկնվում է երկրորդ խողովակի համար, և խառնուրդի ռեժիմը, որը նման է After Effects- ում և Photoshop- ում, դրվում է որպես հավելանյութի խառնուրդ: Սա հնարավորություն է տալիս փիքսելների դրսից ավելի մեղմ անցում կատարել դեպի խցիկի պատկեր:

tube2 = model.getObjectByName («խողովակ 2», ճիշտ է); c = խողովակ 2. երեխաներ [0]. նյութ; գ. թափանցիկ = ճշմարիտ; c.side = ԵՐԵՔ [«BackSide»]; c.blending = ԵՐԵՔ [«AdditiveBlending»]; գ. բացունակություն = 0.9;

07. Վերջնական շտկում

Վերջին մոդելը պտտվող շրջան է հենց դիզայնի կեսին: Սա հետևում է նույն կանոններին, ինչպես նախկինում, բայց չի տալիս օբյեկտի հետևը, պարզապես ճակատը: Այս նյութերից յուրաքանչյուրի անթափանցիկությունը սահմանվել է 90 տոկոս `այն պարզապես մի փոքր ավելի մեղմ դարձնելու համար: Մոդելը բեռնվելուց հետո կանչվում է init գործառույթը:

mid = model.getObjectByName («կես», ճիշտ); b = միջին. երեխաներ [0]. նյութ; բ.թափանցիկ = ճշմարիտ; b.blending = ԵՐԵՔ [«AdditiveBlending»]; բ. բացունակություն = 0,9; init (); });

08. Դեպքի վայր նախաստորագրեք

Նախաձեռնող գործառույթը տեղադրված է և ներսում այստեղ ստեղծվում են մատուցողի պարամետրերը: Ներկայացնողն օգտագործում է WebGL ՝ բովանդակությանը ամենաարագ մատուցման արագությունը տալու համար, իսկ ֆոնային ալֆայի արժեքը դրված է թափանցիկ, որպեսզի դրա հետեւում տեսախցիկի պատկերը երեւա:

գործառույթ init () {renderer = new THREE.WebGLRenderer ({alpha: true}); renderer.setClearColor (նոր THREE.Color ('lightgrey'), 0); renderer.setSize (windows.innerWidth, window.innerHeight); document.body.appendChild (renderer.domElement);

09. Ստեղծեք տեսարանի ցուցադրում

Rendուցադրողը պատրաստվել է նույն չափի, ինչպես զննարկչի պատուհանը և ավելացվել է էջի Փաստաթղթի օբյեկտի մոդելին: Այժմ ստեղծվում է դատարկ զանգված, որը կպահպանի օբյեկտները, որոնք պետք է մատուցվեն: Ստեղծվում է նոր տեսարան, որպեսզի բովանդակությունը ցուցադրվի սրա մեջ:

onRenderFcts = []; տեսարան = նոր ԵՐԵՔ. Տեսարան ();

10. Լուսավորիր

Որպեսզի տեսարանը կարողանա տեսնել բովանդակությունը, ինչպես իրական աշխարհում, անհրաժեշտ են լույսեր: Դրանցից մեկը շրջապատող մոխրագույն լույսն է, մինչդեռ ուղղորդված լույսը խլացված կապույտ գույն է ՝ դեպքի վայրում ցուցադրվող 3D բովանդակությանը մի փոքր երանգ հաղորդելու համար:

var ambient = new THREE.AmbientLight (0x666666); տեսարան. ավելացնել (շրջապատող); var directionalLight = նոր THREE.DirectionalLight (0x4e5ba0); directionalLight.пози.set (-1, 1, 1). նորմալացնել (); տեսարան. ավելացնել (ուղղորդված լույս);

Հաջորդը. Ավարտեք ձեր AR նշիչը

Նոր Հոդվածներ
Ինչպես վերափոխել PowerPoint- ը MP4- ի
Հետագա

Ինչպես վերափոխել PowerPoint- ը MP4- ի

Մի քանի առցանց ֆորումներ որոնելուց հետո մենք պարզեցինք, որ ամբողջ աշխարհում շատ մարդիկ խնդրում են pptx- ը mp4 դարձնելու տարբերակ կամ հարցնում են, արդյոք դա հնարավոր է: Եկեք պարզաբանենք իրավիճակը, հնար...
Twitter գաղտնաբառը փոխելու կամ վերագործարկելու 3 հիանալի եղանակ (քայլ առ քայլ ուղեցույց)
Հետագա

Twitter գաղտնաբառը փոխելու կամ վերագործարկելու 3 հիանալի եղանակ (քայլ առ քայլ ուղեցույց)

Մարդկանց մեծ մասը ցանկանում է վերականգնել Twitter հաշվի գաղտնաբառը, երբ կարծում է, որ առանց իրենց թույլտվության մուտք է գործել իր հաշիվ, ուստի նախընտրում են վերականգնել այն ՝ ավելի մեծ անվտանգություն ...
Ինչպես հեշտությամբ փոխել Windows 10-ի արտադրանքի բանալին
Հետագա

Ինչպես հեշտությամբ փոխել Windows 10-ի արտադրանքի բանալին

Կա երկու հիմնական պատճառ, թե ինչու ինչ-որ մեկը ստիպված կլինի փոխել իր Window 10 ապրանքի բանալին: Դուք պետք է փոխեք ապրանքի բանալին, եթե ձեր ընթացիկ բանալին օրինական չէ, այս պարագայում պետք չէ ամենասկզ...