Principii 2 Capitolul 1: Introducere în lumea virtuală 3D 3


Configurarea sistemului de înregistrare pentru utilizatori



Yüklə 176,77 Kb.
səhifə5/7
tarix23.01.2018
ölçüsü176,77 Kb.
#40355
1   2   3   4   5   6   7

Configurarea sistemului de înregistrare pentru utilizatori


Inițial, nu este niciun sistem de înregistrare pentru utilizatori în OpenSim. Administratorul va trebui să folosească consola OpenSim pentru a crea manual conturi de utilizator. În orice caz, există extensii care permit configurarea unui sistem de înregistrare cu ajutorul webului, astfel că utilizatorii interesați vor putea să își creeze propriul lor cont. Aceste conturi vor deveni automat active sau vor avea nevoie de aprobarea administratorului înainte.

O opțiune populară pentru înregistrarea utilizatorilor este Wifi: http://opensimulator.org/wiki/Wifi

Instalarea Wifi este relativ ușoară. Trebuie să descărcați și să extrageți câteva fișiere adiționale și să editați câțiva parametri în fișierele de configurare specifice OpenSim-ului. Apoi va trebui să creați câteva avatare predefinite (ex. Bărbat și Femeie), astfel ca utilizatorii să poată alege aspectul lor inițial când vor crea un cont.

Figura : Crearea avatarului


Depășirea barierelor: firewall-uri, limitări de hardware și software pe care utilizatorii le pot întâmpina


Dacă lumea voastră virtuală nu este accesibilă, o cauză destul de des întâlnită este un firewall în serverul dumneavoastră care poate bloca conexiunile care vin din partea clienților. Acesta este de fapt comportamentul tipic întâlnit pe majoritatea sistemelor de operare. Va trebui să fiți sigur că aplicația OpenSim nu este blocată de firewall-ul dumneavoastră și că porturile necesare pentru OpenSim sunt deschise. Inițial, OpenSim folosește portul 9000, însă va trebui să mai deschideți câteva adiționale (specificați câte unul nou pentru fiecare regiune creată). Dacă utilizați caracteristici adiționale va trebui să faceți la fel cu alte aplicații precum serverele Apache sau FreeSwitch.

Majoritatea aplicațiilor populare, care permit redarea graficii 3D, au versiuni pentru Windows, Linux și MacOS. De asemenea, există și o implementare a unei aplicații similar, pe dispozitivele Android (Lumiya viewer), cu unele limitări. Din nefericire, există câteva cerințe hardware pentru aceste aplicații pentru a putea rula, în special în ceea ce privește cardul GPU. Dacă calculatorul utilizatorului folosește placa video integrată, sau are o placă veche sau cu performanță scăzută, este foarte probabil ca grafica 3D să nu ruleze. Puteți să verificați cerințele generale de hardware aici: https://secondlife.com/support/system-requirements/

Instalarea ultimei versiuni pentru driverul plăcii de grafică poate fi necesară uneori pentru rularea graficii 3D.

Spunându-le studenților cum să instaleze clienții: Cum să pregătești un ghid scurt pentru studenți


Lumea OpenSim (sau Secondlife, Kitely) poate fi accesată prin diverse programe care permit afișarea graficii 3D precum: Kokua, Imprudence, Singularity, Firestorm. Puteți găsi o listă utilă și comparațiile aici: http://opensimulator.org/wiki/Compatible_Viewers

Este o idee bună să încercați toate aceste opțiuni diferite; alegeți-o pe carea pe care o preferați și recomandați-o studenților. Apoi, toți studenții vor utiliza același program și dumneavoastră veți da instrucțiunile pentru acel program. Cu toate acestea, majoritatea programelor sunt similare în ceea ce privește funcționalitatea și împart unii pași comuni care sunt necesari pentru a conectare.


Regiunile


Regiunile sunt suprafețe individuale în interiorul lumii 3D. O lume virtuală poate avea regiuni multiple. Fiecare regiune are o locație în harta lumii și mai poate avea alte regiuni în cele patru suprafețe adiacente învecinate. În mod implicit, regiunile sunt independente fiecare de cealaltă, iar utilizatorii se pot teleporta dintr-o regiune în cealaltă (chiar și când se deplasează într-o regiune învecinată). În cele din urmă, o caracteristică recentă, „mega-regiunile”, poate permite mai multor regiuni să fie combinate, astfel încât să nu existe o graniță de tranziție între regiuni. pentru ca utilizatorii care sunt capabili să se deplaseze dintr-o regiune într-o alta să o facă fără întârzieri cauzate de teleportare.

Terenurile


Terenul este reprezentat de suprafața solului al regiunilor, configurat prin înălțimea planului care indică distanța fiecărei poziții individuale, de la planul cel mai de jos. O înălțime specifică poate fi setată ca fiind nivelul mării, astfel că tot ce va fi mai jos, va fi umplut cu apă. Separat, texturile personalizate pot fi folosite pentru diferite tipuri de înălțime, lăsând texturile de rocă pentru înălțimi mai mari (ex. munți), texturi de iarbă pentru înălțimi mici, în funcție de dorințele celui care a creat lumea 3D. Înălțimea hărții poate fi specificată manual din avatar (cu drepturi de proprietate) în interiorul lumii virtuale, folosind o varietate de unelte (netezire, ridicare, aplatizare etc.), dar sunt și unelte care funcțioează automat, cum ar fi L3DT care poate genera înălțimea din imagini sau alte surse care pot fi importate în regiuni în lumea virtuală. Este chiar posibil ca o hartă de înălțime mai mare să fie împărțită pe mai multe regiuni, menținând astfel o continuitate lină între ele. În cele din urmă, folosind diferite instrumente disponibile online, se pot utiliza date reale, din seturi de date relevante și se pot genera cu ușurință înălțimile care corespund cu exactitate domeniilor reale din lume (ex. o insulă specifică de pe Pământ).

Grafica 3D


Similar altori lumi și software-urilor de modelare 3D, acesta poate că adauge obiecte 3D în regiune creând și manipulând obiecte simple numite „prim-uri” (prims). Inițial, utilizatorul creează un prim de bază (cub, cilindru etc.) trăgând și scăpându-le într-o poziție, apoi putem să folosim anumite controale pentru a le reduce la scară, mișca sau pentru a le învârti.

Fiecare „prim” are un meniu cu mai multe opțiuni/file pentru a-i modifica parametrii:



  • General: Informații generale precum numele și descrierea obiectului, proprietarului și permisiunile celorlalți.

  • Obiect: Locația (x-y-z) în interiorul lumii, rotația, mărimea și tipul. Un obiect poate fi fizic, așa că se aplică legile fizice definite de mecanismul fizic pentru respectivul obiect, dacă este folosit.

  • Caracteristici: Aceste opțiuni permit configurarea iluminatului asupra obiectului sau o cale flexibiliă care îi permite să se comporte ca un obiect complex și dinamic precum pânza, părul etc..

  • Textura: Aceste opțiuni permit specificarea texturii pe fiecare plan al obiectului.

  • Conținut: Fiecare „prim” are inventarul său unde pot fi stocate alte obiecte sau fișiere cu script-uri care conțin cod (folosind sintaxa LSL) care definește comportamentul.

Parametrii pentru modificarea formei unui obiect sunt extinși și permit crearea unor obiecte complexe și complicate. Un aspect important este de asemenea abilitatea de a conecta mai multe „primsuri” în seturi de legături. Obiectele individuale vor fi părți dintr-un singur obiect și vor facilita interacțiunea dintre ele. De exemplu, este posibil să legăm un obiect de altul și să adăugăm un script pentru a se roti în jurul celuilalt.

Cu timpul, o persoană poate învăța să creeze obiecte complexe și detaliate prin unirea „primsuri” simple dar este, de asemenea și opțiunea de a importa modele 3D schițate în software-uri avansate de modelare precum Blender, Modo, SketchUp etc., prin formatul cel mai folosit, Collada. Sunt multe comunități online care oferă modele 3D gratuite în formatul Collada, care pot fi importate în OpenSim.

Programele care redau grafica 3D și conturile de utilizator


Lumea virtuală este accesibilă pentru vizitatori printr-un tip special de software numit 3D viewer sau program care permite redarea graficii 3D. Există multe alternative pentru astfel de programe, cum ar fi Kokua, Firestorm, Imprudence și Singularity, însă există câteva diferențe în ceea ce privește interfața, dar abordează același mod de funcționare.

Utilizatorii vor trebui să creeze un cont pentru a avea acces la lumea 3D și asta se face printr-o interfață web unde vor da numele pentru avatar (prenumele și numele de familie) și o parolă. Exista de asemenea și alternative pentru interfețele de management al utilizatorilor precum Wifi, bazate pe tehnologii diferite. Dacă o interfață nu este folosită pe serverul administratorului, vor trebui să fie create conturi pentru utilizatorii interesați să viziteze lumea 3D. Pentru a vă conecta la o lume virtuală specifică, lume care funcționează pe un server îndepărtat, utilizatorul trebuie să știe adresa și portul serverului unde simularea se desfășoară (similar cu adresa unei pagini web) și să furnizeze credențialele pentru contul pe care l-a creat mai înainte, așa cum am menționat mai sus.


Avatarele


Utilizatorii care intră în lumea virtuală controlează un personaj avatar care îi reprezintă. Avatarul este un aspect important pentru a obține un grad mare de imersiune. Avatarele pot fi personalizate pentru a înfățișa aspectul dorit, prin modificarea părților corpului (forma, pielea, părul și ochii), hainelor sau folosirea unor obiecte ca atașamente.

Figura : Folosind cursorul pentru a ajusta forma unui avatar


Este posibil să creați un model 3D personalizat și si sa-l montati (scheletul personajului) pentru avatar, folosind software care modelează în 3D, în loc de a folosi formele predefinite. Pentru piele, păr și ochi, texturi personalizate pot fi utilizate, lăsând astfel personaje detaliate și realiste.

Un set de tipuri de îmbrăcăminte este disponibil și poate fi ajustat folosind cursorul în meniu, însă se pot crea și unele mai complexe, personalizate, folosit sloturile dedicate atașamentelor. Atașamentele sunt obiecte 3D (prims-uri simple sau seturi de legături) care pot fi „atașate” și apoi ajustate unor sloturi specifice ale personajului (ex. mâna stângă a avatarului care ține un obiect, poartă o pălărie sau o cască, unei figuri să-i atașezi o barbă). Folosind parametrii „căii flexibile” ai obiectului, este posibil să creezi atașamente care se comportă într-un mod realist, astfel încât părul se mișcă atunci când personajul se deplasează sau urmează direcția vântului.

Animarea personajului (ex. mergând sau zburând prin jur) poate să fie suprascrisă prin adăugarea unor file personalizate de animare în formatul popular video „bvh” Multe seturi de date ale capturii de mișcare în acest format sunt disponibile online și se poate folosi direct sau cu mici ajustări. Acestea trebuie făcute manual sau automat prin tehnici de captură a mișcării, înregistrând animarea oamenilor reali. Nu este dificil să creezi o animație personalizată folosind programe precum QAvimator, care arată un avatar și montajul unui personaj din OpenSim, care permite setarea fiecărei poziții a fiecărei părți a corpului pentru fiecare punct din cronologie. Animațiile pot fi declanșate în lume manual de către utilizator, prin selectarea și rularea filei de animație din inventarul său, ca un rezultat al unei acțiuni (ex. atingerea unui obiect) sau a unui script.

Figura : Crearea unei animații personalizate în QAvimator

Controlul personajului și vederea camerei sunt destul de ușoare și se realizează prin aceleași taste folosite în alte lumi virtuale sau jocuri video 3D populare. Avatarele pot merge, alerga, târî și chiar zbura în jur, dacă administratorul regiunii nu le-a impus anumite restricții.

Texturile


Texturile sunt imagini 2D care sunt aplicate pe planurile obiectelor 3D. Crearea unor texturi de calitate pentru obiectele 3D sunt mai mult decât necesare pentru a obține imagini detaliate și realiste, iar pentru obiectele complexe este o sarcină dificilă numită și „maparea UV” (UV mapping). Însă, când se lucrează cu „prims”-uri simple cu planuri limitate, este mult mai ușor.

OpenSimulator permite de asemenea să mascheze texturile pentru a modifica mai ușor culorile, a adăuga efecte de strălucire peste, sau chiar de a seta o valoare pentru transparență, dându-i un aspect opac.



Figura : Modificarea transparenței și adăugarea efectului de strălucire

Formate de imagine care permit transparența cum ar fi PNG, pot fi folosite pentru a crea obiecte simple 2D care apar ca fiind 3D din anumite unghiuri specifice.

Figura : Folosirea unei imagini transparente pentru a crea un trunchi de copac în 2D

În cele din urmă, o caracteristică recentă este MOAP (media on a prim), care permite proiectarea unui site web pe suprafața unui „prim”. Acesta este un aspect foarte important pentru instructori, care le permite acestora să proiecteze un material educațional existent (ex. texte sau prezentări) în interiorul lumii virtuale, astfel încât să nu fie nevoiți să creeze obiecte 3D.

Figura : Proiectarea unui site web în lumea 3D


Communicare

Este posibil să interacționăm cu alte avatare (reprezentând alți utilizatori), prin mesaje text, vocal- dacă un microfon este conectat sau chiar prin acțiunile și animațiile avatarului. Mesajele pot fi publice (afișate de toate avatarele din apropiere) sau private, vizibile doar utilizatorilor specifici.

Comunicarea vocală nu este prezentă în mod prestabilit, dar poate fi activată prin rularea și configurarea software-ului adecvat, cum ar fi FreeSWITCH. De asemenea, poate fi adăugat un modul pentru a permite stocarea mesajelor offline care vor fi afișate utilizatorilor atunci când se înregistrează în lume (setarea implicită necesită ca ambii utilizatori să fie online pentru a comunica cu mesajele).

Interacțiuni elementare


Avatarele pot interacționa cu diverse obiecte din lumea 3D atingându-le (făcând clic pe ele) sau, cu alte evenimente, care pot declanșa un comportament care a fost programat în acestea. De exemplu, apăsarea pe un scaun poate face ca avatarul să stea pe el.

Fiecare avatar are un inventar, care este un director de fișiere care stochează diferite tipuri de fișiere, cum ar fi obiecte 3D, sunete, animații, scripturi, părți de corp, haine e.t.c.


Scripting (LSL)

Scripturile sunt fișiere care descriu comportamentul unui obiect folosind limbajul LSL dezvoltat de Linden Labs pentru Second Life. După cum am menționat mai devreme, fiecare prim are un inventar care îi permite să conțină unul sau mai multe fișiere script. În interiorul unui script, se pot defini și descrie stări diferite ale obiectului. Pentru fiecare situație, pot fi adăugați mai mulți ascultători de caz, care așteaptă ca un anumit eveniment sa fie efectuat. De exemplu, un ascultător "atingere" va fi declanșat atunci când un avatar dă clic pe un obiect.

Unii dintre ascultătorii de caz care pot fi utilizați sunt cei:

• ce așteaptă ca un avatar să facă clic (atingă) obiectul;

• ce așteaptă ca un avatar să se ciocnească cu obiectul;

• ce așteaptă ca un avatar să se apropie de obiect (raza specifică);

• ce așteaptă să treacă un anumit interval de timp (de ex. La fiecare 10 secunde);

• ce așteaptă ca un mesaj să fie trimis unui anumit canal de chat;

• ce așteaptă ca starea serverului de simulare să se schimbe (de exemplu, când serverul pornește);

• ce așteaptă ca obiectul să fie rezemat (introdus în Lumea 3D din inventarul utilizatorului);

• ce așteaptă ca un obiect să fie atașat unui avatar.

 

Folosind comenzile corespunzătoare drept corp al acestor ascultători, un obiect poate fi programat pentru a efectua diverse acțiuni, cum ar fi:



• trecerea la o anumită poziție sau mutarea unităților specifice către o direcție, schimbând dimensiunea acestora
• rotirea în jurul unei axe specifice sau relevante pentru un alt obiect.

• modificari de starea (deci vor fi utilizați alți ascultători)

• modificari de textura aplicată în una sau în toate planurile obiectului (aceasta poate fi utilizată pentru a simula apa curentă sau efecte similare).

• modificarea de transparența a unei texturi .

Puteti sa:

• faceti un plan al obiectului să strălucească

• redați un fișier de sunet (până la 10 secunde) stocat în inventarul său

• scrieți un mesaj text într-un anumit canal de chat

• afișați un mesaj special ca etichetă peste obiect.

• creați un meniu de dialog pentru un anumit avatar care să ofere un răspuns la o întrebare.

• așteptați un anumit interval de timp înainte de următoarea comandă

• efectuați teleportarea unui avatar într-o altă locație în interiorul Lumii virtuale (sau în alte lumi, dacă rulează grila).

• dați un obiect unui anumit utilizator (adăugat în inventarul său dacă este acceptat)

• modificați viteza avatarului

De exemplu, un obiect lampă este inițial într-o stare numită "off" și așteaptă o acțiune a unui utilizator care dă clic / atinge lampa. Atunci când un utilizator dă clic pe acesta, execută o acțiune care face ca lampa să se aprindă (emite lumină) și apoi să se transforme într-o altă stare numită "on". În timp ce se află în starea "on", obiectul așteaptă ca un utilizator să facă clic pe acesta, astfel încât acesta să se oprească și să revină la starea "off".

Caractere care nu pot fi jucate (Non-Playable Characters)



Folosind un anumit set de scripturi, este posibil să se genereze și să se controleze comportamentul caracterelor NPC (avatare care nu sunt controlate de utilizatorii reali). Unele dintre acțiunile disponibile pentru a controla aceste caractere sunt:

• Caracterul NPC este creat în poziția țintă

• NPC plimbă (sau aleargă, zboară sau folosește orice altă animație) într-o poziție țintă.

• NPC se rotește pentru a se îndrepta într-o direcție.

• NPC face unele animații (unda, punct, dans, atac etc).

• NPC spune un mesaj (text) în chat-ul din apropiere care apare pe ecran.

• NPC rătăcește în mod aleatoriu în jurul unui punct.

• NPC urmează user-avatar-ul.

Aceste acțiuni pot fi utilizate împreună cu scenariile descrise mai devreme pentru a programa în detaliu comportamentul personajelor, pe baza evenimentelor declanșate de avatare reale sau de mediul înconjurător. Prin urmare, este posibil să creați, de exemplu, un ghid NPC care simte un utilizator real care se apropie de el și oferă să i se arate în jurul lumii virtuale, în timp ce vorbește (folosind fișiere audio) sau afișează mesaje text.


Caracterele NPC pot acționa ca simpli roboți statici care oferă doar informații specifice sau chiar agenți de dialog receptivi care pun întrebări și răspund la răspunsurile utilizatorilor (prin meniuri de dialog sau prin scrierea de mesaje în anumite canale de chat).

Sistemul de mesaje


Probabil cea mai utilă caracteristică a limbajului de scripting (deși dificil de aplicat) este capacitatea obiectelor de a trimite mesaje către canalele de chat specificate, în timp ce pot asculta mesaje pe alte canale. Acest lucru permite ca diferite obiecte din întreaga simulare să comunice între ele sau chiar sub-componentele unui obiect complicat care comunică pentru a coordona comportamentul necesar.
De exemplu, un dispozitiv complex în Lumea 3D ar putea fi alcătuit din sub-componente de butoane și o lampă. Când se face clic pe unul dintre butoane, acesta trimite un mesaj specific în canalul pe care ascultă sub-componenta lămpii. Lampa, atunci când primește un mesaj în acel canal, ar putea porni / opri sau schimba culoarea, în funcție de mesajul primit (butonul apăsat).
Combinând această caracteristică cu mecanismele de acțiunea menționate în capitolul precedent, se permite unui scripter abil să implementeze obiecte și comportamente foarte avansate în Lumea 3D.

Scripturi speciale

Particule: Folosind comenzi specifice de script, un obiect poate emite particule care pot fi configurate printr-o varietate de parametri pentru a simula anumite efecte, cum ar fi fumul, fasciculele laser, fulgii de zăpadă, ploaia, frunzele care cad e.t.c. Scriptul vehiculului: Adăugarea și configurarea unui anumit script "vehicul" într-un obiect îl poate transforma într-un vehicul care poate fi condus de către avatare.

De exemplu, un dispozitiv complex în Lumea 3D ar putea fi alcătuit din butoane și o lampă. solarcar

Figura : Un exemplu de mașină

Scriptul de armă: acest script poate fi configurat pentru a face ca un personaj să arunce obiecte specifice (de exemplu, gloanțe) spre o direcție cu viteză reglabilă.


Yüklə 176,77 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin