Create content

From High Fidelity Documentation
Jump to: navigation, search
Create: Getting Started

Creating Content
Using Edit Mode
Marketplace
Scripts Overview

Welcome! With High Fidelity you can build complex shared interactive experiences - from a music club for live performances, to a hunger games arena, to a living room with a double-decker couch for hanging out with friends.

The sections below provide an introduction to each topic along with pointers to relevant tutorials and reference guides for more in-depth information.

Setting Up Your Sandbox Environment

To get started creating shared interactive experiences, you need:

  • Interface installed - This is the client application used to view and navigate domains.
  • A domain to develop in - If you installed Sandbox, you can work in your Home domain. For more information about installing and using Sandbox, go here. If you didn't install Sandbox and you don't want to run your own domain, you can work in any domain where you have been granted permission to add and edit content. To have permission to add and edit content, the domain administrator needs to update the domain’s [[Server Settings#Security|security settings].
  • Space on a public content server - Any content (models, textures, animations, sounds, and scripts) that you plan to use to create the interactive virtual experience must be available from a publicly accessible server. You can either run your own content server or use a service, such as Amazon S3, Dropbox, etc.

With your work environment set up, you can get started creating and adding content.

Creating, Adding, and Editing Content Using High Fidelity GUI Tools

When you first start Interface, it runs a number of default scripts designed to improve the experience. One of these scripts is edit.js, which, when run, provides a user interface for adding and editing entities (objects in High Fidelity are called entities) using your mouse or trackpad. With edit.js running, look at the lower-center margin of Interface and you'll see a button labeled Edit.
Tool icons, including the Edit icon.

Clicking the Edit icon turns on the editing system.

The mouse / trackpad tools for editing entity, the Tools window, and edit toolbar icons.

The editing system includes:

  • mouse / trackpad tools for editing an entity's position, scale and rotation
  • a Tools window which allows you to:
    • Expose a grid to assist in layout
    • List the entities in the domain
    • Edit entity properties - Entity properties define an entity's appearance (color, size, position etc.) and behavior (animation, collision, interaction, etc.). The entity's type (sphere, box, light, zone, etc.) will define the specific set of properties the entity has.
  • a toolbar of icons that appear along the right side that allows you to:
    • Upload 3D models to add model entities
    • Add entities (box, sphere, light, text, web, zone, voxel, particle)

The Edit Mode guide provides more information about each of the edit options available. You'll also find quick start guides in our documentation for creating different entity types. Guides are not yet available for all types but we are adding new tutorials all the time.

Importing Your Own Content or Content from Other Sources

Each avatar that visits the domain downloads the data from the host content server. Any content (models, textures, animations, sounds, and scripts etc.) that you want to include must first be uploaded to a host content server (such Amazon S3, Dropbox, a VPS server, etc). To be accessible, all files should be in the public_html folder of the host content server (or the public folder of Dropbox).

Content is called using its full URL, e.g. http://example.com/myHifiFolder/myobject.fbx and can be called through scripting or by importing it using the content editing tools.

3D Models

While you can create basic shapes (spheres, cubes) using Interface content editing tools (edit.js.), to build a world with more complex objects (buildings, roads, trees, planets, etc.) you'll likely want to import 3D models into High Fidelity. 3D Models imported into High Fidelity must be in FBX or OBJ format.

For more information about where to get 3D models (including creating your own), see Sourcing 3D Content. For more information about how to import 3D models, see Edit Mode: Upload 3D Models to Add Model Entity.

Creating Interactive Content Using Scripting

Interactive content is created using JavaScript running on the client and/or server, and the Bullet physics engine allows fast accurate physical interactions. Scripts can be simple or complex. They can be used to build structures, move your avatar, record your avatar, shoot guns, play audio at a specific location, and much more.

There are a few different kinds of scripts. "Interface Scripts," aka "Regular Scripts" are loaded via Interface and run while the client is logged into a domain and the script is loaded. They can be anything from a single-line print("Hello World"); to a full application. "Persistent Scripts" are run on your domain and will continue to run when you are not logged in. To get a better understanding of the kinds of scripts that can be written, check out the Scripts Overview.

If you would like to dive right in by looking at example scripts, you can start by Exploring the Script Editor with butterflies.js or by checking out entity script examples.

When you are ready to start building your own scripts, you'll want to get to know the JavaScript API Reference Guide articles. And if you plan to share your code with the community, we recommend following the Coding Standards.