User:Fim
From OpenSimulator
Line 10: | Line 10: | ||
under consideration of mentioning the original copyright holder and the copyright notice is retained. | under consideration of mentioning the original copyright holder and the copyright notice is retained. | ||
The utilized licence [https://en.wikipedia.org/wiki/BSD_licenses (BSD)] allows OpenSimulator to be integrated into proprietary products and developments. | The utilized licence [https://en.wikipedia.org/wiki/BSD_licenses (BSD)] allows OpenSimulator to be integrated into proprietary products and developments. | ||
− | This type of licence | + | This type of licence empowers students to build upon the existing functionalety of the framework, to integrate it into their own developments, come up with individual solutions or jump start their own business venture - utilizing the software. It is the larges OpenSource project of its kind - written in [https://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29 C#] - which is activly developed and maintained. Volunteers, independent developers, Universities, non profit institutions and corporations are contributing to the projects source code regularly. |
'''Accessing OpenSimulator: 3D Environment Viewers'''<br /> | '''Accessing OpenSimulator: 3D Environment Viewers'''<br /> |
Revision as of 16:27, 20 June 2015
I am a Virtual World Developer living in Frankfurt/Main,
playing with OpenSimulator on a Raspberry Pi2
and do some DIY Hardware stuff.
Contents |
My Current Projects Related To OpenSimulator
The Platform of Choice: OpenSimulator
OpenSimulator is a framework to create, host and distribute Virtual 3D Environments of all sizes. The 3D Environment Simulator can run on local machines as well as being hosted on a server infrastructure to provide broader access to the environment. It comes with an extendable module concept, to provide a large variety of applicability. Serious Games, Architecture, landscaping, city planning and various educational use cases are utilizing the platform - especially for visualization and simulation, fostering creativity and providing educational experiences. It comes with a large set of group management tools. Text chat, voice chat, topic votings are some useful features for instance. The finegrained ownership and the permission control for data, 3D areas and virtual objects is unique at the time. An outstanding feature is the so called 'Hypergrid'. Distributed simulations can connect to each other and become a continuous virtual 3D Environment or simulation. Many Universities and other educational institutions connect their simulations to provide a seamless experience for their students. 3D Design and scripting interactive experiences demand a variety of skills, mathematical and programming wise - which can be achieved within the learning environment by 'Trial and error', 'Learning by doing', structured lessons or interactive classes. OpenSimulator is therefore an extraordinary versatile environment to develop and provide STEM learning experiences - preferably self-paced and self-driven, to all types of students/learner.
OpenSimulator is available for free -
under consideration of mentioning the original copyright holder and the copyright notice is retained.
The utilized licence (BSD) allows OpenSimulator to be integrated into proprietary products and developments.
This type of licence empowers students to build upon the existing functionalety of the framework, to integrate it into their own developments, come up with individual solutions or jump start their own business venture - utilizing the software. It is the larges OpenSource project of its kind - written in C# - which is activly developed and maintained. Volunteers, independent developers, Universities, non profit institutions and corporations are contributing to the projects source code regularly.
Accessing OpenSimulator: 3D Environment Viewers
There is a variety of viewers available, for all platforms - supporting different use cases. (VR Headsets), Gamepads, 3D navigators, mouse, joysticks and keyboards support multiple ways of interaction.
The Benefit of a Web-based Viewer
.....
"A walkable 3D map"
The idea for this approach, to develop some kind of OpenSimulator Web-based viewer, emerged by a conversation on the OpenSimulator Educator's Mailinglist
Development Philosophy
Information Technology is one of the fastest evolving areas in 'tech'. In the past decade, peer to peer (P2P), 'Blockchain' technology was changing the approach to many B2C solutions, towards a more decentralized system - which 'the internet' once was. Diaspora, YaCy, Freifunk - to name some - are representing the 'reconquest' of user data ownership, privacy control and actually - power. While it is efficent to re-use existing code (snippets) and building upon existing developments - it gives constraints. On the other hand it can be inspiring and timesaving. The development philosophy for "A walkable 3D map" worded in one sentence: "Empower individuals while using 'free resources efficiently' and utilize decentralized approaches."
Step One
Wording a Functional Specifications Document (FSD)
- Utilizing a "3D Snapshot" of an OpenSimulator Region (.oar archive file)
- Walk through via web browser -> WebGL / three.js
- Ability to display 3D content (static, No LSL)
- Movement control and camera control panels.
- HUD functionality using JavaScript
- No inventory access
- No login required
- Ability to load different teleport locations into a fixed teleport HUD
- Region map with teleport capability
- Runs from local install/USB key
- Settings menu / autodetection draw distance
- Chat (Text) functionality
- Open Source licence
- Please participate!
This is how the web-based viewer will work
Visiting the regions web-based viewer page is showing a window into the '3D Snapshot' region, the size of the window is determined by the performance of the users client. The window is overlayed by a translucent layer showing an opaque button labelled "Start Now!". By clicking the button, a 'CAPTCHA' field appears. Passing the 'Turing test', the translucent layer disappears and the back of an avatar inside the 3D Snapshot is shown. Simultaneously - a 'NPC' avatar 'spawned' inside the dependend simulator - at the regions Landing Point. The user can now operate the avatar. The location of in-simulator avatars can be transmitted into the '3D Snapshot', they are represented by a prim or by a textured mesh. The location of a 3D Snapshot avatar can be represented inside the simulator via NPC. Also shown is a 2D Region map utilizing JavaScript to 'teleport' to another spot. Movement control, camera control panels, the Region map and a settings menu icon are overlaying the scene - but can be folded up. The draw distance can be set manually too. Every X (24) hours a snapshot (.oar) of the current region state is created, which is then converted to a format WebGL/three.js can render. The data of avatar locations can be provided via xml-rpc/UDP. A possibility for text chat on the webpage is given - which can be relayed to the corresponding simulator region, in-world chat can be forwarded to the chat client on the website too.
Collision detection (3D Collision Map)
If (since) the user is operating the in-simulator avatar, the position would be transmitted 'to the 3D Snapshot'. This approach would require that newly rezzed in-simulator objects 'become physical' by the creation of the 3D Snapshot and in-simulator objects are not changing their position.
- 3D Snapshot
Communication
- User
- IRC Front end » A minimalist Web IRC client
- IRC Back end » IRCBridgeModule
- WebRTC
Step Two will be
Writing a parser/converter for '.oar' files using python to extract data - which then is used utilizing three.js.
Resources
Blake's 'Viewer Functional Requirement Document' based on AjaxLife
OpenSimulator Developer Documentation
WebVR - Editor’s Draft (via CJ)
WebRTC and Web Audio resources
WebGL
three.js