> For the complete documentation index, see [llms.txt](https://doc.playturbo.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.playturbo.com/playturbo-case-study/playable-content-editor/painting-gameplay-cases/erase-component-blank-canvas-tutorial.md).

# Erase Component - Blank Canvas Tutorial

Please Note：This tutorial mainly explains **how to create interactive materials with the "erase gameplay" through Erase Component** in Blank Canvas. It is recommended to use it together with the [demo](https://tinyurl.com/4eu5ynu3) and [feature introduction document](/playable-tools-content-editor/content-editor-user-guide/component-and-quick-layout/erase-component.md)  for a better understanding!

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

* \[Difficulty]: ⭐⭐
* \[Applicable Products]: Erase gameplay
* \[Interaction]: Start Erasing/Reach a certain stage
* \[Freedom]: Fixed process
* \[Core Assets]: Image
* \[Features]: Reach a certain stage - Hide the mask layer

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

<table><thead><tr><th width="214.33333333333331">Best experience for playable on mobile devices</th><th width="234">Vertical screen</th><th>Horizontal screen</th></tr></thead><tbody><tr><td><img src="/files/XwjTqCWX2U0JsxYqKIwu" alt="" data-size="original"></td><td><img src="/files/8uSm5728Q4I2KSJ9P3xT" alt="" data-size="original"></td><td><img src="/files/OJ1XLw1F9jEDBbZbYLi9" alt="" data-size="original"></td></tr><tr><td>Scan to play</td><td><a href="https://tinyurl.com/4eu5ynu3">Click to play</a></td><td><a href="https://tinyurl.com/4eu5ynu3">Click to play</a></td></tr></tbody></table>

## <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, displaying the scene of "a girl being obscured," with the default animation of the girl playing as a sequence of images.
* Show the "operation guide" to instruct players to swipe and erase the mask.
* Allow players to freely swipe at the mask position, causing it to be instantly erased and revealing the girl's body.
* When 60% of the mask area is erased, the mask disappears, and the complete image of the girl along with a retry button appears.
* When the player presses the button, redirect him to the app store.&#x20;

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

## <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/8uSm5728Q4I2KSJ9P3xT" alt="" data-size="original"></td></tr><tr><td><strong>Scene Description</strong></td><td>Player can slide the mask anywhere to erase the mask to display the complete picture of the girl.</td></tr><tr><td><strong>Core Assets</strong></td><td><p><strong>Static Images:</strong> Mask (erase layer), operation guide, replay button</p><p><strong>Sequence frame:</strong> Background image of the girl.</p><p><strong>Audio-visual packaging:</strong> Love particle special effects, erasing sound effect, shy sound effect of the girl.</p></td></tr><tr><td><strong>Core Animations</strong></td><td><p>Operation guide: Displacement Easing</p><p>The girl zooms in and appears: Scale Easing+Displacement Easing</p></td></tr><tr><td><strong>Core Events</strong></td><td><p>Trigger Object: Erase Component</p><p>Trigger Event: Reach a certain stage</p><p>Response Event: Hide the mask layer</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 consists of **Step 2"Component Parameter Setting,"** and **Step 5"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 Scene**

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

2）Add permanent download button, logo and other product information under \[Global Scene], and adjust their position size.

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

2）Add the guiding hand, guiding text and background board, replay button, and sound effects to Scene 1.

3）Adjust the position and size of each asset accordingly and group, arrange, and name the assets based on their types.

4）In this case, since we only need one general scene, you can delete Scene 2.

<figure><img src="/files/6Mowf0IlkwQYqv5KgBpF" alt=""><figcaption></figcaption></figure>

### <mark style="color:red;">Step 2 - Component Parameter Setting</mark>

I. Click on the "Eraser Settings" button in the top right corner to access the Erase Component parameter editing panel.

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

II. Add the eraser ribbon image to the Mask layer and add the character sprite frames to the Bottom image layer. Adjust the assets to the appropriate position and size.

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

III. Next, adjust the "Eraser Stroke Settings" according to your needs. In this case, we select a circular brush with a size of 60\*60 and do not add the Image following fingers.

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

IV.Set up Event Judgment for the Mask layer.

1）Timing of Judgment: In this case, we want to dynamically detect the erasing progress, so we choose "Real-time judgment during erasure process" as the timing option.

2）Add Event Detection: In this case, we want to trigger a corresponding feedback when the erased area reaches 60%, so we set the detection area to the "erase\_mask" layer. Click on "New Stage" and set Stage 1 to 60%.

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

With the above steps completed, the basic parameters of Erase Component are now properly set up.

### Step 3 - Landscape & Portrait Orientation Adaptation

After completing the layout for portrait orientation, we need to adjust the "layout for landscape orientation" and the "screen adaptation for both landscape and portrait orientations."

#### I. Adjust the layout for landscape orientation.

1）Switch to landscape mode and select all the top-level layers (including the Erase Component layer).

2）Use the "Reuse vertical screen position configuration" function to automatically adjust the layout, and then fine-tune the position and scale of each layer appropriately to display the complete content related to the Erase Component.

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

3）Similarly, switch to the "Global Scene" and select the logo and permanent download button group. Use the "Reuse vertical screen position configuration" function to automatically adjust the layout, and then make minor adjustments to their position and size.

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

#### II. Adjust the screen adaptation.

1）In this case, we want the persistent information to be adapted by sticking to the top or bottom in portrait mode and aligning to the top left corner in landscape mode. Therefore, we adjust the screen adaptation separately for landscape and portrait orientations.

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

2）In Scene 1, we want the replay button group and guiding text group to always be at the bottom of the screen in landscape mode. So, we adjust their screen adaptation method to stick to the bottom. (Other layers can remain centered without adjustment.)

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

### Step 4 - Animation Setting

In this case, we use the following animations and particle effects:

* Animation for the girl sprite frames (Bottom image layer)
* Animation for the guiding hand
* Animation for the retry button group
* Particle effect for love particles

#### I. Girl sequence frame

1）Click on the girl sequence frame in the Bottom image layer of Erase Component.

2）In the popup panel, select "Animation."

3）Add scale and displacement animations in sequence to create a visual effect when the character is successfully revealed.

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

4）Set the parameters as follows:&#x20;

<div align="left"><figure><img src="/files/x3kxj2h266qZJvJg4kwh" alt="" width="563"><figcaption></figcaption></figure></div>

#### II. Guiding hand

1）Select the hand image \[gf\_hand] in the layer area.

2）Add Animation - Universal - Displacement Easing for position transition to create a guiding animation.Set the parameters as follows:&#x20;

<figure><img src="/files/88MMqxBv1x97SEJCMFL6" alt=""><figcaption></figcaption></figure>

#### III. Retry button group

1）Select the retry button group \[group\_retry\_btn].

2）Add Animation - Universal - Alpha Easing for a fade-in effect and Scale Easing animation to guide users to click the retry button.

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

3）Set the parameters as follows:&#x20;

<div align="left"><figure><img src="/files/mNE48VEfc4YTkrUll2iX" alt="" width="534"><figcaption></figcaption></figure></div>

#### IV. Love particles

1）Click on \[Asset Library] - \[Particle]

2）Select the love particle effect to enhance the atmosphere after revealing the girl's image.

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

3）Set the  love particle effect to "hidden" initially. We will control its display and playback through event later.

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

### <mark style="color:red;">Step 5 -</mark> <mark style="color:red;"></mark> <mark style="color:red;"></mark><mark style="color:red;">**Event**</mark> <mark style="color:red;"></mark><mark style="color:red;">Setting</mark> <a href="#lnpxj" id="lnpxj"></a>

The contents related to event settings in this case are as follows:

* Hide the operation guide and play the erasing sound effect when starting erasing.
* Pause the playback of the erasing sound effect when lifting the hand.
* When the erasing area reaches 60%, make the erase layer disappear and display/play relevant feedback.

Next, we will explain them in order.

#### <mark style="color:red;">I</mark><mark style="color:red;">**.**</mark> <mark style="color:red;"></mark><mark style="color:red;">Layer: Erase Component</mark>

1）Select the Erase Component, and click on "Add Event."Choose the trigger event as **"Start Erasing."**

Add the following response events in sequence:

* Hide guiding text group
* Hide guiding hand group
* Play the erasing sound effect from the beginning(Set the parameters for the sound effect to loop infinitely.)

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

2）Continue to "Add Event" and choose the trigger event as **"Lift Finger."**

Add the following response event:

* Pause the playback of the erasing sound effect.

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

3）Continue to "Add Event" and choose the trigger event as **"Reach a certain stage."**

* Note: Since the feedback is only triggered once the erasing area reaches the target, we check the option "Valid only once" for this event.
* Choose "Event Judgment 1" and then select "Stage 1: 60%".

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

Add the following response events in sequence:

* Hide the mask group
* Play all animations in the girl sequence frames group from the beginning
* Play all animations in the retry button group from the beginning
* Show and play the love particle effect
* Play the shy sound effect of the girl from the beginning(Set the parameters for the sound effect to disable infinite looping and disable other sound effects.)

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

#### <mark style="color:red;">II. Layer: Retry button group</mark>

1）Select the retry button group and click on "Add Event." Choose the trigger event as **"Press."**

2）Add the following response events in sequence:

* Redirect to app store
* Report the end of the playable ads

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

#### <mark style="color:red;">III. Layer: Permanent download button group</mark>

1）Select the permanent download button group and click on "Add Event." Choose the trigger event as **"Press."**

2）Add the following response event: Redirect to app store.

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

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

### Step 6 - 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/CAGNfuify7WrpzdCGFOL" 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/fdvJpC2itLZ7U6mmvSki" %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://doc.playturbo.com/playturbo-case-study/playable-content-editor/painting-gameplay-cases/erase-component-blank-canvas-tutorial.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
