WebVR framework and authoring tool for infinite multi-user spaces.
Branch: dev
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
client optimizing performance Dec 24, 2018
cmd validate code in text editors Dec 16, 2018
.gitignore gulp task to build node module Sep 19, 2018
LICENSE updating license Oct 31, 2017
README.md

README.md

Convolvr · npm version License: MIT

infinite procedural spaces

Overview

  • Component Entity System Framework built on Three.js
  • Multiplayer telemetry, chat, action & asset persistence provided by server using Nexus
  • Tools to build entities by composing pre-made components and customizing attributes.
  • Tools to build components from attributes (geometry, material, text, factory, file/network io, button/input, etc)
  • Embedded scripting language for complex component behaviour
  • Support for keyboard/mouse, touch screen, gyro, tracked controllers
  • Supports infinite, configurable, procedural environments
  • Mesh based VR UI; Multiline text rendering

Installation

  git clone https://github.com/convolvr/convolvr
  go get github.com/Convolvr/core
  go get github.com/Convolvr/server
  go get github.com/Convolvr/generate
  cd convolvr/client && npm install && gulp build &
  cd ../cmd && go build # && ./cmd # to start server

Development

  cd convolvr/client && gulp # watchify
  cd convolvr/cmd && go build # && ./cmd # to start server

Wiki

Initialization Example

(https://github.com/Convolvr/convolvr/blob/dev/client/src/main.ts)

Entity / System Mapping

See core/attribute.ts

{
  id: -4,
  name: "chat-screen",
  components: [
    {
      attrs: {
          geometry: {
              shape: "box",
              size: [ 3, 3, 0.25 ]
          },
              material: {
              color: 0x808080,
              name: "plastic"
          },
          chat: {
              userId: "all",
              displayMessages: true
          },
          text: {
              lines: [ 
                  "Welcome To Convolvr", 
              ],
              color: "#ffffff",
              background: "#000000"
          }
      },
      quaternion: [ 0, 0, 0, 1 ],
      position: [ 0, 0, 0 ]
    }
  ]
}

Server Examples