# Interactive Videos\<Simulating Movement>Tutorial

Please Note：This tutorial mainly explains **how to achieve the effect of "simulating real-time player actions" through interactive videos**. It is recommended to try the DEMO for a better understanding!

## <mark style="color:blue;">1. Basic Info</mark> <a href="#h5pts" id="h5pts"></a>

* \[Difficulty]: ⭐⭐
* \[Applicable Products]: Universal (Especially for joystick gameplay products)
* \[Interaction]: Press/Lift up
* \[Freedom]: Fixed process
* \[Core Assets]: Video
* \[Features]: Press-Continue playing video / Lift up-Pause the video

## <mark style="color:blue;">2.Effect Preview</mark>

| Best experience for playable on mobile devices                      | Vertical screen                                                     | Horizontal screen                                                   |
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
| <img src="/files/bAhAqeaB6TPP3PXZJ7A3" alt="" data-size="original"> | <img src="/files/WrtYWznyT2XzvZpJj4Cx" alt="" data-size="original"> | <img src="/files/EpFhUAeoPdREdrI6rOFV" alt="" data-size="original"> |
| Scan to play                                                        | [Click to play](https://tinyurl.com/3tndebp6)                       | [Click to play](https://tinyurl.com/3tndebp6)                       |

## <mark style="color:blue;">3. Gameplay Overview</mark>

**Before starting the production, we need to outline the gameplay logic for this case：**

* Upon entering the trial, automatically play the "Siege Attack Video" <mark style="background-color:yellow;">(Initial Video 1)</mark>.
* After the video playback ends, display the "Operation Guide" to guide players to press continue and confront the zombies.
* When the player presses anywhere on the video, play the "Confronting Zombies Video" <mark style="background-color:yellow;">(Core Video 2)</mark> while displaying a loading progress bar.  Whenever the player releases the touch, pause the "Confronting Zombies Video," stop the progress bar loading, and show the "Operation Guide."
* After the video playback ends, automatically redirect to the store. Players can return from the store to continue the trial.
* When the player presses anywhere on the video, play the "Confronting Zombies Video" <mark style="background-color:yellow;">(Core Video 3)</mark> while displaying a loading progress bar. Whenever the player releases the touch, pause the "Confronting Zombies Video," stop the progress bar loading, and show the "Operation Guide."
* After the video playback ends, stop the progress bar loading, and display the "Operation Guide." When the player presses, redirect to the store.

<img src="/files/EpFhUAeoPdREdrI6rOFV" alt="" data-size="original">

## <mark style="color:blue;">4.Production Approach</mark>

**Core Concept:** Minimize the number of animations and events within each scene, maintain clear logic in scene segmentation, and keep the layer structure simple.

**Scene Segmentation:** Since the gameplay for this case is relatively simple, we only need one scene to create it.

<table><thead><tr><th width="208">Scene Name</th><th>Scene 1 - Core Gameplay</th></tr></thead><tbody><tr><td><strong>Visual Rendering</strong></td><td><img src="/files/WrtYWznyT2XzvZpJj4Cx" alt="" data-size="original"></td></tr><tr><td><strong>Scene Description</strong></td><td>When the player presses, the video plays, and when they release, the video pauses. This simulates real-time player interaction.</td></tr><tr><td><strong>Core Assets</strong></td><td><p><strong>Static Images:</strong> Operation Guide, Progress Bar </p><p><strong>Videos:</strong> Initial Video 1, Core Video 2, Core Video 3 </p><p><mark style="color:orange;">Note: In our DEMO for this case, there is a "forced redirect after 4 seconds of playing the core video" setting. For better understanding and production, we split the core video into two parts (Core Video 2 has a total duration of 4 seconds). If you don't need the mid-way forced redirect, you only need to prepare one core video segment.</mark></p></td></tr><tr><td><strong>Core Animations</strong></td><td><p>Operation Guide: Displacement Easing</p><p>Progress Bar: Scale Easing</p></td></tr><tr><td><strong>Core Events</strong></td><td><p>Trigger Object: Layer - Video</p><p>Trigger Event: Press / Lift up</p><p>Response Event: Continue playing video / Pause the video</p></td></tr></tbody></table>

## <mark style="color:blue;">5.</mark> <mark style="color:blue;"></mark><mark style="color:blue;">**Production Guidelines**</mark> <a href="#qh8tn" id="qh8tn"></a>

\*The core content is Step3 \[Event Setting]

### **Step 1 - Scene Setup** <a href="#znmfx" id="znmfx"></a>

It is recommended to upload all assets into the "Project Assets" after creating the project for easier access and usage in the future.

#### &#x49;**. Global Settings**

Add BGM and Background Image in the "Global Settings" section.

#### I&#x49;**. Scene 1**

1）Add the required videos and images to Scene 1.&#x20;

<mark style="color:red;">Tips: You can directly obtain the assets related to the "Progress Bar" and "Operation Guide" from the "Presets Library"!</mark>

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

2）Adjust the position and size of each asset accordingly.

3）Group, arrange, and name the assets based on their types.

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

4）Set the core video (Core Video 2 + Core Video 3) to the "hidden" state, and turn off \[Autoplay], because we need to control the display and playback of the video through events later.

<div align="left"><figure><img src="/files/yHIQT9tCFBkOOhdNJtfQ" alt=""><figcaption></figcaption></figure></div>

5）Adjust landscape layout: Select all the top-level layers and use the "Reuse vertical screen position configuration" function to layout them with a single click. Then, adjust the position and scale as needed.

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

6）Adjust Screen adaptation: In this case, we want the product information in portrait mode to always be at the bottom of the screen. To achieve this, select the corresponding layer and click the downward arrow icon in the "Screen adaptation" section on the right side  (other layers are set to default center alignment and do not require adjustment).

<figure><img src="/files/0yRjfid3DUsq98E1WRIp" alt=""><figcaption></figcaption></figure>

### Step 2 - Animation Setting <a href="#dcm38" id="dcm38"></a>

In this case, the assets that need animation settings are: guiding finger, guiding text, progress bar (optional), and role (optional).&#x20;

<mark style="color:red;">Tips: If you use presets, you don't need to set up animations by yourself!</mark>

#### &#x49;**.** Guiding finger

1）Select the finger picture \[gf\_hand], Add Animation - Universal - Displacement Easing, and set the parameters as follows (finger horizontal movement animation):

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

2）Select the finger group \[gf\_1], Add Animation - Universal - Displacement Easing, and set the parameters as follows (finger vertical movement animation):

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

#### I&#x49;**.** Guiding text

Select the guiding text \[tguidelines], Add Animation - Emphasize - SlideY, and set the parameters as follows (After setting up, you can hide the entire guidelines group and control it later through events):

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

#### II&#x49;**. P**rogress bar (optional)

1）Select the progress bar image \[progress\_bar] and modify its "Pivot" to (0, 50). Uncheck the "Separate Setting" option.&#x20;

Note: The progress bar image should be aligned to the left and right edges without any gaps.&#x20;

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

2）Add Animation - Universal - Scale Easing, and set the parameters as follows:

Note: The "Duration" here represents the total time needed for the progress bar to reach the end. In this case, we have set it so that "when the progress bar is almost fully loaded, the player cannot interact." This means that when all the videos finish playing, the progress bar needs to have a remaining portion before reaching the end. Therefore, the "Duration" of the progress bar should be greater than the total duration of all the videos combined. The total duration of the three video segments in this case is around 8.7 seconds, so you can set the "Duration" of the progress bar to 10 seconds or longer.

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

#### I&#x56;**. Role** (optional)

1）Select the role image \[role\_1] and modify its "Pivot" to (50, 100).  Uncheck the "Separate Setting" option.&#x20;

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

2）Add Animation - Universal - Scale Easing, and set the parameters as follows (After setting up, you can hide the role layer and control it later through events):

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

### Step 3 - **Event** Setting <a href="#lnpxj" id="lnpxj"></a>

All the events in this case are centralized on three video layers and Scene 1. We will explain them in the order of operation.

#### <mark style="color:red;">I</mark><mark style="color:red;">**.**</mark> <mark style="color:red;"></mark><mark style="color:red;">Layer: video\_01 (Initial Video 1)</mark>

1）Select the layer \[video\_01] , Add Event - Starting time.

* Add response event: Play the progress bar animation from the beginning.

<div align="left"><figure><img src="/files/iLDTP5U4PGimSRppUfTl" alt=""><figcaption></figcaption></figure></div>

2）Add Event - Ending time.

* Add response event: Hide Initial Video 1; Show Core Video 2, role image, and guidelines group.
* Add response event: Play all guide-related animations from the beginning; Pause the progress bar animation simultaneously.

<div align="left"><figure><img src="/files/cVjKaWvi8SpnYd0fX0oT" alt=""><figcaption></figcaption></figure></div>

#### <mark style="color:red;">II</mark><mark style="color:red;">**.**</mark> <mark style="color:red;"></mark><mark style="color:red;">Layer: video\_02 (Core Video 2)</mark>

1）Select the layer \[video\_02] , Add Event - Press.

* Add response event: Set Tracking Event, and modify its name to "Pressing the screen for the first time."
* Add response event: Hide the role image and hide the guidelines group.
* Add response event: Continue playing Core Video 2; and continue playing progress bar animation and a click sound effect.&#x20;

<div align="left"><figure><img src="/files/SeZSJ2wfsqIu59Ep0Q4x" alt=""><figcaption></figcaption></figure></div>

2\) Add Event - Lift up.

* Add response event: Pause the playback of Core Video 2.
* Add response event: Show the guidelines group; Play the guide-related animations from the beginning; Simultaneously pause the progress bar animation.&#x20;

<div align="left"><figure><img src="/files/cyuaAMfKIaoeGSNyxjoq" alt=""><figcaption></figcaption></figure></div>

3\) Copy event: Copy the "Ending time" event of \[video\_01].&#x20;

<div align="left"><figure><img src="/files/qnfayN8UXv2nSzKzL3Jl" alt=""><figcaption></figcaption></figure></div>

Paste event: Select \[video\_02], Paste - Paste layer events only.&#x20;

<div align="left"><figure><img src="/files/3LI61SNd0HfTOtkXsKub" alt=""><figcaption></figcaption></figure></div>

* Modify response event: Hide Core Video 2; Show Core Video 3; and remove showing the role image.
* Add response event:  Redirect to app store (This step is the previously mentioned "forced redirect").

<div align="left"><figure><img src="/files/TSVO4LemVl3YdkHX0Ljn" alt=""><figcaption></figcaption></figure></div>

#### <mark style="color:red;">III. Layer: video\_03 (Core Video 3)</mark>

1）Copy event: Copy the entire layer \[video\_02].

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

2）Paste event: Select \[video\_03], Paste - Paste layer events only (i.e., paste all events of this layer with a single click).

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

3）Event - Press

* Modify response event: Continue playing video \[video\_03]; Delete the tracking event; Delete hiding the role image.

<div align="left"><figure><img src="/files/y7zGfYxM947K4YFrXCYZ" alt=""><figcaption></figcaption></figure></div>

4）Event - Lift up

* Modify response event: Pause the playback of video \[video\_03].

<div align="left"><figure><img src="/files/39L6NGC8ttu9HZC1TkJj" alt=""><figcaption></figcaption></figure></div>

5）Event - Ending time

* Delete response event: Delete hiding video \[video\_02], showing video \[video\_03], and redirecting to app store.&#x20;
* Add response event: Disable the press event of \[video\_03]; Disable the lift up event of \[video\_03] (after setting up the scene events for the next step, you need to add a response event here to "enable the press event of Scene 1").&#x20;

<mark style="background-color:yellow;">Note: This means that when the last video finishes playing, the press/ lift up events of that video will no longer take effect, and the press event (i.e., the redirect event) of Scene 1 will start to take effect.</mark>

<div align="left"><figure><img src="/files/iHcmNGggOJdrYH2EQjZ4" alt=""><figcaption></figcaption></figure></div>

#### <mark style="color:red;">IV. Scene: Scene 1</mark>

1）Click on Scene 1 and Add Event - Press.

* Add response event: Redirect to app store
* Add response event: Report the end of the playable ads
* Add response event: Play the click sound effect.&#x20;

<div align="left"><figure><img src="/files/xQ3vKcrYJ4BD9PTqwbER" alt=""><figcaption></figcaption></figure></div>

2\) Add Event - Timing trigger.

* Set the execution delay time to 0s.
* Add response event: Disable the press event of Scene 1.

<mark style="background-color:yellow;">Note: This means that when entering the trial, the press event (i.e., redirect event) of Scene 1 is disabled and will not take effect. Then, we add the response event "Enable the press event of Scene 1" under the "Ending time" event of Core Video 3.</mark>&#x20;

<div align="left"><figure><img src="/files/RAwzMb9UYdV8FilRHbq9" alt=""><figcaption></figcaption></figure></div>

These are all the events used in this case. With the completion of all event settings, our material is completed.

### Step 4 - Overall Preview <a href="#q96z9" id="q96z9"></a>

1）It is advisable to preview your work promptly after completing each step in the creation process to check if the settings are correct.

2）Once everything is completed, it is recommended to perform an overall preview on different devices, languages, and orientations to ensure everything is working correctly.

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

## <mark style="color:blue;">6.Assets Provision</mark>

At the end of the tutorial, we have **provided all the assets used in this case** for you. Click on the compressed file to download it.&#x20;

You can use these assets to follow the tutorial and try to make it, so that you can start using the Content editor to make such materials as soon as possible.

{% file src="/files/zHrWIAL6972npkYySVp8" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.playturbo.com/playturbo-case-study/playable-content-editor/general-gameplay-cases/simple-tutorial-blank-canvas-tutorial/interactive-videos-less-than-simulating-movement-greater-than-tutorial.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
