roop Endless 3D Random Space AE Script Header Image

roop Manual

roop is an AE script that automatically constructs endless 3D random spaces with a single click.
In addition to its seamless looping capabilities, it features over 40 powerful tools, including camera viewpoint movement functions to streamline your 3D editing.
With more than 20 animation parameters and nearly 40 global script settings, you can flexibly customize every behavior to achieve highly efficient 3D workflows.

Setup

Using Aescripts + AEPlugins Manager

Using Aescripts + AEPlugins Manager makes installation and license management easy.

To install a trial, select ‘Add Trial’ from the ‘Account’ menu.

aescripts + aeplugins manager : https://aescripts.com/learn/aescripts-aeplugins-manager-app/

If Not Using Aescripts + AEPlugins Manager

  1. Extract the downloaded file, roop_v[version number].zip.
  2. Open the extracted folder, roop_v[version number].
  3. Move the following two files (jsxbin, txt) to the ScriptUI folder.
  • roop.jsxbin
  • roop_README.txt
ScriptUI Folder Location

Windows:Program Files\Adobe\Adobe After Effects <version>\Support Files\Scripts\ScriptUI Panels
macOS:Applications/Adobe After Effects <version>/Scripts/ScriptUI Panels

Launch

  1. Select “roop.jsxbin” from the “Window” menu to launch.
  2. If a script alert appears, follow the instructions and change the following settings.

To enable roop, go to Preferences – Scripts & Expressions and check the box for “Allow Scripts to Write Files and Access Network.”

  1. If the license key input screen appears, enter the license key and press OK.
  • If you are using the trial version, leave it as “trial” and press OK.
  • If “roop.jsxbin” does not appear in the Window menu, check if roop.jsxbin is inside the ScriptUI Panels folder.

Quick Start: Let’s Generate a 3D Space!

In this section, we will generate a 3D space using a placeholder layer.

  1. Create a composition.
  2. Click the [Create Placeholder Layer (16:9)] button, located second from the left in the “Layer” functional group.
  3. Select the layer created in step 2 and click the [Apply Space Loop] button on the far left of the “Loop” functional group.
  4. Select the layer named “Space_…” and duplicate it about 10 times.
  5. Play the timeline.

That’s it! Camera animation is applied automatically, so you can see the infinite 3D space in motion just by playing the preview.
While we used a placeholder layer for this quick start, roop supports various layer types, including images, text layers, shape layers, and pre-compositions.
When using placeholders, you can easily swap them for images later by replacing the placeholder inside the pre-composition.

Main Features

roop Main UI Vertical
roop Main UI Horizontal

roop is designed so that all functions can be executed with a single click.
The layout also automatically adjusts to the window size.
The functions are explained in the order they appear from the top of the startup screen.

Options (Header)

Opens various option windows.

roop Setting Icon
Open Settings Window

Displays the settings window. You can change various script-related settings.

Long PressNone
roop Log Icon
Open Log Window

Displays the log of execution results. If an operation fails, the reason will be displayed here.

Long PressNone
roop Help Icon
Open Help Window

Displays the help window.

Long PressNone

Layer

Creates various layers.

roop Camera_layer Icon
Create Camera Layer

Creates a camera layer.

Long PressNone
roop Placeholder_layer_16_9 Icon
Create Placeholder Layer (16:9)

Creates a placeholder layer (Aspect Ratio: 16:9).

Long PressCreates a placeholder layer (Aspect Ratio: 9:16).
roop Placeholder_layer_1_1 Icon
Create Placeholder Layer (1:1)

Creates a placeholder layer (Aspect Ratio: 1:1).

Long PressNone
roop Placeholder_layer_4_3 Icon
Create Placeholder Layer (4:3)

Creates a placeholder layer (Aspect Ratio: 4:3).

Long PressCreates a placeholder layer (Aspect Ratio: 3:4).
roop Background_layer Icon
Create Background Layer

Creates a background layer for the 3D space.

Long PressNone
roop Vignette_layer Icon
Create Vignette Layer

Creates an overlay layer to add a vignette effect.

Long PressNone
roop Direction_guide_layer Icon
Create Direction Guide Layer

Creates a guide layer that indicates the camera’s rotation status.

Long PressNone
roop Base_range_guide_layer Icon
Create Base Range Guide Layer

Creates a guide layer showing the initial range for loop display.

Long PressCreates a guide layer showing the current display range.
TIPS
  • Direction Guide Layer / Base Range Guide Layer / Display Guide Layer are typically not included in the final rendering. You can include them in your render by disabling their “Guide Layer” status.

Camera Tools

Adds animations to the camera or moves the viewpoint.

roop Z_move Icon
Apply Z+ Move

Adds keyframes to move the camera in the Z+ direction.

Long PressAdds keyframes to move the camera in the Z- direction.
roop Y_move Icon
Apply Y+ Move

Adds keyframes to move the camera in the Y+ direction.

Long PressAdds keyframes to move the camera in the Y- direction.
roop X_move Icon
Apply X+ Move

Adds keyframes to move the camera in the X+ direction.

Long PressAdds keyframes to move the camera in the X- direction.
roop Shake Icon
Apply Shake

Adds camera shake by applying wiggle to the orientation property.

Long PressRemoves the camera shake.
roop Go_to_floor_view Icon
Go to Floor View

Moves the camera position to the floor viewpoint (Y position).

Long PressMoves the camera position to the space viewpoint (Y position).
roop Go_to_ceiling_view Icon
Go to Ceiling View

Moves the camera position to the ceiling viewpoint (Y position).

Long PressMoves the camera position to the space viewpoint (Y position).
roop Go_to_left_wall_view Icon
Go to Left Wall View

Moves the camera position to the left wall viewpoint (X position).

Long PressMoves the camera position to the space viewpoint (X position).
roop Go_to_right_wall_view Icon
Go to Right Wall View

Moves the camera position to the right wall viewpoint (X position).

Long PressMoves the camera position to the space viewpoint (X position).
TIPS
  • The ‘Go to … View’ functions update the values of both the Position and Point of Interest (POI) to the specified viewpoint (e.g., for Floor View, only the Y-value is modified). If no keyframes are selected, all existing values are updated.
  • If Position keyframes are selected, the functions modify only the values of those specific keyframes. In this case, the Point of Interest (POI) is not modified to protect your framing.

Surface Layer

Creates surface layers such as floors. By default, these are also automatically created when using Once or Loop functions.

roop Floor_layer Icon
Create Floor Layer (Virtual 3D)

Creates a floor layer (Virtual 3D).

Long PressNone
roop Ceiling_layer Icon
Create Ceiling Layer (Virtual 3D)

Creates a ceiling layer (Virtual 3D).

Long PressNone
roop Left_wall_layer Icon
Create Left Wall Layer (Virtual 3D)

Creates a left wall layer (Virtual 3D).

Long PressNone
roop Right_wall_layer Icon
Create Right Wall Layer (Virtual 3D)

Creates a right wall layer (Virtual 3D).

Long PressNone

Once

Applies the “Once” function, which displays the layer only once. When applied, the same fade behavior as the loop function is added, and various roop features become available for the layer. Use this for layers you want to display only once, such as a final destination point.

roop Space_once Icon
Apply Space Once

Applies the Space Once function to the selected layer.

Long PressNone
roop Floor_once Icon
Apply Floor Once

Applies the Floor Once function to the selected layer.

Long PressNone
roop Ceiling_once Icon
Apply Ceiling Once

Applies the Ceiling Once function to the selected layer.

Long PressNone
roop Left_wall_once Icon
Apply Left Wall Once

Applies the Left Wall Once function to the selected layer.

Long PressNone
roop Right_wall_once Icon
Apply Right Wall Once

Applies the Right Wall Once function to the selected layer.

Long PressNone

Loop

Applies the “Loop” function, which displays the layer infinitely. When applied, the layer will loop within the range of the Display Guide Layer (the “DisplayRange” parameter of the Control layer). To disable the random function regardless of the Control layer settings, you can long-press to “Force Random Off.”

roop Space_loop Icon
Apply Space Loop

Applies the Space Loop function to the selected layer.

Long PressApplies the Space Loop function (Force Random OFF) to the selected layer.
roop Floor_loop Icon
Apply Floor Loop

Applies the Floor Loop function to the selected layer.

Long PressApplies the Floor Loop function (Force Random OFF) to the selected layer.
roop Ceiling_loop Icon
Apply Ceiling Loop

Applies the Ceiling Loop function to the selected layer.

Long PressApplies the Ceiling Loop function (Force Random OFF) to the selected layer.
roop Left_wall_loop Icon
Apply Left Wall Loop

Applies the Left Wall Loop function to the selected layer.

Long PressApplies the Left Wall Loop function (Force Random OFF) to the selected layer.
roop Right_wall_loop Icon
Apply Right Wall Loop

選択レイヤーに右壁ループ機能を適用します。

Long PressApplies the Right Wall Loop function (Force Random OFF) to the selected layer.
TIPS
  • Selecting a layer and executing the Once or Loop function will pre-compose it. For Floor, Ceiling, Left Wall, or Right Wall types, a reflection effect is added within the pre-composition, and the center of that pre-composition serves as the surface position.
  • The alignment point of the layer is the bottom edge for Floor, top edge for Ceiling, left edge for Left Wall, and right edge for Right Wall. Therefore, when using cropped images, removing any margins on the contact edge in advance will eliminate the need for further adjustments.
  • If Once or Loop functions are executed when no camera layer exists, both the camera position and Point of Interest (POI) are automatically aligned to the surface (e.g., floor). Once created, you can freely adjust the camera position using the “Go to … View” functions.
  • The Once / Loop functions can be applied to Shape, Text, Solid, Pre-composition, and Footage (Still images/Video) layers.
  • Pre-compositions generated by applying the Once / Loop functions can be freely reused within your project. When reused, roop is designed to avoid redundant pre-composition, ensuring that project resources remain optimized.

Behavior Settings

When you apply Once or Loop functions, a control layer named “Control_Roop” is automatically created.
You can change the behavior settings of roop by adjusting the expression control effect values on this Control layer. In addition to the global settings on the Control layer, individual adjustments such as position can be made on the Applied Once/Loop layers (the layers after functions are applied).

Control Layer

roop Control 1
roop Control 2
DisplayRange

Specifies the world coordinate range for displaying layers, centered on the camera. For example, if set to [4000, 2000, 30000], layers will be displayed within a range of 4000 on the X-axis, 2000 on the Y-axis, and 30000 on the Z-axis. When a layer moves outside this range, it will wrap around and reappear from the opposite side.

PassFadeDistance

Specifies the distance for the pass fade. As a layer passes the camera, the fade process occurs over this distance.

PassFadeMode

Specifies the pass fade mode. (Opacity & Scale / Opacity / Scale)

BehindFadeDistance

Specifies the distance for the behind fade. As a layer appears from behind the camera, the fade process occurs over this distance.

BehindFadeMode

Specifies the behind fade mode. (Opacity & Scale / Opacity / Scale)

PanFadeDistance

Specifies the distance for the pan fade. This fade occurs as the camera moves and layers cross the boundaries of the display range.

PanFadeMode

Specifies the pan fade mode. (Opacity & Scale / Opacity / Scale)

SwitchFadeAngle

Specifies the fade angle when the display range switches. This fade occurs when the display range changes due to a significant shift in camera orientation.

SwitchFadeMode

Specifies the switch fade mode. (Opacity & Scale / Opacity / Scale)

LoopDirection

Specifies the axis for looping. When the camera moves along the specified axis, layers will loop. Selecting “Multi-axis” enables looping in all available directions (e.g., for a Floor Loop, it loops in all directions except the Y-axis). Selecting a single axis like “X-axis” limits looping to that specific direction.

RandomMode

Specifies the randomization axis. Each time a layer reappears as the camera moves along the specified axis, its position on the other axes (e.g., X and Y positions if “Z-axis” is set) changes randomly within the DisplayRange. Selecting “Off” disables randomization.

LookAtCamera

Sets whether layers automatically face the camera at all times. (ON / OFF)

Scale

Sets the scale for Loop/Once layers. Changing this value collectively updates the scale of all Loop/Once layers. The default of 100% represents the original size.

Scale_VariationPercentage

Sets the range for random scale variation. For example, at 10%, the scale varies randomly between 90% and 110%.

SeedOffset

Changes the seed value. Adjusting this value changes the random patterns for position, scale, etc.

AvoidTarget

Creates a tunnel-like space around the specified layer. Only layers with Once or Loop functions applied are affected.

AvoidSize

Specifies the diameter of the cleared space. Larger values push surrounding layers further away.

AvailableOnly when AvoidTarget is selected
AvoidDirection

Specifies the direction of the cleared space. For example, selecting the Z-axis creates a tunnel along that axis.

AvailableOnly when AvoidTarget is selected
FloorOffset

Specifies the offset for the floor position. The floor is created at the specified offset distance below the bottom of the DisplayRange, allowing you to adjust the distance from Space Loop/Once layers.

CeilingOffset

Specifies the offset for the ceiling position. The ceiling is created at the specified offset distance above the top of the DisplayRange, allowing you to adjust the distance from Space Loop/Once layers.

LeftWallOffset

Specifies the offset for the left wall position. The wall is created at the specified offset distance to the left of the DisplayRange edge, allowing you to adjust the distance from Space Loop/Once layers.

RightWallOffset

Specifies the offset for the right wall position. The wall is created at the specified offset distance to the right of the DisplayRange edge, allowing you to adjust the distance from Space Loop/Once layers.

Applied Once/Loop layers

LocalSeedOffset

Unique additional seed value for the local layer.

AvailableOnly for Loop
RandomPositionOffset

Adjusts the random position by adding an offset value.

AvailableOnly for Loop
RandomOffPosition

Sets the position when RandomMode is set to OFF.

AvailableOnly for Loop
Position

Sets the layer’s position.

AvailableOnly for Loop (Force Random OFF) & Once
Scale

Sets the individual scale for the layer. Use this to adjust size independently of the global Control layer settings.

Opacity

Sets the individual opacity for the layer. Use this to adjust opacity independently of the various fade behaviors.

AvoidAllow

Toggles whether the layer is affected by the Avoid function (which creates a tunnel-like clear space). Set this to OFF for layers that you do not want to be moved.

PassFadeEnable

Toggles the fade behavior when passing the camera. If you want to disable opacity changes near the camera—for example, when moving the camera starting from a position where layers are already nearby—set this to OFF.

AvailableOnly for Once

Reflection Settings

When you execute Once or Loop functions for Floor, Ceiling, Left Wall, or Right Wall, reflection effects are automatically added within the pre-composition.
You can customize the reflection effects (using standard effects) with the following parameters:

ReflectionBlurAmount

Sets the blur amount for the reflected area.

ReflectionOpacity

Sets the opacity (0–100) for the reflected area.

ReflectionBrightness

Sets the brightness (-100–0) for the reflected area.

ShiftX

Sets the amount of image shift in the X direction.

AvailableExcept for Text/Shape layers
ShiftY

Sets the amount of image shift in the Y direction.

AvailableExcept for Text/Shape layers

Other Layer Settings

For the following layers, you can easily change colors and other properties by adjusting the values of the Expression Control effects applied to them.

Background Layer

Color

Changes the background color.

Direction Guide Layer

Scale

Changes the scale.

StrokeWidth

Changes the stroke width.

ColorX

Changes the line color of the X-vector.

ColorY

Changes the line color of the Y-vector.

ColorZ

Changes the line color of the Z-vector.

Base Range Guide Layer

Color

Changes the line color.

Display Guide Layer

Color

Changes the line color.

Surface Layer

Color

Changes the surface color.

Script Settings

The following settings can be customized from the settings screen.

General Tab

roop Setting UI General

Display Settings

Language Setting

Switches the language for displayed text and created items.

Icon Type

Switches the icon style. White icons are used for the Dark Theme, and black icons are used for the Light Theme.

Layout Switching

Switches the layout between Automatic and Fixed. When set to Automatic, the layout switches automatically according to the window size.

Header Position

Switches the header display position between Start and End.

Header Logo

Switches whether to display the logo in the header.

Function Display Settings

Toggles the visibility of each feature group.

Operation Settings

Long-Press Duration (ms)

Sets the press-and-hold duration for buttons with hold functionality. The duration can be set within a range of 100ms to 1000ms.

Layer Tab

roop Setting UI Layer

Placeholder Layer Settings

Long Edge Size (px)

Sets the long edge size (px) of the placeholder layer. The short edge size is automatically calculated based on this value.

Scale (%)

Sets the scale of the placeholder layer. Use this setting when you want to minimize the size change when importing an asset with a higher resolution than the placeholder. For example, setting the scale to 50% allows the asset to be displayed at half the size specified by the Long Edge Size.

Placeholder Folder Name

Sets the name of the folder in the Project Panel where the placeholders will be stored. This folder is created at the same hierarchical level as the active composition.

Background Layer Settings

Background Color (RGB)

Sets the color of the background layer in RGB.

Vignette Layer Settings

Opacity (%)

Sets the opacity of the vignette layer. This layer provides a light source and vignette effect to the underlying layers.

Camera Tools Tab

roop Setting UI Camera Tools

Behavior Settings

Unselected Camera Behavior

Apply to active camera when no camera layer is selected.

Camera Tools Settings

Z Move Speed (px/s)

Sets the speed (px/s) for the camera’s move animation along the Z axis. This value is used for both Z+ and Z- movements.

Y Move Speed (px/s)

Sets the speed (px/s) for the camera’s move animation along the Y axis. This value is used for both Y+ and Y- movements.

X Move Speed (px/s)

Sets the speed (px/s) for the camera’s move animation along the X axis. This value is used for both X+ and X- movements.

Shake Amount (deg)

Sets the maximum angular amplitude of the camera shake applied to the camera’s orientation properties. A higher value results in greater camera shaking.

Shake Frequency (Hz)

Sets the frequency of camera shake (number of fluctuations per second). Larger values result in faster shake movement.

Auto Add Settings

Auto Add (Z+ Fix Point Of Interest / Z+ Move / Shake)

Sets whether to apply various functions when a camera is automatically generated. Note: This does not apply to cameras created via the “Create Camera Layer” button.

Surface Layer Tab

roop Setting UI Surface Layer

Surface Layer Settings

Surface Color (RGB)

Sets the color of the surface layer using RGB values.

Opacity (%)

Sets the opacity of the surface layer.

Once / Loop Tab

roop Setting UI Once Loop

Auto Creation Settings

Auto Creation

Automatically creates various layers when executing Once or Loop functions.

Reflection Settings

Reflection Type

Select the Reflection Type. To disable reflections, select ‘None’. To enable, select ‘roop Custom Reflection (Using Built-in Effects)’.

Blur Amount

Sets the Blur Amount for the reflection. Setting this to 0 will result in a sharp reflection without any blur.

Opacity (%)

Sets the opacity of the reflection. This can be specified in the range of 0 to 100.

Brightness (%)

Sets the brightness of the reflection. Can be specified from -100 to 0, and is used to darken the reflection.

Precompose Settings

Pre-compose Folder Name

Sets the name of the folder in the Project Panel that stores the pre-compose compositions generated when running the Once or Loop functions. This folder is created at the same hierarchical level as the active composition.

[IMPORTANT] About After Effects Constraints

For hints and tips on how to address After Effects limitations, please see below:

Continuous 3D Space Detection

In the Timeline panel, if a 2D layer is placed between 3D layers (including Camera and Light layers), they are not processed as a single continuous 3D space. This is a native After Effects specification. Therefore, when roop functions detect this case during execution, they automatically adjust the layer order to ensure a continuous 3D space.

In addition to the automatic movement mentioned above, Virtual 3D surface layers are also automatically adjusted to be positioned below the 3D layer group to ensure the correct stacking order is maintained.

Issues with 3D Layer Render Order

In After Effects, if 3D layers intersect even slightly, the rendering order may be reversed based on their distance from the camera, regardless of their actual stack order.


Please ensure that layers do not intersect in 3D space when rotating them.
roop mitigates this by using pseudo-3D for the surface layers (Floor, Ceiling, Left Wall, and Right Wall) to prevent such intersections.
However, in very rare cases, enabling the LookAtCamera feature may cause layers to rotate and intersect with each other.
If you encounter issues with the layer order, please try the following:

  • Disable ‘LookAtCamera’: You can find this setting on the Control_Roop layer.
  • If you have rotated a 3D layer, adjust it to ensure it does not intersect with other layers.

Rendering Errors Due to Overload

When using motion blur with a large number of 3D layers and fast camera movements, high processing loads may lead to temporary expression errors or rendering failures (such as visual glitches in specific frames).
In such cases, the following steps may reduce the load and ensure a successful render:

  • Switch the Expression Engine to ‘JavaScript’: (File > Project Settings > Expressions)
  • Lower the ‘Samples per Frame’ and ‘Maximum Adaptive Samples’: (Composition Settings > Advanced)
  • Reduce the number of 3D layers.
  • Avoid fast camera movements or rotations.
  • Disable Motion Blur.

タイトルとURLをコピーしました