Skip to main content

Getting Started

Introduction

Welcome to DeepAR Studio 4.0. To get started right away you can download a premade project file here:

Download example project

You can also follow along with one of our tutorials and create a simple filter.

Simple effect tutorial


The new Studio UI

The Studio window consists of multiple dockable panels

Studio UI


Hierarchy

Hierarchy Panel

The node hierarchy panel provides a hierarchical view of model nodes. To edit certain properties of the node and meshes inside those nodes, the user needs to select the node in the hierarchy.

A node doesn't necessarily have a visual representation in the scene, it can just be a container for other nodes and scene objects.

Usually, the leaf node elements are objects like meshes that are visible in the scene or bone objects belonging to a skeleton.

Nodes that contain components such as the Mesh renderer will be marked with the component icons.

Nodes can be moved to a different parent by dragging and dropping.


Editor

Editor

The 3D editor panel allows you to preview the effect in 3D space, move, rotate or scale the objects by dragging the gizmos, and select nodes by clicking on the meshes contained in their mesh renderers.


Node properties

Node Properties

When a node is selected, the right-hand view will display the widgets that pertain to it.

Position, Rotation, and Scale parameters in the x, y, and z-axis can be set on any node. Transform parameters can be set on parent nodes or on child nodes. Editing transformation parameters on a parent result in moving/rotating/scaling all of its children by the same amount.

Enabled

If the node is disabled it is removed from the rendering process along with all its children. The node is not removed from the hierarchy, but the engine skips the processing of the node if the value is set to false. The default value is true.

Animation Enabled

If animation is disabled on a node, transform and blend shape animations are not applied to this node. The default value is true.

Position mode

The position mode determines where the object will be placed. This property can only be set on the root node. There are the following options:

  • Position in face space: the object will track the face - it will match the translation and rotation of the face

  • Position in camera space: the object will NOT track the face - it will have a fixed position, rotation, and scale relative to the camera.

Dynamic UVs

Texture (UV) coordinates are dynamically calculated and can be used to apply Camera texture or a user-created Render texture to a deformed Mesh. The possible modes are:

  • Disabled

  • Camera texture UV1 - Project the first texture coordinate set of the mesh to the Camera texture

  • Camera texture UV2 - Project the second texture coordinate set of the mesh to the Camera texture, typically used in conjunction with alpha and lighting masks.

  • Render texture UV1 - Project the first texture coordinate set of the mesh to a Render texture

  • Render texture UV2 - Project the second texture coordinate set of the mesh to the Render texture, typically used in conjunction with alpha and lighting masks.

Selected value can be applied to all of the node's children recursively by clicking on the icon right of the combo box.

Layer

Nodes in the virtual scene can be placed in layers that allow the user to adjust the rendering order for each node. The higher the layer value for the node is, the later the rendering of a given node will occur. This provides the user with the basic z-ordering functionality for node objects.

This is comparable to the layer objects in Photoshop or Gimp. Some layers such as the Postprocessing layers have special behaviors and should only be used for their intended purpose. Layers 0 and Overlay are orthographic and will behave differently than perspective layers.

Selected value can be applied to all of the node's children recursively by clicking on the icon right of the combo box.

Depth

Allows the user to adjust the rendering order within a single layer.

note

Nodes with greater depth values will be rendered later.

Depth has no bearing on nodes in different layers.

Selected value can be applied to all of the node's children recursively by clicking on the icon right of the text box.


Resources

The Resources panel allows you to view the resources for the project, add new resources by dragging them to the resources panes, or drag them from the Resources panel to an appropriate slot, eg. Drag a Texture to a texture slot in the Material Editor.

Resources


Material Editor

Material Editor

The Materials panel allows the user to edit properties for the selected material. The materials states can control the rendering behavior of the material.

States

The materials states can control the rendering behavior of the material.

  • RGB write: renderer will write to RGB color buffer.

  • Alpha write: renderer will write to Alpha buffer.

  • Depth write: renderer will write to Depth buffer.

  • Depth test: every fragment's output depth value will be tested against the Depth buffer.

Blend modes

DeepAR studio supports all the standard blending mode options which are set as material parameters:

  • Off - blending turned off

  • Add

  • Alpha

  • Darken

  • Lighten

  • Multiple

  • Normal

  • Screen

  • Linear burn

Culling modes

Geometry face culling options in the DeepAR Studio:

  • Off - no culling

  • Clockwise - default

  • Counterclockwise

Shader specific uniforms

Each material needs a shader assigned which defines how it will be rendered.


Shader Builder

The Shader builder panel allows the more advanced users who wish to use custom shaders to edit the shader uniforms, their types, their default values, and editability. You can also edit the types of your vertex attributes.

Shader Builder


Preview Toolbar

Preview Toolbar

Launch or stop the Preview app in the native macOS SDK (macOS only) or on the Web. This will allow you to view the changes you make on the project in real-time when needed, and not waste computer processing when the live preview is not needed.


Preview

Preview