0.7.12 • Published 4 years ago

convolvr v0.7.12

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

Convolvr · npm version License: MIT Discord

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

Use as node module:

npm install --save convolvr
import Convolvr from 'convolvr/lib/model/world';

With server:

const world = new Convolvr({}, (world: Convolvr, voxel: Voxel, worldDetails: any[]) => {
  world.initUser(localStorage.getItem("username") != null);
});

Without server:

import { PartialConvolvrOptions } from 'convolvr/lib/model/space';

const opts = PartialConvolvrOptions(
   { localSpace: true }, 
   { name:"Example offline space"}
);
      
const world = new Convolvr(opts, (world: Convolvr, voxel: Voxel, worldDetails: any[]) => {
  world.initUser(false);
});

Install full Convolvr stack:

  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 && npm run-script build
  cd ../cmd && go build # && ./cmd # to start server

Development

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

Wiki

Initialization Example

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

Attributive Entity-Object Notation (AEON) example:

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

0.7.11

4 years ago

0.7.10

4 years ago

0.7.12

4 years ago

0.7.7

5 years ago

0.7.6

5 years ago

0.6.46

5 years ago

0.6.45

5 years ago

0.6.44

5 years ago

0.6.43

5 years ago

0.6.42

5 years ago

0.6.40

5 years ago

0.6.38

5 years ago

0.6.37

5 years ago

0.6.35

5 years ago

0.6.33

5 years ago

0.6.32

5 years ago

0.6.31

5 years ago

0.6.30

5 years ago

0.6.29

5 years ago

0.6.28

5 years ago

0.6.27

5 years ago

0.6.26

5 years ago

0.6.25

5 years ago

0.6.24

5 years ago

0.6.23

5 years ago

0.6.22

5 years ago

0.6.21

5 years ago

0.6.20

5 years ago

0.6.10

5 years ago

0.6.9

5 years ago

0.6.14

6 years ago

0.6.13

6 years ago

0.6.12

6 years ago

0.6.11

6 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.5.0

6 years ago

0.4.5

7 years ago

0.4.2

7 years ago

0.4.0

7 years ago

0.3.9

7 years ago