Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/decentraland-scenes/uv-projector

Tool that helps you project a large video stretching over many smaller screens
https://github.com/decentraland-scenes/uv-projector

Last synced: about 1 month ago
JSON representation

Tool that helps you project a large video stretching over many smaller screens

Awesome Lists containing this project

README

        

# UV Projector
_demo of the UV Projector scene running in preview._

![demo](https://github.com/decentraland-scenes/uv-projector/blob/main/screenshots/uv.gif)

## Description
UV Projector is a tool that helps you project a large video stretching out onto many smaller screens. You can even reproject the UV cooridantes on every frame, so the video will always face towards the player.

## Instructions

**In the scene**

You can run around and watch as the video on the colums follow you (while the columns themselves don't move or turn). Use your mouse to look around and W A S D keys on your keyboard to move forward, left, backward and right respectively. To jump, press the Space key.

**In the code**

You need to create a projector plane ( Projector ) that is invisible to the player, with a chosen size and orientation. This will project the video onto other screens ( Screen ).

You need to also create a ScreenGroup for each Projector and assign the Screens you create to that group.

You can project all the Screens' UVs once (or on every frame inside a System) using:

```
myScreenGroup.updateScreens( Camera.instance.position )
```

Do not parent the screens or the projector under any other Entity. Both need to be in world-space. You can however parent Entities to the screens to add frames, backgrounds etc.

## Try it out

**Install the CLI**

Download and install the Decentraland CLI by running the following command:

```
$ npm i -g decentraland
```

**Previewing the scene**

Download this example and navigate to its directory, then run:

```
$ dcl start
```

## Acknowledgements

- _cc_video.mp4_ is a Creative Commons video from https://vimeo.com/58460459