> For the complete documentation index, see [llms.txt](https://btc-substance.gitbook.io/btc-substance-academy/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://btc-substance.gitbook.io/btc-substance-academy/vessels/vessels-dmt-unat/interactive-3d-art.md).

# Interactive 3D Art

Using THREE.js’s OrbitControls, the camera around the VESSEL can be manipulated (by mouse or touch-screen) to zoom, rotate, and pan around the world created inside

<figure><img src="/files/RevudhPXPqiKtVZdToqF" alt=""><figcaption></figcaption></figure>

* The lightning inside the VESSEL is touch-sensitive, reacting to clicks or taps. All the lightning will attract to the point of contact, similar to a Plasma Electricity toy.&#x20;

<figure><img src="/files/Oax3LQAbZGeCYtcxlbZG" alt=""><figcaption></figcaption></figure>

* VESSELS contain a secret interaction menu (hover your mouse over the top-right) that lets you change the appearance, filters, and randomization of your piece. Here's a quick overview of the possible customizations:

<figure><img src="/files/1Q6peCQo1t7syJgTuvtq" alt=""><figcaption></figcaption></figure>

* Color Inversion, Hue Rotation and Saturation: These are all filters that we apply with the CSS "Filter" attribute, and all stack with eachother. Some of these have values that are applied by default depending on the VESSEL's traits.
* Bloom Strength: using THREE.js's UnrealBloomEffect, we apply a Bloom filter which spreads and increases the brightness across the piece. This uses the THREE.js post-processing add-on, which I inscribed to be publicly used by other on-chain 3d artists.&#x20;
* Sobel Edge Detection is a 2D spatial gradient measurement on an image. The post processor detects areas of high contrast, detects them as "edges" and then filters the canvas to only display these edges.&#x20;
* "Random Last Block" this will tell the vessel to ramdomize the "Last Block Hash" value that's used to generate the background galaxy.&#x20;

Vessels include a "**First Person Mode**"  (Mouse & keyboard only) which lets the user move around with Minecraft-like controls and explore the world of their vessel. In the Interaction Menu in the top-right, click the "First Person" button. &#x20;

* WASD: Move
* Mouse: Look/aim
* Space: Move upwards
* Left Shift: Move downwards
* Escape: Exit First Person Mode

<figure><img src="/files/ApjUcvH26bLIgKHDxxeH" alt=""><figcaption></figcaption></figure>
