[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
World Server / Geometry system !
Hei har tenkt litt rundt verdens serveren i det siste. Har kommet frem til
noen punkter som jeg gjærne vil ha synspunkter på:
* En verden bestående av flere seksjoner.
* Verdenen kan ha en global geometri koblet til seg. Himmelhvelving /
himmellegemer for utendørs rendering.
* Hver seksjon skal ha mulighet for å lastes ut og inn av serveren
og/eller skrus på / av slik at en slipper å gjøre animasjoner for hele
verdenen selv om det er spillere i bare en liten del av verdenen.
* Hver seksjon består av en eller flere celler.
* Hver celle består av et tree av geometri objekter og eller subceller.
* Det finnes ikke et globalt koordinat system!!!
* Alle koordinat systemer er lokale i forhold til master cellen til
spillerne.
* Hver celle har et PVS(*1) av celler. Dette inneholder locale delta
koordinater for alle naboceller. Dette er tilstrekkelig informasjon
til at clienten kan tegne det som er synlig. Også tilstrekkelig for
at kollisjonsrutiner skal kunne ta høyde for kollisjon av objekter som
er på grensen mellom to celler.
* LOD(*2) informasjon kan legges i inn i hver av referansene i PVS av
celler. Slik at de nærmeste cellene tegnes med all informasjon, mens celler
som er langt borte tegnes med bare overordnet informasjon. Kan tenke meg
følgende. LOD 1 = All informasjon, LOD 2 = Store objecter, LOD 3 =
Landskapskontur. Dette har bare betydning for hva som skal sendes fra
verdens serveren til klientene.
* LOD for objectene i cellene. Basert på lengden mellom viewpoint og
objektet kan forskellige LOD tegnes. Betydning for hvor raskt clienten
kan greie å tegne en frame.
Denne strukturen gir en del effekter som kan brukes:
* Uendlig stor verden. Siden det ikke eksisteren noen globalt
koordinatsystem vil en kulle linke celler sammen i PVS av celler i
det uendlige.
* Wrapping worlds. Dette er også en konsekvens. Dåg en forutsetning er at
det ikke er mulig å se fra en side av verdenen til den andre gjennom
noen PVS av celler.
* Flere parallelle verdenen implementert med celler som ikke er linket
sammen gjennom PVS av celler.
* Implementering av transportmiddler som subceller. Trenger da ikke å
oppdatere posisjon til alle objektene når transportmiddlet flytter seg.
Trenger ikke implemetere alle transportmiddler som subceller. En hest
som en eller to personer rir vil sikker være unødvendig å implementere
på denne måten, men et stor skip eller en flygende by vil være midt i
blinken for subceller. (Har noen lest historien hvor to vestern
byer bytter plass om natten. Helle byen kommer rasende i stor fart
over slettelandskapet. Tror de kan ha vært Donald.)
(1) PVS = Possible visible set
(2) LOD = Level of detail
----------------------------------------------------------------------
| ****** Anders Reggestad |
| * * * Mobil tlf. : 95044443 |
| * * * E-Mail : andersr@pvv.ntnu.no |
| ********* Post adresse : Haug Prestegård 3300 Hokksund |
| * * * Jobb adresse : FFI avdeling for Undervannsforsvar Horten |
| * * * Hjemmeside : http://www.pvv.ntnu.no/~andersr |
----------------------------------------------------------------------